No description
Find a file
kelsey bcc3f816eb Add .cursorignore and .gitignore files; implement puzzle checking scripts
- Created .cursorignore and .gitignore files to ignore specific file patterns and directories.
- Added check_clue_numbering.py to load and analyze crossword puzzles, displaying clue counts and dimensions.
- Introduced check_json_coords.py for validating JSON data against puzzle dimensions and clues.
- Implemented compare_puzzles.py to compare different puzzle files and their clue structures.
- Developed debug_fill.py and diagnose_cursewords.py for debugging puzzle fills and clue numbering.
- Added diagnose_puz.py for in-depth inspection of puzzle files and their JSON data.
- Created dmp_puz.py to download and convert crossword archives into .puz format.
- Added various test scripts to validate clue ordering, fill approaches, and error handling in puzzles.
- Updated README.md to reflect new features and usage instructions for the conversion script.
2025-11-20 13:14:24 -08:00
.cursorignore Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
.gitignore Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
check_clue_numbering.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
check_json_coords.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
compare_puzzles.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
debug_fill.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
diagnose_cursewords.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
diagnose_puz.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
dmp_puz.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
final_test.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
README.md Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_clue_order.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_cursewords_clue_build.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_cursewords_fixed.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_cursewords_simulation.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_fill_approach.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_indexerror_final.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_indexerror_fixed.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_manual_clue_fix.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_regenerate_one.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_solution_vs_fill.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
test_working_puzzle.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
verify_clue_order.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
view_archive.py Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
xwords.html Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00
xwords_puz.js Add .cursorignore and .gitignore files; implement puzzle checking scripts 2025-11-20 13:14:24 -08:00

xwords - Crossword Archive Converter

This is a fork of q726kbxun/xwords, the crossword puzzle archive.

What This Fork Does

This fork adds a Python script (dmp_puz.py) that downloads the crossword archive data and converts it to AcrossLite .puz format files.

Repository Contents

This repository only contains code, not data.

  • dmp_puz.py - Script to download and convert puzzles to .puz format
  • view_archive.py - Original example script from upstream
  • Other utility/test scripts

The actual crossword data is hosted at q726kbxun.github.io/xwords and is downloaded on-demand when running the conversion script.

Usage

python3 dmp_puz.py

This will:

  1. Download the crossword archive data from the upstream repository
  2. Convert each puzzle to .puz format
  3. Save them to puz/<source>/<year>/<month>/<year>-<month>-<id>.puz

Requirements

  • Python 3.13+
  • puz library (install via pip)
  • Internet connection (to download archive data)

Features

  • Converts puzzles to standard AcrossLite .puz format
  • Handles clue ordering correctly for compatibility with cursewords
  • Decodes HTML entities in clues
  • Puzzles appear empty/unsolved by default (not pre-filled)

Original Repository

The original crossword archive repository: https://github.com/q726kbxun/xwords