Files
fortunecookie/LEKTIONEN_2026-06-05.md
darklithium 8586e38bb4 docs: Lektionen und Routinen dokumentiert
- LEKTIONEN_2026-06-05.md: Git-Server-Hinweis hinzugefügt
- ROUTINEN.md: Täglicher Workflow und Git-Branch-Strategie

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-05 23:52:31 +02:00

65 lines
3.3 KiB
Markdown

# Lektionen & Erkenntnisse - 05.06.2026
## 📌 Projekt: FortuneCookie App (Ubuntu Touch 24.04 / Lomiri)
---
## ✅ Heute umgesetzte Aufgaben
| Aufgabe | Lösung |
|---------|--------|
| Listenwechsel funktioniert nicht | `itemAt()` → direkter Array-Zugriff auf `listObjects` in ComboBox Initialisierung (Main.qml:287-300) |
| Neuer Spruch bei Listenwechsel | `reloadFortune()` verwendet jetzt `get_new_fortune()` statt `get_current_fortune()` (Main.qml:36-44) |
| Redensarten: nur Sprichwörter | idioms.json bereinigt (englische Zitate, Shakespeare etc. entfernt), mit internationalen Sprichwörtern aufgefüllt |
| Ursprung bei Redensarten | Klammern hinzugefügt: `(Deutsche Redensart, 16. Jh.)` |
| Trennzeichen vor Ursprung | Bindestriche bei Zitaten entfernt: `Zitat\n\nAutor` (famous quotes, farmer wisdom, sandman, UNfortune) |
| budandterence-Liste | Entfernt (nicht überzeugend) - aus AVAILABLE_FORTUNE_LISTS, Descriptions und QML entfernt |
| Listenauswahl: Spruchanzahl | `get_fortune_lists_descriptions_only()` fügt jetzt `(Anzahl)` an Beschreibung an (fortunecookie.py:315-317) |
| Vegane Rezepte: Zeilenumbrüche | Zwei Leerzeilen zwischen Zutaten und Zeit: `Zutaten\n\nZeit` |
---
## 📝 Code-Änderungen
### QML (`qml/Main.qml`)
- **Zeile 287-300**: ComboBox Initialisierung - `itemAt()` durch direkten Array-Zugriff auf `listObjects` ersetzt
- **Zeile 36-44**: `reloadFortune()` - `get_current_fortune()` durch `get_new_fortune()` ersetzt
- **Zeile 109-121**: budandterence aus descriptions-Object entfernt
### Python Backend (`src/fortunecookie.py`)
- **Zeile 39-49**: `budandterence` aus `AVAILABLE_FORTUNE_LISTS` entfernt
- **Zeile 284-294**: budandterence aus `get_fortune_lists_with_description()` entfernt
- **Zeile 302-318**: budandterence aus `get_fortune_lists_descriptions_only()` entfernt + Spruchanzahl hinzugefügt
### Fortune-Dateien (`assets/fortunes/`)
- **idioms.json**: Komplett überarbeitet - nur Redensarten/Sprichwörter in deutscher Übersetzung mit Ursprung in Klammern
- **vegan recipes.json**: Formatierung korrigiert - zwei Zeilenumbrüche zwischen Zutaten und Zeit
- **famous quotes.json, farmer wisdom.json, sandman.json, UNfortune.json**: Bindestriche vor Autor entfernt
- **budandterence.json**: Gelöscht
---
## 🔧 Technische Hinweise
### ComboBox mit Objekt-Modell
- **Problem**: `itemAt()` funktioniert nicht mit Array von Objekten in ComboBox
- **Lösung**: Direkter Zugriff auf `listObjects[i]` statt `combobox.itemAt(i)`
### Spruch-Laden bei Listenwechsel
- **Problem**: `get_current_fortune()` gibt gespeicherten Spruch zurück, nicht aus neuer Liste
- **Lösung**: `get_new_fortune()` lädt neuen Spruch aus aktueller Liste
### JSON-Formatierung
- Zeilenumbrüche in Strings: `\n\n` für Leerzeile, `\n` für Zeilenumbruch
- Bei Konvertierungen: Datei als Text lesen, nicht als JSON, um Newlines korrekt zu verarbeiten
## 📚 Siehe auch
- [ROUTINEN.md](./ROUTINEN.md) - Täglicher Workflow und Git-Branch-Strategie
### Git-Server (Gitea) auf YunoHost
- **Installation**: `sudo yunohost app install gitea`
- **Repository-URL**: `https://git.darklithium.de/<username>/<repo>`
- **SSH-URL**: `gitea@<server>:<username>/<repo>.git`
- **SSH-Key**: Benutzer `gitea` (nicht `git`) auf dem Server
- **Hinweis**: Externer SSH-Zugriff (Port 22) oft blockiert → intern oder HTTPS verwenden