|
3 | 3 |
|
4 | 4 | Used for running standard library python modules such as:
|
5 | 5 | SimpleHTTPServer, unittest and .py files.
|
6 |
| --b will run the module/file in the background |
7 | 6 |
|
| 7 | +Can also be used to run a script in the background, such as a server, with the bash character & at the end. |
8 | 8 | usage:
|
9 |
| - python -m [-b] module_name [args] |
10 |
| - python [-b] python_file.py [args] |
| 9 | + python -m module_name [args] |
| 10 | + python python_file.py [args] |
11 | 11 | '''
|
12 | 12 |
|
13 | 13 | import runpy
|
14 | 14 | import sys
|
15 |
| -import threading |
16 | 15 | import ui
|
17 |
| -import argparse |
18 |
| - |
19 |
| - |
20 |
| -class ModuleThread(threading.Thread): |
21 |
| - |
22 |
| - def __init__(self,module,name): |
23 |
| - self.is_module = module |
24 |
| - self.module_name = name |
25 |
| - threading.Thread.__init__(self) |
26 |
| - @ui.in_background |
27 |
| - def run(self): |
28 |
| - try: |
29 |
| - if self.is_module: |
30 |
| - |
31 |
| - runpy.run_module(self.module_name, run_name='__main__') |
32 |
| - else: |
33 |
| - runpy.run_path(self.module_name, run_name='__main__') |
34 |
| - except Exception, e: |
35 |
| - print e |
36 |
| - |
| 16 | +import argparse |
37 | 17 |
|
38 | 18 | ap = argparse.ArgumentParser()
|
39 | 19 | ap.add_argument('-m', '--module', action='store_true', default=False, help='run module')
|
40 |
| -ap.add_argument('-b', '--background', action='store_true', default=False, help='run as background thread') |
41 | 20 | ap.add_argument('name', help='file or module name')
|
42 | 21 | ap.add_argument('args_to_pass', nargs=argparse.REMAINDER, help='args to pass')
|
43 | 22 | args = ap.parse_args()
|
44 | 23 |
|
45 |
| -run_as_thread = args.background |
46 |
| -run_as_module = args.module |
47 | 24 | module_name = str(args.name)
|
48 | 25 |
|
49 | 26 | sys.argv = [sys.argv[0]] + args.args_to_pass
|
50 | 27 |
|
51 |
| -if run_as_module: |
| 28 | +if args.module: |
52 | 29 | try:
|
53 |
| - #os.chdir('../..') |
54 |
| - if run_as_thread: |
55 |
| - ModuleThread(True,module_name).start() |
56 |
| - else: |
57 |
| - runpy.run_module(module_name, run_name='__main__') |
| 30 | + runpy.run_module(module_name, run_name='__main__') |
58 | 31 | except ImportError, e:
|
59 | 32 | print 'ImportError: '+str(e)
|
60 | 33 | else:
|
61 | 34 | try:
|
62 |
| - if run_as_thread: |
63 |
| - ModuleThread(False,module_name).start() |
64 |
| - else: |
65 |
| - runpy.run_path(module_name, run_name='__main__') |
| 35 | + runpy.run_path(module_name, run_name='__main__') |
66 | 36 | except Exception, e:
|
67 | 37 | print 'Error: '+ str(e)
|
0 commit comments