# HTTP Status Code Anki Deck Generator Generate Anki flashcards for HTTP status codes with cat images from [http.cat](https://http.cat). ## Features - 📚 Comprehensive coverage of HTTP status codes (1xx - 5xx) - 🐱 Fun cat images for each status code - 🔄 Bidirectional flashcards for better memorization: - Code → Description + Image - Description + Image → Code - 💾 Smart caching to avoid re-downloading images - 🎨 Dark mode support in Anki ## Installation Dependencies are already included in the main `requirements.txt`: - `requests` - For downloading images - `genanki` - For creating Anki packages ## Usage ### Basic Usage Generate an Anki deck with default settings: ```bash python python_pkg/download_cats/http_status_anki.py ``` This creates `http_status_codes.apkg` in the current directory. ### Custom Output Specify a custom output file: ```bash python python_pkg/download_cats/http_status_anki.py --output my_deck.apkg ``` ### Custom Deck Name Set a custom name for the Anki deck: ```bash python python_pkg/download_cats/http_status_anki.py --deck-name "My HTTP Status Cards" ``` ### Force Re-download Download images even if cached versions exist: ```bash python python_pkg/download_cats/http_status_anki.py --no-cache ``` ### Verbose Logging Enable detailed logging: ```bash python python_pkg/download_cats/http_status_anki.py --verbose ``` ## How It Works 1. **Downloads Images**: Fetches cat images from https://http.cat/[status_code].jpg 2. **Caches Locally**: Saves images to `python_pkg/download_cats/http_cat_cache/` to avoid re-downloading 3. **Creates Bidirectional Cards**: - **Front**: Status code (e.g., "200") - **Back**: Description ("OK") + Cat image - **Reverse**: Description + Image → Status code 4. **Exports to Anki**: Creates a `.apkg` file that can be imported into Anki ## Supported Status Codes The script includes 79 HTTP status codes across all categories: - **1xx Informational**: 100, 101, 102, 103 - **2xx Success**: 200, 201, 202, 203, 204, 205, 206, 207, 208, 226 - **3xx Redirection**: 300, 301, 302, 303, 304, 305, 307, 308 - **4xx Client Error**: 400-499 (including fun ones like 418 "I'm a teapot") - **5xx Server Error**: 500-599 (including various server/proxy errors) ## Importing into Anki 1. Run the script to generate the `.apkg` file 2. Open Anki 3. Click "Import File" 4. Select the generated `.apkg` file 5. Start studying! ## Cache Location Images are cached at: `python_pkg/download_cats/http_cat_cache/` This directory is automatically created and is ignored by git. ## Testing Run the comprehensive test suite: ```bash python -m pytest python_pkg/download_cats/tests/test_http_status_anki.py -v ``` ## License Same as the parent repository.