Previous: Felo und andere Sportarten, Up: Felo-Zahlen -- etwas Hintergrund


5.4 Felo für Programmierer

Dieser Abschnitt ist für Programmierer gedacht, die Felo in eigenen Programmen benutzen wollen.

Eine grafische Bedienoberfläche ist nett, aber mit der kann man kaum etwas automatisieren. Beispielsweise ist es damit unmöglich, die aktuellen Felo-Zahlen einer Fechtergruppe in eine bestehende Webseite perfekt zu integrieren. Insbesondere kann man mit dem Standard-Felo-Programm nicht die Zahlen von Florett- und Degenfechtern auf einer Web-Seite unterbringen.

Für die meisten wird das kein Beinbruch sein, aber wer die totale Kontrolle haben möchte, bekommt sie, und zwar gleich auf zwei verschiedene Arten.

Zum einen kann man das Python-Modul felo_rating.py als Kommandozeilen-Programm aufrufen. Ich gebe hier mal nur den Hilfe-Text dieses Programms an:

     Aufruf: felo_rating.py [Optionen]
     
     Optionen:
       -h, --help            Zeige diese Meldung und beende das Programm
       -p, --plots           Erzeuge Plots der Felo-Zahlen
       -b, --bootstrap       Versuche, gute Start-Felo-Zahlen fuer alle zu
                             berechnen
       --max-cycles=NUMMER   Maximale Iterationsschritte beim Bootstrapping.
                             Default: 1000
       --estimate-freshmen   Versuche, Neueinsteiger zu bewerten
       --write-back          Schreibe die neuen Startzahlen zurueck in die Felo-
                             Datei
       --version             Zeige Versionsnummer und Lizenz-Informationen
       -o DATEINAME, --output=DATEINAME
                             Name der Ausgabedatei.  Default: Ausgabe auf dem
                             Bildschirm (stdout)

Wer Felo als GUI-Programm einigermaßen verstanden hat, wird wissen, was die einzelnen Optionen bedeuten. Selbstverständlich ist das Eingabeformat genau dasselbe Dateiformat wie in der GUI-Version. Das Ausgabeformat ist recht simpel und kann von einem eigenen Programm eingelesen werden.

Zum anderen kann man auch direkt in Python ein eigenes Programm schreiben und felo_rating.py als Modul einbinden. Man kann dann Felos API nutzen, um eigene Programme mit Felo-Zahlen zu schreiben.