# DailySuguru — technické poznámky

## Přehled skriptů

| Skript | Popis |
|--------|-------|
| `preskumaj_suguru.py` | Průzkumný — vytáhne `gameLevels` z JS kontextu stránky |
| `stahni_suguru.py` | Stáhne data z webu a uloží do MySQL (celý rok najednou) |
| `vykresli_suguru.py` | Generuje PDF z dat v MySQL (reportlab, vektorové) |

## Zdroj dat

Stránka: https://www.solitaire.org/daily-suguru/

Stejná architektura jako ostatní puzzle — `game.php` načte `gameLevels` s daty pro celý rok (366 dní × 3 velikosti). Klíče `"MM-DD"`, bez roku.

## Obtížnosti (velikosti mřížek)

| Klíč | Rozměr |
|------|--------|
| 6x6 | 6×6 |
| 8x8 | 8×8 |
| 10x10 | 10×10 |

## Datová struktura `gameLevels`

Každý záznam je objekt `{colors, clues, solution}`:

- `colors` = skupiny buněk (písmena A–Z), flat string řádek po řádku
- `clues` = nápovědy, tečka = prázdná buňka
- `solution` = řešení, flat string číslic

Pravidla Suguru: každá skupina velikosti N obsahuje čísla 1–N, žádné dvě sousední buňky (včetně diagonálně) nesmí mít stejné číslo.

## MySQL tabulka `puzzle.puzzles`

Sdílená tabulka s ostatními puzzle. Pro Suguru:
- `game_type` = `'suguru'`
- `difficulty` = `'6x6'` / `'8x8'` / `'10x10'`
- `puzzle` = `colors|clues` (dva stringy spojené `|`)
- `solution` = flat string řešení
- `extra` = `{"grid_size": 6}` / `8` / `10`
- `source` = `'solitaire.org'`

Stav: celý rok 2026 naplněn (1095 řádků = 365 dní × 3 velikosti).
