docker-udata icon indicating copy to clipboard operation
docker-udata copied to clipboard

geozones file not available (link broken)

Open jeanpommier opened this issue 4 years ago • 2 comments

Hi, when running docker-compose run --rm udata init as documented on https://github.com/opendatateam/docker-udata/blob/master/samples/simple/README.md, answering yes to import some spatial zones (countries) resultst in an error. I suppose the URL has changed and would need some update

Downloading GeoZones bundle: https://github.com/etalab/geozones/releases/download/2019.0/geozones-countries-2019-0-msgpack.tar.xz
Traceback (most recent call last):
  File "/usr/local/bin/udata", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/udata/commands/__init__.py", line 248, in main
    return super(UdataGroup, self).main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask/cli.py", line 569, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask/cli.py", line 419, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/udata/commands/init.py", line 40, in init
    ctx.invoke(spatial_load)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/flask/cli.py", line 419, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/udata/core/spatial/commands.py", line 144, in load
    filename, _ = urlretrieve(filename, tmp.path(GEOZONE_FILENAME))
  File "/usr/local/lib/python3.7/urllib/request.py", line 257, in urlretrieve
    tfp = open(filename, 'wb')
FileNotFoundError: [Errno 2] No such file or directory: '/udata/fs/tmp/geozones.tar.xz'

jeanpommier avatar Aug 20 '20 14:08 jeanpommier

Solved it by creating a /udata/fs/tmp directory

mdamien avatar Nov 05 '20 19:11 mdamien

Hit the same issue.

The issue title is incorrect. The geozones file is available. The issue is caused by "init" writing to a non-existing path.

If the proposed udata PR won't be merged, another solution is to create the /udata/fs/tmp directory in the Dockerfile at https://github.com/opendatateam/docker-udata/blob/master/Dockerfile#L33C17.

streino avatar Sep 05 '23 14:09 streino