コード例 #1
0
ファイル: cli.py プロジェクト: tobes/munge
def recreate_views(args):
    from dependencies import dependencies_manager
    views = definitions.defined_views()
    existing_views = sa_util.view_list()
    updates = dependencies_manager.updates_for(views)
    needed = []
    for update in updates:
        if update in views:
            if update in existing_views:
                continue
            needed.append(update)
    needed.reverse()
    print needed
    sa_util.build_views_and_summaries(
        items=needed,
        dependencies=False,
        verbose=args.verbose,
    )
    sa_util.swap_tables(verbose=args.verbose)
コード例 #2
0
ファイル: cli.py プロジェクト: tobes/munge
def import_csv(args):
    verbose = args.verbose
    filename = args.filename
    tablename = args.tablename
    delimiter = args.delimiter
    filename = os.path.join(config.DATA_PATH, 'import', filename)
    if delimiter == '\\t':
        delimiter = '\t'
    if not tablename:
        tablename = os.path.splitext(os.path.basename(filename))[0]
    if verbose:
        print('Importing %s' % args.filename)
    csv_util.import_single(
        filename,
        tablename,
        encoding=args.encoding,
        delimiter=delimiter,
        verbose=verbose
    )
    sa_util.swap_tables(verbose=verbose)
コード例 #3
0
ファイル: cli.py プロジェクト: tobes/munge
def main():

    commands = [
        'export_all',
        'export_custom',
        'web',
        'clean_db',
        'db_functions',
        'clear_views',
        'recreate_views',
    ]

    parser = argparse.ArgumentParser(
        description='Command line interface for munge'
    )
    parser.add_argument('-v', '--verbose', action='count', default=0)
    subparsers = parser.add_subparsers(help='commands', dest='command')

    for command in commands:
        subparsers.add_parser(command)

    import_csv_parser = subparsers.add_parser('import_csv')
    import_csv_parser.add_argument("--encoding", default='utf-8')
    import_csv_parser.add_argument("--delimiter", default=',')
    import_csv_parser.add_argument('--tablename', default=None)
    import_csv_parser.add_argument('filename')

    swap_temp_parser = subparsers.add_parser('swap_temp')
    swap_temp_parser.add_argument('-f', '--force', action="store_true")

    module_commands = [
        'import',
        'summaries',
    ]

    for command in module_commands:
        module_parser = subparsers.add_parser(command)
        module_parser.add_argument('-f', '--force', action="store_true")
        module_parser.add_argument('-d', '--no-dependants', action="store_true")
        module_parser.add_argument('-a', '--all', action="store_true")
        module_parser.add_argument('-t', '--test', action="store_true")
        module_parser.add_argument('-n', '--noupdate', action="store_true")
        module_parser.add_argument('-u', '--updateonly', action="store_true")
        module_parser.add_argument('-s', '--stage', default=0, type=int)
        module_parser.add_argument('module', nargs='*')

    dep_parser = subparsers.add_parser('deps')
    dep_parser.add_argument('items', nargs='*')

    dep_parser = subparsers.add_parser('sql')
    dep_parser.add_argument('items', nargs='*')

    args = parser.parse_args()
    if args.command == 'deps':
        deps(args)
    if args.command == 'sql':
        sql(args)
    if args.command == 'export_all':
        export_all(verbose=args.verbose)
    if args.command == 'export_all':
        export_all(verbose=args.verbose)
    elif args.command == 'import':
        import_module(args)
        sa_util.swap_tables(verbose=args.verbose)
    elif args.command == 'swap_temp':
        sa_util.swap_tables(verbose=args.verbose, force=args.force)
    elif args.command == 'summaries':
        build_views_summaries(args)
        if not args.noupdate:
            sa_util.swap_tables(verbose=args.verbose, force=args.force)
    elif args.command == 'export_custom':
        export_custom(verbose=args.verbose)
    elif args.command == 'import_csv':
        import_csv(args)
    elif args.command == 'web':
        webserver(args)
    elif args.command == 'clean_db':
        clean_db(args)
    elif args.command == 'clear_views':
        clear_views(args)
    elif args.command == 'recreate_views':
        recreate_views(args)
    elif args.command == 'db_functions':
        db_functions(verbose=args.verbose)