1
|
1 |
|
from ..models import Code |
2
|
|
|
|
3
|
|
|
|
4
|
1 |
|
def format_address_raw(calle, num_exterior, num_interior, referencia, colonia, municipio, localidad, estado, pais, codigo_postal): |
5
|
1 |
|
parts = [] |
6
|
|
|
|
7
|
1 |
|
calle_num = None |
8
|
1 |
|
if calle or num_exterior or num_interior: |
9
|
1 |
|
if num_exterior: |
10
|
1 |
|
calle_num = f"{calle} #{num_exterior}" |
11
|
|
|
else: |
12
|
1 |
|
calle_num = f"{calle}" |
13
|
|
|
|
14
|
1 |
|
if num_interior: |
15
|
1 |
|
calle_num = f"{calle_num}, int. #{num_interior}" |
16
|
|
|
|
17
|
1 |
|
if colonia: |
18
|
1 |
|
if calle_num: |
19
|
1 |
|
parts.append(f"{calle_num}, {colonia}") |
20
|
|
|
else: |
21
|
|
|
parts.append(f"{colonia}") |
22
|
|
|
|
23
|
1 |
|
if referencia: |
24
|
1 |
|
parts.append(f"{referencia}") |
25
|
|
|
|
26
|
1 |
|
if localidad and localidad != municipio: |
27
|
1 |
|
parts.append(f"{localidad}") |
28
|
|
|
|
29
|
1 |
|
if municipio: |
30
|
1 |
|
parts.append(f"{municipio}, {estado} {codigo_postal}") |
31
|
|
|
else: |
32
|
1 |
|
parts.append(f"{estado} {codigo_postal}") |
33
|
|
|
|
34
|
1 |
|
parts.append(f"{pais}") |
35
|
1 |
|
return "\n".join(parts) |
36
|
|
|
|
37
|
|
|
|
38
|
1 |
|
def format_address(k): |
39
|
1 |
|
return format_address_raw( |
40
|
|
|
calle=k["Calle"], |
41
|
|
|
num_exterior=k.get("NumeroExterior"), |
42
|
|
|
num_interior=k.get("NumeroInterior"), |
43
|
|
|
referencia=desc(k.get("Referencia")), |
44
|
|
|
colonia=desc(k.get("Colonia")), |
45
|
|
|
municipio=desc(k.get("Municipio")), |
46
|
|
|
localidad=desc(k.get("Localidad")), |
47
|
|
|
estado=desc(k["Estado"]), |
48
|
|
|
pais=desc(k["Pais"]), |
49
|
|
|
codigo_postal=k["CodigoPostal"] |
50
|
|
|
) |
51
|
|
|
|
52
|
|
|
|
53
|
1 |
|
def desc(s): |
54
|
1 |
|
if isinstance(s, Code): |
55
|
1 |
|
return s.description |
56
|
|
|
return s |
57
|
|
|
|