diff options
Diffstat (limited to 'parse_datasheet/parse_320066.py')
-rwxr-xr-x | parse_datasheet/parse_320066.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/parse_datasheet/parse_320066.py b/parse_datasheet/parse_320066.py index 75efe14..44fe164 100755 --- a/parse_datasheet/parse_320066.py +++ b/parse_datasheet/parse_320066.py @@ -5,6 +5,12 @@ import sys from pprint import pprint import json +try: + import yaml +except ImportError: + yaml = None + + from datasheet_tables import load_datasheet_pages, \ abs_tables_from_pages, \ profile_factory @@ -48,6 +54,8 @@ def main(): parser.add_option("-H", "--human", action="store_true", dest="human", help="print a human-readable description") parser.add_option("-j", "--json", action="store_true", dest="json", help="save parsed data to JSON") parser.add_option("-P", "--python", action="store_true", dest="python", help="dump datastructure in Python") + if yaml: + parser.add_option("-y", "--yaml", action="store_true", dest="yaml", help="save oarsed data to YAML") parser.add_option("-p", "--pickle", dest="pickle_filename", help="save parsed data to PICKLE", metavar="PICKLE") parser.add_option("-f", "--filename", dest="filename", help="Write data to file instead of stdout") @@ -77,8 +85,9 @@ def main(): elif options.python: pprint(make_stuff(a_t), out) elif options.json: - import json - print json.dump(make_stuff(a_t), out, indent=4) + json.dump(make_stuff(a_t), out, indent=4) + elif yaml and options.yaml: + yaml.safe_dump(make_stuff(a_t), stream=out) if out is not sys.stdout: out.close() |