obskyr / khinsider

A script for khinsider mass downloads. Get video game soundtracks quickly and easily! Also a Python interface.
631 stars 64 forks source link

Khinsider no longer works #69

Closed PsyKoptiK closed 2 years ago

PsyKoptiK commented 2 years ago

Hi there,

Khinsider do not work correctly since the last time I used it. There have been some changes on the website recently, maybe it's related to that.

Here is the output of the error.

$ khinsider -f mp3 horizon-zero-dawn

An unexpected error occurred! If it isn't too much to ask, please report to https://github.com/obskyr/khinsider/issues.
Attach the following error message:

Traceback (most recent call last):
  File "/usr/local/bin/khinsider", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 710, in main
    sys.exit(doIt())
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 637, in doIt
    success = download(
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 458, in download
    return Soundtrack(soundtrackId).download(path, makeDirs, formatOrder, verbose)
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 362, in download
    if not set(self.availableFormats) & set(formatOrder):
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 164, in lazyVersion
    setattr(self, attrName, func(self))
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 318, in availableFormats
    table = self._contentSoup.find("table", id="songlist")
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 164, in lazyVersion
    setattr(self, attrName, func(self))
  File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 310, in _contentSoup
    if contentSoup.find("p").string == "No such album":
AttributeError: 'NoneType' object has no attribute 'find'

Thanks.

theshadowmario3 commented 2 years ago

Try updating your khinsider.py file, it worked out for me.

PsyKoptiK commented 2 years ago

Thanks @theshadowmario3 for your answer.

$ pip install -U khinsider
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: khinsider in /usr/local/lib/python3.8/dist-packages (1.0.0)
Requirement already satisfied: requests<3.0.0,>=2.26.0 in ./.local/lib/python3.8/site-packages (from khinsider) (2.27.1)
Requirement already satisfied: beautifulsoup4<5.0.0,>=4.10.0 in ./.local/lib/python3.8/site-packages (from khinsider) (4.11.1)
Requirement already satisfied: soupsieve>1.2 in ./.local/lib/python3.8/site-packages (from beautifulsoup4<5.0.0,>=4.10.0->khinsider) (2.3.2.post1)
Requirement already satisfied: certifi>=2017.4.17 in ./.local/lib/python3.8/site-packages (from requests<3.0.0,>=2.26.0->khinsider) (2021.10.8)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./.local/lib/python3.8/site-packages (from requests<3.0.0,>=2.26.0->khinsider) (1.26.9)
Requirement already satisfied: idna<4,>=2.5 in ./.local/lib/python3.8/site-packages (from requests<3.0.0,>=2.26.0->khinsider) (3.3)
Requirement already satisfied: charset-normalizer~=2.0.0 in ./.local/lib/python3.8/site-packages (from requests<3.0.0,>=2.26.0->khinsider) (2.0.12)

Everything seems already up-to-date.

An unexpected error occurred! If it isn't too much to ask, please report to https://github.com/obskyr/khinsider/issues. Attach the following error message:

Traceback (most recent call last): File "/usr/local/bin/khinsider", line 8, in sys.exit(main()) File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 710, in main sys.exit(doIt()) File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 637, in doIt success = download( File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 458, in download return Soundtrack(soundtrackId).download(path, makeDirs, formatOrder, verbose) File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 368, in download for song in self.songs: File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 164, in lazyVersion setattr(self, attrName, func(self)) File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 331, in songs table = self._contentSoup.find("table", id="songlist") File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 164, in lazyVersion setattr(self, attrName, func(self)) File "/usr/local/lib/python3.8/dist-packages/khinsider.py", line 310, in _contentSoup if contentSoup.find("p").string == "No such album": AttributeError: 'NoneType' object has no attribute 'find'



&rarr; The problem still remains for me. :smiley: 
obskyr commented 2 years ago

@PsyKoptiK This has likely been fixed as of b1683fb – try updating to the latest version and let me know how it goes!

PsyKoptiK commented 2 years ago

Thanks @obskyr, great job everything works perfectly now! :+1: