示例#1
0
def main(argv):
    try:
        # See Python3 getopt class for details on the short option configuration string format
        # https://docs.python.org/3/library/getopt.html
        short_options_config = _OPTION_HELP[1:] + _OPTION_INPUTFILE[1:] + ':' + _OPTION_OUTPUTFILE[1:] + ':' + _OPTION_DO_NOT_UPLOAD[1:]
        opts, args = getopt.getopt(argv, short_options_config)

        inventory_report_filename = ''
        inventory_report_html_filename =  _DEFAULT_HTML_FILENAME
        upload_flag = True

        for opt, arg in opts:
            if opt == _OPTION_HELP:
                print_usage()
                sys.exit()
            elif opt == _OPTION_INPUTFILE:
                inventory_report_filename = validate_filename(arg)
            elif opt == _OPTION_OUTPUTFILE:
                inventory_report_html_filename = validate_filename(arg)
            elif opt == _OPTION_DO_NOT_UPLOAD:
                upload_flag = False

        json_inventory = read_csv_report(inventory_report_filename)
        write_json_inventory('inventory.json', json_inventory)
        write_html_inventory(inventory_report_html_filename, json_inventory)

        if upload_flag:
            upload = Upload(server='normsbeerandwine.com', username='******')
            upload.use_tls = False
            upload.filename = inventory_report_html_filename.name
            upload.password = '******'
            upload.connect()
            upload.upload_file()
            upload.disconnect()

    except Exception as e:
        print(e)
        print('')
        print_usage()
        sys.exit(2)