diff --git a/scripts/pyaccuwage-parse b/scripts/pyaccuwage-parse index 75bbf52..4e269c3 100755 --- a/scripts/pyaccuwage-parse +++ b/scripts/pyaccuwage-parse @@ -1,4 +1,44 @@ #!/usr/bin/python +from pyaccuwage.parser import PastedDefParser +import argparse +import sys + +parser = argparse.ArgumentParser(description="Parse and convert contents of IRS files into pyaccuwage e-file classes.") +parser.add_argument("-f", "--full", help="Generate full python file, including related imports.", action="store_true") +parser.add_argument("-c", "--classname", help="Name to use for generated class.", type=str) + +args = parser.parse_args() + +lines = [] +for x in sys.stdin.readlines(): + lines.append(x) + +pdp = PastedDefParser() +tokens = pdp.load("".join(lines)) + +def generate_imports(): + return "\n".join([ + "from pyaccuwage import model", + "from pyaccuwage.fields import *", + "", + "", + ]) + +def generate_class_begin(name): + return "class %s(mode.Model):\n" % name + +if args.full: + sys.stdout.write(generate_imports()) + +if args.classname: + classname = args.classname +else: + classname = "GeneratedRecord" + +sys.stdout.write(generate_class_begin(classname)) + + +for x in tokens: + sys.stdout.write('\t' + x + '\n') -print "PYTHON!"