codeforIATI / iati-tables

https://iati-tables.codeforiati.org
MIT License
1 stars 0 forks source link

export_csv crash #15

Closed odscjames closed 7 months ago

odscjames commented 7 months ago
  File "/home/iatitables/iatitables/iatidata/__init__.py", line 1200, in run_all
    export_all()
  File "/home/iatitables/iatitables/iatidata/__init__.py", line 1178, in export_all
    export_csv()
  File "/home/iatitables/iatitables/iatidata/__init__.py", line 1020, in export_csv
    with get_engine(schema).begin() as connection, zipfile.ZipFile(f"{output_dir}/iati_csv.zip", "w", compression=zipfile.ZIP_DEFLATED) as zip_file:
  File "/home/iatitables/iatitables/iatidata/__init__.py", line 52, in get_engine
    return sa.create_engine(db_uri, pool_size=pool_size, connect_args=connect_args)
  File "<string>", line 2, in create_engine
  File "/home/iatitables/iatitables/.ve/lib/python3.10/site-packages/sqlalchemy/util/deprecations.py", line 375, in warned
    return fn(*args, **kwargs)
  File "/home/iatitables/iatitables/.ve/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 514, in create_engine
    u = _url.make_url(url)
  File "/home/iatitables/iatitables/.ve/lib/python3.10/site-packages/sqlalchemy/engine/url.py", line 738, in make_url
    return _parse_url(name_or_url)
  File "/home/iatitables/iatitables/.ve/lib/python3.10/site-packages/sqlalchemy/engine/url.py", line 799, in _parse_url
    raise exc.ArgumentError(
sqlalchemy.exc.ArgumentError: Could not parse SQLAlchemy URL from string 'iati'

The crash makes sense - export_csv is passing schema to get_engine and the first parameter of get_engine is db_uri.

However there is something else going on, I've only seen this crash trigger under odd circumstances. The variable schema is reused in several places, maybe it's something odd to do with what else happened in this run?