Prepare macOS package and improve output handling

This commit is contained in:
2026-08-09 12:09:08 +02:00
parent eb915333f0
commit 355ea3e509
36 changed files with 211 additions and 9519 deletions
+49 -37
View File
@@ -1,65 +1,77 @@
# radioeins Top-100-Auswertung
## Installation in PowerShell
Dieses kleine Python-Skript liest die Top-10-Listen einer radioeins-Top-100-Jury
ein und erstellt daraus eine Gesamtwertung. Titel werden unabhängig vom
Künstler anhand einer normalisierten Schreibweise zusammengefasst.
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
## Installation unter macOS
1. Das Repository herunterladen oder klonen.
2. Im Finder `install.command` doppelt anklicken.
Falls macOS das Öffnen verhindert: Rechtsklick auf die Datei, **Öffnen** wählen
und bestätigen. Der Installer legt `.venv` an und installiert die benötigten
Python-Pakete. Er kann jederzeit erneut ausgeführt werden.
Alternativ im Terminal:
```sh
./install.command
```
Falls die virtuelle Umgebung bereits aktiv ist, nur:
Voraussetzung ist `python3` (Python 3.10 oder neuer).
```powershell
python -m pip install -r requirements.txt
## Verwendung unter macOS
`radioeins-top100.command` im Finder doppelt anklicken und die URL einer
radioeins-Top-100-Übersichtsseite eingeben, zum Beispiel:
```text
https://www.radioeins.de/musik/top_100/2026/deutscher-hip-hop/
```
## Testlauf mit drei Juryseiten
Die URL muss auf die Übersichtsseite zeigen, unterhalb derer die einzelnen
Juryseiten als `.html`-Seiten verlinkt sind. Der Ausgabeordner wird aus dem
letzten Teil des URL-Pfads gebildet. Beispielsweise schreibt eine URL mit
`/2026/deutscher-hip-hop/` ihre Ergebnisse nach `output_deutscher-hip-hop`.
```powershell
python .\radioeins_top100.py --limit 3
## Verwendung im Terminal
```sh
./.venv/bin/python radioeins_top100.py "URL_DER_ÜBERSICHTSSEITE"
```
## Vollständige Auswertung
Optionen:
```powershell
python .\radioeins_top100.py
```text
--limit ANZAHL nur die ersten ANZAHL Juryseiten verarbeiten
--delay SEKUNDEN Pause zwischen Abrufen (Standard: 0.2)
--output ORDNER abweichenden Ausgabeordner verwenden
```
Für eine andere radioeins-Top-100-Seite:
Beispiel für einen kurzen Testlauf:
```powershell
python .\radioeins_top100.py "https://www.radioeins.de/musik/top_100/2026/ANDERES-THEMA/"
```sh
./.venv/bin/python radioeins_top100.py \
"https://www.radioeins.de/musik/top_100/2026/deutscher-hip-hop/" \
--limit 3
```
## Ergebnisdateien
Die Dateien werden unter `output` angelegt:
- `radioeins_top100.xlsx`
- `top100.csv`
- `gesamtwertung.csv`
- `einzelwertungen.csv`
- `unaufgeloeste_eintraege.csv`
- `fehler.csv`
## Schreibvarianten korrigieren
Der Ausgabeordner wird bei Bedarf automatisch erstellt. Bereits vorhandene
Dateien gleichen Namens werden bei einem neuen Lauf ersetzt. Mit `--output`
kann jederzeit ausdrücklich ein anderer Ordner gewählt werden; diese Angabe
hat Vorrang vor dem aus der URL abgeleiteten Namen.
Bestätigte Varianten in `output\title_aliases.csv` eintragen:
## Tests
```csv
variant,canonical
Weck mich auf,Weck Mich Auf
```sh
./.venv/bin/python -m unittest discover -s tests
```
## Unklare Interpret-Titel-Trennung korrigieren
Einträge aus `output\unaufgeloeste_eintraege.csv` in
`output\split_overrides.csv` übernehmen:
```csv
raw,artist,title
Samy Deluxe Weck Mich Auf,Samy Deluxe,Weck Mich Auf
```
Danach das Skript erneut starten.