def addresses_to_xml(list_of_addresses, line_separator="\n", tag="Adresa"): result = '<?xml version="1.0" encoding="UTF-8"?>' + line_separator + "<xml>" + line_separator index = 0 for line in list_of_addresses: orientation_number = none_to_string(line[6]) sign = none_to_string(line[4]) if orientation_number != "": house_numbers = "\t<" + sign + ">" + none_to_string(line[5]) + \ "</" + sign + ">" + line_separator + "\t<orientacni_cislo>" + \ orientation_number + none_to_string(line[7]) + "</orientacni_cislo>" else: house_numbers = "\t<" + sign + ">" + none_to_string(line[5]) + "</" + sign + ">" index = index + 1 street = none_to_string(line[3]) if street != "": street = "\t<ulice>" + street + "</ulice>" + line_separator town = none_to_string(line[1]) district = none_to_string(line[2]) if town == district or district == "": town_district = "\t<obec>" + town + "</obec>" else: town_district = "\t<obec>" + town + "</obec>" + line_separator + \ "\t<cast_obce>" + district + "</cast_obce>" result += "<" + tag + str(index) + ">" + line_separator + "<ID>" + none_to_string(line[0]) + \ "</ID>" + line_separator + town_district + line_separator + street + house_numbers + \ line_separator + "\t<PSČ>" + none_to_string(line[8]) + \ "</PSČ>" + line_separator + "</" + tag + str(index) + ">" + line_separator result += "</xml>" return result
def addresses_to_text(list_of_addresses, line_separator="\n"): result = "" for line in list_of_addresses: orientation_number = none_to_string(line[6]) if orientation_number != "": house_numbers = none_to_string(line[5]) + "/" + orientation_number + none_to_string(line[7]) else: house_numbers = none_to_string(line[5]) street = none_to_string(line[3]) if street != "": street += " " town = none_to_string(line[1]) district = none_to_string(line[2]) if town == district: town_district = town else: town_district = town + "-" + district result += none_to_string(line[0]) + " " + street + none_to_string( line[4]) + " " + house_numbers + ", " + town_district + ", " + none_to_string(line[8]) + line_separator return result
def compile_address_as_dictionary_en(street, house_number, record_number, orientation_number, orientation_number_character, zip_code, locality, locality_part, district_number, ruian_id=""): (street, house_number, record_number, orientation_number, orientation_number_character, zip_code, locality, locality_part, district_number, ruian_id) = none_to_string( (street, house_number, record_number, orientation_number, orientation_number_character, zip_code, locality, locality_part, district_number, ruian_id)) out = {} if house_number != "": sign = "house_number" address_number = house_number else: sign = "record_number" address_number = record_number if orientation_number != "": out[sign] = address_number out["orientation_number"] = orientation_number + orientation_number_character else: out[sign] = address_number if street != "": out["street"] = street if district_number != "": out["district_number"] = district_number else: out["district_number"] = "" if locality == locality_part or locality_part == "": out["locality"] = "%s %s" % (locality, str(district_number)) else: out["locality"] = "%s %s" % (locality, str(district_number)) out["locality_part"] = locality_part if ruian_id != "": out["ruian_id"] = ruian_id return out
def addresses_to_json(list_of_addresses, line_separator="\n", tag="Adresa"): out: str = "{" index = 0 for line in list_of_addresses: index += 1 if index > 1: out += ',' orientation_number = none_to_string(line[6]) sign = none_to_string(line[4]) if orientation_number != "": house_numbers = '\t"' + sign + '": ' + none_to_string( line[5]) + ',' + line_separator + '\t"orientační_číslo":' + orientation_number + none_to_string( line[7]) + ',' else: house_numbers = '\t"' + sign + '": ' + none_to_string(line[5]) + ',' street = none_to_string(line[3]) if street != "": street = '\t"ulice": ' + street + "," + line_separator town = none_to_string(line[1]) district = none_to_string(line[2]) if town == district or district == "": town_district = '\t"obec" : ' + town + "," else: town_district = '\t"obec" : ' + town + "," + line_separator + '\t"část_obce": ' + district + "," out += line_separator + '"' + tag + str(index) + '" : {' + line_separator + '\t"ID": ' + none_to_string( line[ 0]) + line_separator + town_district + line_separator + street + house_numbers + line_separator + '\t"PSČ" :' + none_to_string( line[8]) + line_separator + "\t}" out += line_separator + "}" return out
def build_address(builder, candidates, with_id, with_distance=False): items = [] for item in candidates: if item[4] == "č.p.": house_number = str(item[5]) record_number = "" else: house_number = "" record_number = str(item[5]) mop = none_to_string(item[9]) if mop != "": pom = mop.split() district_number = pom[1] else: district_number = "" # TODO compiled address sub_str = compile_address(text_format=builder, street=none_to_string(item[3]), house_number=house_number, record_number=record_number, orientation_number=none_to_string(item[6]), orientation_number_character=none_to_string( item[7]), zip_code=str(item[8]), locality=none_to_string(item[1]), locality_part=none_to_string(item[2]), district_number=district_number, district_name=mop) if with_id: sub_str = add_id("id", str(item[0]), sub_str, builder) if with_distance: sub_str = add_id("distance", str(item[10]), sub_str, builder) items.append(sub_str) return items
def compile_address_to_one_row(street, house_number, record_number, orientation_number, orientation_number_character, zip_code, locality, locality_part, district_number, ruian_id=""): street, house_number, record_number, orientation_number, orientation_number_character, zip_code, locality, locality_part, district_number, ruian_id = none_to_string( (street, house_number, record_number, orientation_number, orientation_number_character, zip_code, locality, locality_part, district_number, ruian_id)) address_str = "" zip_code = formatzip_code(zip_code) house_number = empty_string_if_no_number(house_number) orientation_number = empty_string_if_no_number(orientation_number) district_number = empty_string_if_no_number(district_number) orientation_number_character = alpha_check(orientation_number_character) town_info = zip_code + " " + locality # unicode(locality, "utf-8") if district_number != "": town_info += " " + district_number if house_number != "": house_number_str = " " + house_number if orientation_number != "": house_number_str += u"/" + orientation_number + orientation_number_character elif record_number != "": house_number_str = u" č.ev. " + record_number else: house_number_str = "" if locality.upper() == "PRAHA": if str_is_not_empty(street): address_str += street + house_number_str + ", " + locality_part + ", " + town_info else: address_str += locality_part + house_number_str + ", " + town_info else: if str_is_not_empty(street): address_str += street + house_number_str + ", " if locality_part != locality: address_str += locality_part + ", " address_str += town_info else: if locality_part != locality: address_str += locality_part + house_number_str + ", " else: if house_number != "": address_str += u"č.p." + house_number_str + ", " else: address_str += house_number_str[1:] + ", " address_str += town_info if ruian_id != "": address_str = "%s, %s" % (str(ruian_id), address_str) return address_str