thisisparker / xword-dl

⬛⬜⬛ Command line tool to scrape crosswords from online solvers and save them as .puz files ⬛⬜⬛
MIT License
140 stars 30 forks source link

Is amuselabsdownloader broken over the last few days? #142

Closed mixographer closed 7 months ago

mixographer commented 8 months ago

As it says above, I'm getting failures on any amuselabs downloads I try.

Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.12/bin/xword-dl", line 33, in sys.exit(load_entry_point('xword-dl==2023.10.1', 'console_scripts', 'xword-dl')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/xword_dl-2023.10.1-py3.12.egg/xword_dl/xword_dl.py", line 233, in main puzzle, filename = by_keyword(args.source, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/xword_dl-2023.10.1-py3.12.egg/xword_dl/xword_dl.py", line 45, in by_keyword puzzle = dl.download(puzzle_url) ^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/xword_dl-2023.10.1-py3.12.egg/xword_dl/downloader/basedownloader.py", line 95, in download xword_data = self.fetch_data(solver_url) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/xword_dl-2023.10.1-py3.12.egg/xword_dl/downloader/amuselabsdownloader.py", line 156, in fetch_data xword_data = load_rawc(rawc, amuseKey=amuseKey) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/xword_dl-2023.10.1-py3.12.egg/xword_dl/downloader/amuselabsdownloader.py", line 152, in load_rawc return json.loads(base64.b64decode( ^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/base64.py", line 88, in b64decode return binascii.a2b_base64(s, strict_mode=validate) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ binascii.Error: Incorrect padding

edsantiago commented 8 months ago

You're probably running old code. Try bumping to v2023.10.26.

mixographer commented 8 months ago

I was gonna come here and close this. I see now that there was a change 5 days ago. Thanks for the comments.

thisisparker commented 8 months ago

Just a note: the version as shipped as v2023.10.26 fixed most but not all. @main has a newer fix that should cover everything, if you don't mind installing from the repo, and I'll get a new version cut soon (and will close this issue when it's out)

jdesai61 commented 8 months ago

I have 2023.10.26 version and I am getting following -(I tried latest from github and getting same error):

xword-dl atl -l
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/downloader/amuselabsdownloader.py", line 121, in load_rawc
    return json.loads(base64.b64decode(rawc).decode("utf-8"))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9e in position 2: invalid start byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/downloader/amuselabsdownloader.py", line 127, in load_rawc
    H = E[1][::-1]
        ~^^^
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/bin/xword-dl", line 33, in <module>
    sys.exit(load_entry_point('xword-dl==2023.10.26', 'console_scripts', 'xword-dl')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/xword_dl.py", line 233, in main
    puzzle, filename = by_keyword(args.source, **options)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/xword_dl.py", line 45, in by_keyword
    puzzle = dl.download(puzzle_url)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/downloader/basedownloader.py", line 95, in download
    xword_data = self.fetch_data(solver_url)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/downloader/amuselabsdownloader.py", line 172, in fetch_data
    xword_data = load_rawc(rawc, amuseKey=amuseKey)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/xword_dl/downloader/amuselabsdownloader.py", line 167, in load_rawc
    return json.loads(base64.b64decode(
                      ^^^^^^^^^^^^^^^^^
  File "/data/data/com.termux/files/usr/lib/python3.11/base64.py", line 88, in b64decode
    return binascii.a2b_base64(s, strict_mode=validate)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
binascii.Error: Incorrect padding
thisisparker commented 7 months ago

This should be fixed in v2023.11.10!