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

Closed
fhg-isi opened this issue Jul 1, 2024 · 2 comments
Closed
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

@fneum
Copy link
Member

fneum commented Sep 24, 2024

This should be fixed now as the HTTPS input is outsourced into a retrieve* rule.

@fneum fneum closed this as completed Sep 24, 2024
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

2 participants