11 | 11 |
|
12 | 12 |
sys.path.insert(0, join(dirname(realpath(sys.argv[0])), '..', 'src'))
|
13 | 13 |
|
|
14 |
from argparse import ArgumentParser
|
14 | 15 |
import codecs
|
15 | |
from optparse import OptionParser
|
|
16 |
import json
|
16 | 17 |
import random
|
17 | 18 |
|
18 | 19 |
from samovar.parser import Parser
|
19 | 20 |
from samovar.generator import Generator
|
20 | 21 |
|
21 | 22 |
|
22 | |
if __name__ == '__main__':
|
23 | |
optparser = OptionParser(__doc__)
|
24 | |
optparser.add_option("--debug",
|
|
23 |
def main(args):
|
|
24 |
argparser = ArgumentParser()
|
|
25 |
|
|
26 |
argparser.add_argument('input_files', nargs='+', metavar='FILENAME', type=str,
|
|
27 |
help='Source files containing the scenario descriptions'
|
|
28 |
)
|
|
29 |
argparser.add_argument("--debug",
|
25 | 30 |
action="store_true",
|
26 | 31 |
help="Show state before and after each move")
|
27 | |
optparser.add_option("--dump-ast",
|
|
32 |
argparser.add_argument("--dump-ast",
|
28 | 33 |
action="store_true",
|
29 | 34 |
help="Just show the AST and stop")
|
30 | |
optparser.add_option("--length",
|
|
35 |
argparser.add_argument("--length",
|
31 | 36 |
type=int, default=0,
|
32 | 37 |
help="If given, generate this many events for each situation")
|
33 | |
optparser.add_option("--line-per-sentence",
|
|
38 |
argparser.add_argument("--line-per-sentence",
|
34 | 39 |
action="store_true")
|
35 | |
optparser.add_option("--seed",
|
|
40 |
argparser.add_argument("--seed",
|
36 | 41 |
type=int, default=None,
|
37 | 42 |
help="Set random seed (to select moves deterministically)")
|
38 | |
optparser.add_option("--profile",
|
|
43 |
argparser.add_argument("--profile",
|
39 | 44 |
action="store_true",
|
40 | 45 |
help="Run cProfile on standard 'heavy load' case and exit")
|
41 | |
optparser.add_option("--words",
|
|
46 |
argparser.add_argument("--words",
|
42 | 47 |
type=int, default=0,
|
43 | 48 |
help="If given, generate each scenario til this many words")
|
44 | |
(options, args) = optparser.parse_args(sys.argv[1:])
|
|
49 |
|
|
50 |
options = argparser.parse_args(args)
|
45 | 51 |
|
46 | 52 |
if options.profile:
|
47 | 53 |
import cProfile
|
|
57 | 63 |
sys.exit(0)
|
58 | 64 |
|
59 | 65 |
text = ''
|
60 | |
for arg in args:
|
|
66 |
for arg in options.input_files:
|
61 | 67 |
with codecs.open(arg, 'r', encoding='UTF-8') as f:
|
62 | 68 |
text += f.read()
|
63 | 69 |
|
|
82 | 88 |
else:
|
83 | 89 |
sys.stdout.write("%s " % e)
|
84 | 90 |
sys.stdout.write("\n")
|
|
91 |
|
|
92 |
|
|
93 |
if __name__ == '__main__':
|
|
94 |
main(sys.argv[1:])
|