Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. # -*- coding: utf-8 -*
  2.  
  3. from unidecode import unidecode
  4.  
  5. ZONES = {
  6. u'ESPAÑA': u'España',
  7. u'ANDALUCIA': u'Andalucía',
  8. u'ALMERIA': u'Almería',
  9. u'CADIZ': u'Cádiz',
  10. u'CORDOBA': u'Córdoba',
  11. u'GRANADA': u'Granada',
  12. u'HUELVA': u'Huelva',
  13. u'JAEN': u'Jaén',
  14. u'MALAGA': u'Málaga',
  15. u'SEVILLA': u'Sevilla',
  16. u'ARAG': u'Aragón',
  17. u'HUESCA': u'Huesca',
  18. u'TERUEL': u'Teruel',
  19. u'ZARAGOZA': u'Zaragoza',
  20. u'ASTURIAS': u'Asturias',
  21. u'BALEAR': u'Islas Baleares',
  22. u'MALLORCA': u'Islas Baleares',
  23. u'IBIZA': u'Islas Baleares',
  24. u'EIVISSA': u'Islas Baleares',
  25. u'FORMENTERA': u'Islas Baleares',
  26. u'MENORCA': u'Islas Baleares',
  27. u'CANARIAS': u'Canarias',
  28. u'TENERIFE': u'Canarias',
  29. u'LA PALMA': u'Canarias',
  30. u'LA GOMERA': u'Canarias',
  31. u'EL HIERRO': u'Canarias',
  32. u'GRAN CANARIA': u'Canarias',
  33. u'LAS PALMAS': u'Canarias',
  34. u'FUERTEVENTURA': u'Canarias',
  35. u'LANZAROTE': u'Canarias',
  36. u'CANTABRIA': u'Cantabria',
  37. u'MANCHA': u'Castilla la Mancha',
  38. u'ALBACETE': u'Albacete',
  39. u'CIUDAD REAL': u'Ciudad Real',
  40. u'CUENCA': u'Cuenca',
  41. u'GUADALAJARA': u'Guadalajara',
  42. u'TOLEDO': u'Toledo',
  43. u'CASTILLA Y': u'Castilla y León',
  44. u'AVILA': u'Ávila',
  45. u'BURGOS': u'Burgos',
  46. u'LEON': u'León',
  47. u'PALENCIA': u'Palencia',
  48. u'SALAMANCA': u'Salamanca',
  49. u'SEGOVIA': u'Segovia',
  50. u'SORIA': u'Soria',
  51. u'VALLADOLID': u'Valladolid',
  52. u'ZAMORA': u'Zamora',
  53. u'CATALU': u'Cataluña',
  54. u'BARCELONA': u'Barcelona',
  55. u'GERONA': u'Gerona',
  56. u'GIRONA': u'Gerona',
  57. u'LERIDA': u'Lérida',
  58. u'LLEIDA': u'Lérida',
  59. u'TARRAGONA': u'Tarragona',
  60. u'COMUNIDAD V': u'Comunidad Valenciana',
  61. u'VAL': u'Valencia',
  62. u'ALICANTE': u'Alicante',
  63. u'ALACANT': u'Alicante',
  64. u'CASTELL': u'Castellón',
  65. u'EXTREMADURA': u'Extremadura',
  66. u'BADAJOZ': u'Badajoz',
  67. u'CACERES': u'Cáceres',
  68. u'GALICIA': u'Galicia',
  69. u'CORUÑA': u'La Coruña',
  70. u'LUGO': u'Lugo',
  71. u'ORENSE': u'Orense',
  72. u'OURENSE': u'Orense',
  73. u'PONTEVEDRA': u'Pontevedra',
  74. u'RIOJA': u'La Rioja',
  75. u'MADRID': u'Madrid',
  76. u'NAVARRA': u'Navarra',
  77. u'PAIS VASCO': u'País Vasco',
  78. u'EUSKAL HERRIA': u'País Vasco',
  79. u'ALAVA': u'Álava',
  80. u'ARABA': u'Álava',
  81. u'GIPUZCOA': u'Guipúzcoa',
  82. u'GIPUZKOA': u'Guipúzcoa',
  83. u'VIZCAYA': u'Vizcaya',
  84. u'BIZKAIA': u'Vizcaya',
  85. u'MURCIA': u'Murcia',
  86. u'CEUTA': u'Ceuta',
  87. u'MELILLA': u'Melilla'
  88. }
  89.  
  90. def translate_zone(zone):
  91.  
  92. """
  93. Receive a zone and return the normalized Spanish name of the region
  94. """
  95.  
  96. for key in ZONES:
  97. if key in unidecode(zone.upper()):
  98. return ZONES[key]
  99. return u'Otros'
  100.  
  101. def parse_region(content):
  102.  
  103. # Removes country
  104. zone = content.replace(ur'España -', '').replace(ur'ESPAÑA -', '').replace(ur'ES -', '').strip()
  105.  
  106. # Retrieves first name of region in case of several languages
  107. if zone.find('/') != -1:
  108. zone = zone[0:zone.find('/')]
  109.  
  110. # Deal with Castilla - La Mancha (not to remove last part of name)
  111. if ur'CASTILLA - LA MANCHA' in zone.upper():
  112. zone = zone.replace("- ", "", 1)
  113.  
  114. # Retrieves region but not municipality
  115. if zone.find('-') != -1:
  116. zone = zone[0:zone.find('-')].strip()
  117.  
  118. return translate_zone(zone)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement