示例#1
0
 def get(self) -> Union[Tuple[Resource, int], Response]:
     entities = []
     parser = query_parser.parse_args()
     if not parser['entities'] and not parser['codes'] \
             and not parser['classes'] and not parser['system_classes']:
         raise QueryEmptyError  # pragma: no cover
     template = GeoJson.pagination(parser['show'])
     if parser['entities']:
         for entity in parser['entities']:
             entities.append(GeoJsonEntity.get_entity_by_id(entity))
     if parser['codes']:
         for code_ in parser['codes']:
             entities.extend(GetByCode.get_entities_by_view(code_=code_, parser=parser))
     if parser['system_classes']:
         for system_class in parser['system_classes']:
             entities.extend(GetBySystemClass.get_entities_by_system_class(
                 system_class=system_class, parser=parser))
     if parser['classes']:
         for class_ in parser['classes']:
             entities.extend(GetByClass.get_entities_by_class(class_code=class_, parser=parser))
     output = Pagination.pagination(entities=entities, parser=parser)
     if parser['count']:
         return jsonify(output['pagination']['entities'])
     if parser['download']:
         return Download.download(data=output, template=template, name='query')
     return marshal(output, template), 200
示例#2
0
 def get(self) -> Union[Tuple[Resource, int], Response]:
     parser = default_parser.parse_args()
     node = {"types": GetNodeOverview.get_node_overview()}
     template = NodesOverviewTemplate.node_overview_template()
     if parser['download']:
         return Download.download(data=node,
                                  template=template,
                                  name='types')
     return marshal(node, template), 200
示例#3
0
 def get(self, latest: int) -> Union[Tuple[Resource, int], Response]:
     parser = entity_parser.parse_args()
     entities = {"result": GetLatest.get_entities_get_latest(latest, parser)}
     template = GeoJson.pagination(parser['show'])
     if parser['count']:
         return jsonify(len(entities))
     if parser['download']:
         return Download.download(data=entities, template=template, name=latest)
     return marshal(entities, template), 200
示例#4
0
 def get(self, id_: int) -> Union[Tuple[Resource, int], Response]:
     parser = default_parser.parse_args()
     node = {"nodes": GetNodeEntities.get_node(id_)}
     template = NodeTemplate.node_template()
     if parser['count']:
         return jsonify(len(node['nodes']))
     if parser['download']:
         return Download.download(data=node, template=template, name=id_)
     return marshal(node, template), 200
示例#5
0
 def get(self, id_: int) -> Union[Tuple[Resource, int], Response]:
     parser = entity_parser.parse_args()
     if parser['export'] == 'csv':
         return ApiExportCSV.export_entity(
             GeoJsonEntity.get_entity_by_id(id_))
     entity = GeoJsonEntity.get_entity(GeoJsonEntity.get_entity_by_id(id_),
                                       parser)
     template = GeoJson.geojson_template(parser['show'])
     if parser['download']:
         return Download.download(data=entity, template=template, name=id_)
     return marshal(entity, GeoJson.geojson_template(parser['show'])), 200
示例#6
0
 def get(self) -> Union[Tuple[Resource, int], Response]:
     parser = entity_parser.parse_args()
     template = TypeTreeTemplate.type_tree_template()
     type_tree = {'type_tree': GetTypeTree.get_type_tree()}
     if parser['count']:
         return jsonify(len(type_tree['type_tree']))
     if parser['download']:
         return Download.download(data=type_tree,
                                  template=template,
                                  name='type_tree')
     return marshal(type_tree, template), 200
示例#7
0
 def get(self, code: str) -> Union[Tuple[Resource, int], Response]:
     parser = entity_parser.parse_args()
     if parser['export'] == 'csv':
         return ApiExportCSV.export_entities(
             GetByCode.get_entities_by_view(code_=code, parser=parser),
             code)
     code_ = Pagination.pagination(GetByCode.get_entities_by_view(
         code_=code, parser=parser),
                                   parser=parser)
     template = GeoJson.pagination(parser['show'])
     if parser['count']:
         return jsonify(code_['pagination']['entities'])
     if parser['download']:
         return Download.download(data=code_, template=template, name=code)
     return marshal(code_, template), 200
示例#8
0
 def get(self, system_class: str) -> Union[Tuple[Resource, int], Response]:
     parser = entity_parser.parse_args()
     if parser['export'] == 'csv':
         return ApiExportCSV.export_entities(
             GetBySystemClass.get_entities_by_system_class(system_class=system_class,
                                                           parser=parser), system_class)
     system_class_ = Pagination.pagination(
         GetBySystemClass.get_entities_by_system_class(system_class=system_class, parser=parser),
         parser=parser)
     template = GeoJson.pagination(parser['show'])
     if parser['count']:
         return jsonify(system_class_['pagination']['entities'])
     if parser['download']:
         return Download.download(data=system_class_, template=template, name=system_class)
     return marshal(system_class_, template), 200
示例#9
0
 def get(self) -> Union[Tuple[Resource, int], Response]:
     parser = language_parser.parse_args()
     content = {
         'intro':
         Content.get_translation('intro_for_frontend', parser['lang']),
         'contact':
         Content.get_translation('contact_for_frontend', parser['lang']),
         'legal-notice':
         Content.get_translation('legal_notice_for_frontend',
                                 parser['lang'])
     }
     template = ContentTemplate.content_template()
     if parser['download']:
         return Download.download(data=content,
                                  template=template,
                                  name='content')
     return marshal(content, ContentTemplate.content_template()), 200