Add Seattle Times Midi crossword support#338
Open
slmingol wants to merge 10 commits intothisisparker:mainfrom
Open
Add Seattle Times Midi crossword support#338slmingol wants to merge 10 commits intothisisparker:mainfrom
slmingol wants to merge 10 commits intothisisparker:mainfrom
Conversation
…ion) - Add SeattleTimesMidiDownloader extending AmuseLabsDownloader - Command: stm (Seattle Times Midi) - Platform: AmuseLabs PuzzleMe with set 'seattletimes-crossword-midi' - URLs are placeholders - need browser inspection to discover actual endpoints - See SEATTLE_TIMES_README.md for completion instructions The implementation structure is complete and follows the same pattern as LATimesDownloader and NewsdayDownloader. Once the actual API URLs are discovered via browser dev tools, this should work immediately.
This Selenium-based script automates the process of discovering the actual AmuseLabs API URLs by loading the page in a headless browser and capturing network traffic. Usage: python tools/discover_seattle_times_urls.py
- Discovered working URLs via curl testing - Picker: https://seattletimes.amuselabs.com/puzzleme/date-picker - Crossword: https://seattletimes.amuselabs.com/puzzleme/crossword - Puzzle ID format: midi-crossword-{sequential_number} - Puzzles use sequential IDs, not date-based IDs - Implemented date-based lookup by parsing picker JSON - Puzzle sizes: 9x9 (30 words), 10x10 (36-38 words), 11x11 (42-44 words) - These are significantly smaller than standard 15x15 (70-80 words)!
- Documents the new Seattle Times Midi downloader - Installation and usage examples - Technical details and API endpoints - Integration with crossword-catastrophe project - Instructions for contributing back to upstream
Helper script to: - Verify correct branch - Check if fork exists - Push to github.com/slmingol/xword-dl - Provide next steps
Show available date range when puzzle not found in streakInfo. The AmuseLabs API only provides ~30-60 days of puzzle metadata for streak tracking, limiting historical puzzle access.
Puzzles can now be fetched for ANY historical date, not just the 14 days in streakInfo. Implementation: - Estimates puzzle ID based on daily publication schedule - Searches ±15 IDs around estimate - Fetches each puzzle by ID directly (they're accessible even when not in streakInfo) - Decodes puzzle data to extract publication date - Compares dates directly to avoid timezone issues - Resets URL template between attempts to prevent token accumulation This allows backfilling the entire Seattle Times Midi archive going back months or years, not just recent puzzles.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…ion)
The implementation structure is complete and follows the same pattern as
LATimesDownloader and NewsdayDownloader. Once the actual API URLs are
discovered via browser dev tools, this should work immediately.