iheanyi / bandcamp-dl

Simple python script to download Bandcamp albums
The Unlicense
946 stars 107 forks source link

Program doesn't work on EndeavourOS #226

Open quuinnn opened 1 month ago

quuinnn commented 1 month ago

Describe the bug The program straight-out doesn't work. I installed it from the AUR with the command listed in the readme.

To Reproduce Command to reproduce the behavior: bandcamp-dl

URL or List of URLs HERE

Expected behavior I expected for the program to work. But it didn't.

Logs Most if not always you will get some kind of output explaining the issue, post it:

DEBUG:bandcamp-dl.Config:Config exists, loading...
Traceback (most recent call last):
  File "/usr/bin/bandcamp-dl", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.12/site-packages/bandcamp_dl/__main__.py", line 82, in main
    conf = config.init_config(arguments)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/bandcamp_dl/config.py", line 74, in init_config
    session_file = f"{config['--base-dir']}/{__version__}.not.finished"
                      ~~~~~~^^^^^^^^^^^^^^
KeyError: '--base-dir'

If possible after running the command with the --debug option.

Desktop (please complete the following information):

Additional context It worked a few months ago on my other laptop.

Ethanscharlie commented 1 month ago

Same issue on arch

Evolution0 commented 1 month ago

AUR is essentially a dev release built straight from the master branch and not guaranteed to work unless a release is tagged for it.

The config handling is changing a lot right now and the current commit is between changes as I and the only other person working on it have very little time, expect essentially all git based packages across distros to be broken currently, they are the last to be tested. (I don't have the space to keep multiple testing environments setup right now, but this is changing soon)

My guess is either config['--base-dir'] needs to be config.base_dir with the recent changes to an argparse namespace or something else is causing the path creation for base_dir to fail, though at this point it doesn't matter as that code has already changed locally for me.

In the mean time give the Pypi package a try if possible, Pypi gets whatever the last stable release is.

Evolution0 commented 1 month ago

Might be able to just update the AUR package now as the latest commit pushed my config changes.

quuinnn commented 1 month ago

I installed the Pypi package. I get the exact same error as before. I used python-pipx to install it BTW.

Traceback (most recent call last):
  File "/home/quinn/.local/bin/bandcamp-dl", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/quinn/.local/share/pipx/venvs/bandcamp-downloader/lib/python3.12/site-packages/bandcamp_dl/__main__.py", line 76, in main
    config = init_config(arguments)
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/quinn/.local/share/pipx/venvs/bandcamp-downloader/lib/python3.12/site-packages/bandcamp_dl/utils/config.py", line 56, in init_config
    session_file = f"{config['--base-dir']}/{__version__}.not.finished"
                      ~~~~~~^^^^^^^^^^^^^^
KeyError: '--base-dir'

I also updated the AUR package; I get a different error.

Traceback (most recent call last):
  File "/usr/bin/bandcamp-dl", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.12/site-packages/bandcamp_dl/__main__.py", line 82, in main
    arguments = config.init_config(parser)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/bandcamp_dl/config.py", line 74, in init_config
    with open(session_file, "w") as f:
         ^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'None/0.0.15.not.finished'

I ran the command bandcamp-dl on both.

Evolution0 commented 1 month ago

Good news I now have more than enough storage to run VMs so I'll be testing this soon.