Esempio n. 1
0
def save_arguments(g, script_path, keys):
    d = g.copy()
    target_folder = d.pop('target_folder')
    if not target_folder:
        target_folder = make_enumerated_folder_for(script_path)
    arguments_folder = make_folder(join(target_folder, 'arguments'))
    # Migrate paths
    path_by_key = OrderedDict()
    for k, v in d.items():
        if not k.endswith('_path'):
            continue
        file_name = _get_argument_file_name(k, v)
        # Save a copy of each file
        shutil.copy(v, join(arguments_folder, file_name))
        # Make the reference point to the local copy
        path_by_key[k] = file_name
    d = sort_dictionary(d, keys)
    d.update(path_by_key)
    # Save global arguments as JSON
    target_file = open(join(arguments_folder, 'arguments.json'), 'w')
    json.dump(d, target_file, indent=4, separators=(',', ': '))
    # Save global arguments as CSV
    target_file = open(join(arguments_folder, 'arguments.csv'), 'w')
    csv_writer = csv.writer(target_file)
    for x in d.items():
        csv_writer.writerow(x)
    target_path = join(target_folder,
                       'selected_nyc_traffic_injury_summary_by_month.jpg')
    fig.savefig(target_path)
    return target_path


if __name__ == '__main__':
    argument_parser = ArgumentParser()
    argument_parser.add_argument('--target_folder',
                                 metavar='FOLDER',
                                 type=make_folder)
    argument_parser.add_argument('--target_date',
                                 metavar='DATE',
                                 type=parse_date)

    argument_parser.add_argument('--from_date',
                                 metavar='DATE',
                                 type=parse_date)
    argument_parser.add_argument('--to_date', metavar='DATE', type=parse_date)

    argument_parser.add_argument('--search_address', metavar='ADDRESS')
    argument_parser.add_argument('--search_radius_in_meters',
                                 metavar='RADIUS',
                                 type=float)

    args = argument_parser.parse_args()
    d = run(args.target_folder or make_enumerated_folder_for(__file__),
            args.target_date, args.from_date, args.to_date,
            args.search_address, args.search_radius_in_meters)
    print(format_summary(d))
        metavar='FOLDER', type=make_folder)

    argument_parser.add_argument(
        '--demographic_by_year_table_path',
        metavar='PATH', required=True)
    argument_parser.add_argument(
        '--demographic_by_year_table_population_column',
        metavar='COLUMN', required=True)

    argument_parser.add_argument(
        '--electricity_consumption_by_population_table_path',
        metavar='PATH', required=True)
    argument_parser.add_argument(
        '--electricity_consumption_by_population_table_population_column',
        metavar='COLUMN', required=True)
    argument_parser.add_argument(
        '--electricity_consumption_by_population_table_consumption_column',
        metavar='COLUMN', required=True)

    args = argument_parser.parse_args()
    d = run(
        args.target_folder or make_enumerated_folder_for(__file__),

        read_csv(args.demographic_by_year_table_path),
        args.demographic_by_year_table_population_column,

        read_csv(args.electricity_consumption_by_population_table_path),
        args.electricity_consumption_by_population_table_population_column,
        args.electricity_consumption_by_population_table_consumption_column)
    print(format_summary(d))
def _get_alternate_country_name(country_name):
    if not ALTERNATE_COUNTRY_NAME_BY_COUNTRY_NAME:
        _prepare_country_names()
    return ALTERNATE_COUNTRY_NAME_BY_COUNTRY_NAME[country_name]


def _format_label_for_region(region_name):
    x = region_name.lower()
    x = x.replace(" ", "-")
    x = x.replace("&", "and")
    return "region-%s" % x


def _format_label_for_income_group(income_group_name):
    x = income_group_name.lower()
    x = x.replace(" ", "-")
    x = x.replace(":", "")
    x = x.replace("non", "non-")
    x = x.replace("-income", "")
    return "income-group-%s" % x


if __name__ == "__main__":
    argument_parser = ArgumentParser()
    argument_parser.add_argument("--target_folder", metavar="FOLDER", type=make_folder)
    argument_parser.add_argument("--target_year", metavar="YEAR", type=int, required=True)

    args = argument_parser.parse_args()
    d = run(args.target_folder or make_enumerated_folder_for(__file__), args.target_year)
    print(format_summary(d))