sigdeletras / Spanish_Inspire_Catastral_Downloader

A QGIS plugin to download cadastral data from INSPIRE Services of Spanish Cadastral Cartography
GNU General Public License v3.0
23 stars 10 forks source link

Data is not downloaded when municipality has a ç on its name #6

Closed ccamara closed 6 years ago

ccamara commented 6 years ago

Steps to reproduce:

  1. Select 08063 Castellterçol municipality to download any data from it.
  2. Select a folder with write permissions
  3. Click OK

Observed behaviour:

  1. The following error is displayed:

    UnicodeEncodeError: 'ascii' codec can't encode character '\xc7' in position 49: ordinal not in range(128) 
    Traceback (most recent call last):
    File "/home/ccamara/.local/share/QGIS/QGIS3/profiles/default/python/plugins/Spanish_Inspire_Catastral_Downloader/Spanish_Inspire_Catastral_Downloader.py", line 274, in download
    urllib.request.urlretrieve(url , zipParcels)
    File "/usr/lib/python3.6/urllib/request.py", line 248, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
    File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
    File "/usr/lib/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
    File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
    File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
    File "/usr/lib/python3.6/urllib/request.py", line 1346, in http_open
    return self.do_open(http.client.HTTPConnection, req)
    File "/usr/lib/python3.6/urllib/request.py", line 1318, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
    File "/usr/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
    File "/usr/lib/python3.6/http/client.py", line 1250, in _send_request
    self.putrequest(method, url, **skips)
    File "/usr/lib/python3.6/http/client.py", line 1117, in putrequest
    self._output(request.encode('ascii'))
    UnicodeEncodeError: 'ascii' codec can't encode character '\xc7' in position 49: ordinal not in range(128)
  2. A folder is created under the chosen folder with the name of municipality (OK), but no data is downloaded

Expected behaviour:

  1. A ZIP file per option (Cadastral parcels, buildings...) should have been downloaded and placed into a folder with the municipality's name.
ccamara commented 6 years ago

I'm afraid the same happens with names with "open" accents like à, è, ò.

I reproduced the same steps with 08133 Figarò i Montmany.

Please note that those examples are not exceptions, as there are plenty of municipalities with ç and these accents in Catalunya.

sigdeletras commented 6 years ago

Saludos Carlos,

Ya pasó algo parecido con los acentos y ñ. Acabo de subir una nueva versión (v.0.6) con las correcciones de los municipios con cedilla. Imagino que en breve estará disponible. Tiene que ser aprobada pero tardan poco. También puedes descarga la versión directamente del repositorio.

La única pega es que en el desplegable salen tal y como los denomina Catastro, es decir sustituye la cedilla por un espacio. Castellterçol > CASTELLTER OL

El tema de los acentos estaba arreglado. He probado a descargar los datos del municipio Figarò i Montmany y no me da problemas.

Gracias por el aporte.

ccamara commented 6 years ago

Muchas gracias por la pronta respuesta y solución. Ahora sí funciona perfectamente.