summaryrefslogtreecommitdiff
path: root/plac/plac_runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'plac/plac_runner.py')
-rw-r--r--plac/plac_runner.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/plac/plac_runner.py b/plac/plac_runner.py
deleted file mode 100644
index 2fdfc6d..0000000
--- a/plac/plac_runner.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!python
-from __future__ import with_statement
-import os, sys, shlex
-import plac
-
-def run(fnames, cmd, verbose):
- "Run batch scripts and tests"
- for fname in fnames:
- with open(fname) as f:
- lines = list(f)
- if not lines[0].startswith('#!'):
- sys.exit('Missing or incorrect shebang line!')
- firstline = lines[0][2:] # strip the shebang
- init_args = shlex.split(firstline)
- tool = plac.import_main(*init_args)
- command = getattr(plac.Interpreter(tool), cmd) # doctest or execute
- if verbose:
- sys.stdout.write('Running %s with %s' % (fname, firstline))
- command(lines[1:], verbose=verbose)
-
-@plac.annotations(
- verbose=('verbose mode', 'flag', 'v'),
- interactive=('run plac tool in interactive mode', 'flag', 'i'),
- multiline=('run plac tool in multiline mode', 'flag', 'm'),
- serve=('run plac server', 'option', 's', int),
- batch=('run plac batch files', 'flag', 'b'),
- test=('run plac test files', 'flag', 't'),
- fname='script to run (.py or .plac or .placet)',
- extra='additional arguments',
- )
-def main(verbose, interactive, multiline, serve, batch, test, fname=None,
- *extra):
- "Runner for plac tools, plac batch files and plac tests"
- baseparser = plac.parser_from(main)
- if fname is None:
- baseparser.print_help()
- elif sys.argv[1] == fname: # script mode
- plactool = plac.import_main(
- fname, prog=os.path.basename(sys.argv[0]) + ' ' + fname)
- out = plac.call(plactool, sys.argv[2:], eager=False)
- if plac.iterable(out):
- for output in out:
- print(output)
- else:
- print(out)
- elif interactive or multiline or serve:
- plactool = plac.import_main(fname, *extra, **{'prog': ''})
- i = plac.Interpreter(plactool)
- if interactive:
- i.interact(verbose=verbose)
- elif multiline:
- i.multiline(verbose=verbose)
- elif serve:
- i.start_server(serve)
- elif batch:
- run((fname,) + extra, 'execute', verbose)
- elif test:
- run((fname,) + extra, 'doctest', verbose)
- print('run %s plac test(s)' % (len(extra) + 1))
- else:
- baseparser.print_usage()
-main.add_help = False
-
-if __name__ == '__main__':
- plac.call(main)