tilekiln icon indicating copy to clipboard operation
tilekiln copied to clipboard

Give better error for invalid config

Open pnorman opened this issue 4 months ago • 0 comments

Current error is something like

Traceback (most recent call last):
  File "/home/pnorman/spirit/tilekiln/bin/tilekiln", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/tilekiln/scripts/__init__.py", line 340, in tiles
    c = tilekiln.load_config(config)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/tilekiln/__init__.py", line 17, in load_config
    return tilekiln.config.Config(filesystem.open(config_path).read(),
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pnorman/spirit/tilekiln/lib/python3.11/site-packages/tilekiln/config.py", line 15, in __init__
    self.id = config["metadata"]["id"]
              ~~~~~~^^^^^^^^^^^^
TypeError: string indices must be integers, not 'str'

pnorman avatar Feb 27 '24 19:02 pnorman