Пример #1
0
def make_layer_data_min_zoom():
    yaml_path = find_yaml_path()
    layer_parse_result = parse_layers_min_zoom(yaml_path)
    by_name = {}
    for layer_datum in layer_parse_result.layer_data:
        by_name[layer_datum.layer] = layer_datum
    return layer_parse_result.layer_data, by_name
Пример #2
0
def make_layer_data_min_zoom():
    yaml_path = find_yaml_path()
    layer_parse_result = parse_layers_min_zoom(yaml_path)
    by_name = {}
    for layer_datum in layer_parse_result.layer_data:
        by_name[layer_datum.layer] = layer_datum
    return layer_parse_result.layer_data, by_name
Пример #3
0
    def test_all_kinds(self):
        """
        Test that we've enumerated all the possible values for kind and
        kind_detail in the YAML files.
        """

        from vectordatasource.meta import find_yaml_path
        from vectordatasource.meta.kinds import parse_all_kinds
        import os.path

        yaml_path = find_yaml_path()
        sort_rank_path = os.path.join(
            os.path.split(yaml_path)[0], 'spreadsheets', 'sort_rank')

        # should be able to execute this without throwing an exception.
        all_kinds = parse_all_kinds(yaml_path, sort_rank_path, True)

        # and we should get some data back
        self.assertTrue(all_kinds)
Пример #4
0
def write_sql(io):
    from vectordatasource.meta import find_yaml_path

    yaml_path = find_yaml_path()
    for output_fn, make_fn_name, force_type, return_type in (
            (output_kind, make_function_name_props, None, 'JSON'),
            (output_min_zoom, make_function_name_min_zoom, float, 'REAL')):
        layer_result = parse_layers(yaml_path, output_fn, make_fn_name)
        assert isinstance(layer_result, LayerParseResult)
        for function_data in layer_result.layer_data:
            assert isinstance(function_data, FunctionData)
            ast_fn = function_data.ast
            ast_fn = GeomTypeTransformer().visit(ast_fn)
            visitor = SQLVisitor(io, force_type, return_type)
            visitor.visit(ast_fn)

    for layer, tables in LAYER_TABLES.items():
        for table in tables:
            for calc, return_type in [('json', 'JSON'), ('min_zoom', 'REAL')]:
                print_adaptor(io, layer, table, calc, return_type)
Пример #5
0
def main(argv=None):
    from vectordatasource.meta import find_yaml_path
    if argv is None:
        argv = sys.argv
    yaml_path = find_yaml_path()

    formatter = astformatter.ASTFormatter()

    all_layer_data = []
    for output_fn, make_fn_name in ((output_kind, make_function_name_props),
                                    (output_min_zoom,
                                     make_function_name_min_zoom)):
        layer_parse_result = parse_layers(yaml_path, output_fn, make_fn_name)
        all_layer_data.append(layer_parse_result.layer_data)

    for import_ast in layer_parse_result.import_asts:
        print formatter.format(import_ast, mode='exec')

    for layer_data in all_layer_data:
        for layer_datum in layer_data:
            ast_fn = layer_datum.ast
            print formatter.format(ast_fn, mode='exec')
Пример #6
0
def main(argv=None):
    from vectordatasource.meta import find_yaml_path
    if argv is None:
        argv = sys.argv
    yaml_path = find_yaml_path()

    formatter = astformatter.ASTFormatter()

    all_layer_data = []
    for output_fn, make_fn_name in (
            (output_kind, make_function_name_props),
            (output_min_zoom, make_function_name_min_zoom)):
        layer_parse_result = parse_layers(
            yaml_path, output_fn, make_fn_name)
        all_layer_data.append(layer_parse_result.layer_data)

    for import_ast in layer_parse_result.import_asts:
        print formatter.format(import_ast, mode='exec')

    for layer_data in all_layer_data:
        for layer_datum in layer_data:
            ast_fn = layer_datum.ast
            print formatter.format(ast_fn, mode='exec')
Пример #7
0
def find_yaml_path():
    from vectordatasource.meta import find_yaml_path
    return find_yaml_path()
Пример #8
0
from vectordatasource.meta.kinds import parse_all_kinds


if __name__ == '__main__':
    from vectordatasource.meta import find_yaml_path
    import argparse
    import os.path

    yaml_path = find_yaml_path()
    sort_rank_path = os.path.join(
        os.path.split(yaml_path)[0], 'spreadsheets', 'sort_rank')
    parser = argparse.ArgumentParser()
    parser.add_argument('--yaml-path', help='Directory containing YAML',
                        default=yaml_path)
    parser.add_argument('--sort-rank-path', help='Directory containing sort '
                        'rank CSVs.', default=sort_rank_path)
    parser.add_argument('--kind-detail', help='Include kind_detail.',
                        action='store_true', default=False)
    args = parser.parse_args()

    if args.yaml_path:
        yaml_path = args.yaml_path

    if args.sort_rank_path:
        sort_rank_path = args.sort_rank_path

    all_kinds = parse_all_kinds(yaml_path, sort_rank_path, args.kind_detail)

    row_fmt = "%(layer)12s %(kind)30s %(min_zoom)8s %(sort_rank)s"
    if args.kind_detail:
        row_fmt = "%(layer)12s %(kind)30s %(kind_detail)30s " \
Пример #9
0
from vectordatasource.meta.kinds import parse_all_kinds

if __name__ == '__main__':
    from vectordatasource.meta import find_yaml_path
    import argparse
    import os.path

    yaml_path = find_yaml_path()
    sort_rank_path = os.path.join(
        os.path.split(yaml_path)[0], 'spreadsheets', 'sort_rank')
    parser = argparse.ArgumentParser()
    parser.add_argument('--yaml-path',
                        help='Directory containing YAML',
                        default=yaml_path)
    parser.add_argument('--sort-rank-path',
                        help='Directory containing sort '
                        'rank CSVs.',
                        default=sort_rank_path)
    parser.add_argument('--kind-detail',
                        help='Include kind_detail.',
                        action='store_true',
                        default=False)
    args = parser.parse_args()

    if args.yaml_path:
        yaml_path = args.yaml_path

    if args.sort_rank_path:
        sort_rank_path = args.sort_rank_path

    all_kinds = parse_all_kinds(yaml_path, sort_rank_path, args.kind_detail)
Пример #10
0
def find_yaml_path():
    from vectordatasource.meta import find_yaml_path
    return find_yaml_path()