Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Path snakemakel.input.hotmaps_industrial_database not correctly mocked #1123

Open
fhg-isi opened this issue Jul 1, 2024 · 1 comment
Open
Labels

Comments

@fhg-isi
Copy link
Contributor

fhg-isi commented Jul 1, 2024

Describe the Bug

I tried to run

python scripts/build_industrial_distribution_key.py

using

        snakemake = mock_snakemake(
            "build_industrial_distribution_key",
            simpl="",
            clusters=37,
        )

and got the error below.

The attribute snakemakel.input.hotmaps_industrial_database does not seem to be correctly mocked and
has the value

'/home/projekt-resilient03/pypsa-eur/.snakemake/storage/http/gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database/-/raw/master/data/Industrial_Database.csv'

Error Message

Exception has occurred: FileNotFoundError
[Errno 2] No such file or directory: '/home/projekt-resilient03/pypsa-eur/.snakemake/storage/http/gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database/-/raw/master/data/Industrial_Database.csv'
File "/home/projekt-resilient03/pypsa-eur/scripts/build_industrial_distribution_key.py", line 103, in prepare_hotmaps_database
df = pd.read_csv(snakemake.input.hotmaps_industrial_database, sep=";", index_col=0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/projekt-resilient03/pypsa-eur/scripts/build_industrial_distribution_key.py", line 189, in
hotmaps = prepare_hotmaps_database(regions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/projekt-resilient03/pypsa-eur/.snakemake/storage/http/gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database/-/raw/master/data/Industrial_Database.csv'

Related:

#1118

@fhg-isi fhg-isi added the bug label Jul 1, 2024
@fhg-isi
Copy link
Contributor Author

fhg-isi commented Jul 1, 2024

I tried to fix the path by adapting _helpers.py:

def make_accessable(*ios):
            for io in ios:
                for i, _ in enumerate(io):
                    relative_path = io[i]
                    http_prefix = '.snakemake/storage/http/'
                    if relative_path.startswith(http_prefix):
                        absolute_path = relative_path.replace(http_prefix,'http://')
                        io[i] = absolute_path
                    else:
                      io[i] = os.path.abspath(relative_path)

Now I get another error:

#1124

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant