Exemplo n.º 1
0
Arquivo: convert.py Projeto: mineo/sir
def convert_area(obj):
    """
    :type obj: :class:`mbdata.models.Area`
    """
    arealist = models.area_list()
    area = models.def_area_element_inner(id=obj.gid, name=obj.name,
                                         sort_name=obj.name)

    if len(obj.aliases) > 0:
        area.set_alias_list(convert_alias_list(obj.aliases))

    if obj.comment:
        area.set_disambiguation(obj.comment)

    if obj.type is not None:
        area.set_type(obj.type.name)

    lifespan = convert_life_span(obj.begin_date, obj.end_date, obj.ended)
    area.set_life_span(lifespan)

    if len(obj.iso_3166_1_codes):
        area.set_iso_3166_1_code_list(
            convert_iso_3166_1_code_list(obj.iso_3166_1_codes))
    if len(obj.iso_3166_2_codes):
        area.set_iso_3166_2_code_list(
            convert_iso_3166_2_code_list(obj.iso_3166_2_codes))
    if len(obj.iso_3166_3_codes):
        area.set_iso_3166_3_code_list(
            convert_iso_3166_3_code_list(obj.iso_3166_3_codes))
    if len(obj.area_links):
        area.add_relation_list(convert_area_relation_list(obj.area_links))
    # DefAreaElementInner are XMLRootElements, so store each area in a 1-element
    # arealist
    arealist.add_area(area)
    return arealist
Exemplo n.º 2
0
def convert_area(obj):
    """
    :type obj: :class:`mbdata.models.Area`
    """
    arealist = models.area_list()
    area = models.def_area_element_inner(id=obj.gid,
                                         name=obj.name,
                                         sort_name=obj.name)

    if len(obj.aliases) > 0:
        area.set_alias_list(convert_alias_list(obj.aliases))

    if obj.comment:
        area.set_disambiguation(obj.comment)

    if obj.type is not None:
        area.set_type(obj.type.name)
        area.set_type_id(obj.type.gid)

    lifespan = convert_life_span(obj.begin_date, obj.end_date, obj.ended)
    area.set_life_span(lifespan)

    if obj.tags:
        area.set_tag_list(convert_tag_list(obj.tags))
    if len(obj.iso_3166_1_codes):
        area.set_iso_3166_1_code_list(
            convert_iso_3166_1_code_list(obj.iso_3166_1_codes))
    if len(obj.iso_3166_2_codes):
        area.set_iso_3166_2_code_list(
            convert_iso_3166_2_code_list(obj.iso_3166_2_codes))
    if len(obj.iso_3166_3_codes):
        area.set_iso_3166_3_code_list(
            convert_iso_3166_3_code_list(obj.iso_3166_3_codes))
    if len(obj.area_links):
        area.add_relation_list(convert_area_relation_list(obj.area_links))
    # DefAreaElementInner are XMLRootElements, so store each area in a 1-element
    # arealist
    arealist.add_area(area)
    return arealist