thisisparker / xword-dl

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

Can't download 5/1/22 NYT puzzle #170

Closed clorgie closed 5 months ago

clorgie commented 5 months ago

I am unable to download the 5/1/22 NYT puzzle (https://www.nytimes.com/crosswords/game/daily/2021/05/01). All other puzzles from the month download fine. Here is what happens:

$ xword-dl nyt -d 5/1/2022                                                                                       [17:19:58]
Traceback (most recent call last):
  File "/Users/chris/Library/CloudStorage/Dropbox/crosswords/xword-dl-env/bin/xword-dl", line 33, in <module>
    sys.exit(load_entry_point('xword-dl==2023.12.2', 'console_scripts', 'xword-dl')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Library/CloudStorage/Dropbox/crosswords/xword-dl-env/lib/python3.11/site-packages/xword_dl-2023.12.2-py3.11.egg/xword_dl/xword_dl.py", line 233, in main
    puzzle, filename = by_keyword(args.source, **options)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Library/CloudStorage/Dropbox/crosswords/xword-dl-env/lib/python3.11/site-packages/xword_dl-2023.12.2-py3.11.egg/xword_dl/xword_dl.py", line 45, in by_keyword
    puzzle = dl.download(puzzle_url)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Library/CloudStorage/Dropbox/crosswords/xword-dl-env/lib/python3.11/site-packages/xword_dl-2023.12.2-py3.11.egg/xword_dl/downloader/basedownloader.py", line 96, in download
    puzzle = self.parse_xword(xword_data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/Library/CloudStorage/Dropbox/crosswords/xword-dl-env/lib/python3.11/site-packages/xword_dl-2023.12.2-py3.11.egg/xword_dl/downloader/newyorktimesdownloader.py", line 142, in parse_xword
    elif square and len(square['answer']) == 1:
                        ~~~~~~^^^^^^^^^^
KeyError: 'answer'

TIA!

thisisparker commented 5 months ago

I think this should momentarily be fixed at HEAD, and I'll get a release out soon that includes the fix if you'd rather not install from Github