Dieses Go "Package" enthält einen Parser für das Datenaustauschdateiformat des Deutschen Schwimm-Verband e.V. (DSV). Die aktuelle Version soll die Standards DSV6 und DSV7 unterstützen.
If you are looking for a parser for the LENEX file format, check konrad2002/lenexparser.
Dieses Projekt befindet sich momentan in der Entwicklung und viele Funktionen fehlen aktuell noch. Zum Mitwirken am Projekt können entweder Pull Requests gestellt werden oder @konrad2002 kontaktiert werden.
Gegenwärtig werden folgende Listentypen und DSV Dateiversionen unterstützt
Listenart | DSV6 | DSV7 |
---|---|---|
Wettkampfdefinitionsliste | 🟦 | 🟩 |
Vereinsmeldeliste | 🟥 | 🟥 |
Wettkampfergebnisliste | 🟨 | 🟨 |
Vereinsergebnisliste | 🟥 | 🟥 |
- 🟩 - unterstützt (getestet)
- 🟦 - unterstützt (nicht getestet)
- 🟨 - teilweise unterstützt
- 🟥 - nicht unterstützt
Bei Wettkampfergebnislisten werden aktuell KEINE Staffeln unterstützt.
Das Package darf von jedem uneingeschränkt für kommerzielle und nicht-kommerzielle Projekte verwendet werden.
Importieren des Packages:
go get github.com/konrad2002/dsvparser@v1.2.1
Verwendung zum Parsen von lokaler DSV7 Datei und Auslesen der PLZ des Veranstaltungsortes:
import (
// ...
"github.com/konrad2002/dsvparser/model"
"github.com/konrad2002/dsvparser/parser"
)
func VeranstaltungsortPlz() string {
dat, err := os.ReadFile("definition.dsv7")
if err != nil {
panic(err)
}
buf := bytes.NewBuffer(dat)
r := parser.NewReader(buf)
res, err := r.Read()
if err != nil {
panic(err)
}
def := res.(*model.Wettkampfdefinitionsliste)
return def.Veranstaltungsort.PLZ
}
Ein umfangreicheres Beispiel mit Definitions- und Ergebnislisten kann hier gefunden werden: SwimResults DSV Importer
Der DSV7 Standard wurde vom Deutschen Schwimm-Verband e.V. (DSV) mit Gültigkeit ab 1.1.2023 herausgegeben und ersetzt damit den vorherigen DSV6 Standard. Dateien des DSV Standards sind UTF-8 kodierte Textdateien, welche ein Datenformat für den Informationsaustausch im deutschen Schwimmsport darstellen. Die Spezifikationen das DSV7 Standards lassen sich 🔗 hier nachlesen.
Im Rahmen der Entwicklung von SwimResults kam Bedarf für einen DSV7 Parser auf, welcher in diesem Repository unabhängig von SwimResults implementiert wird.
- Behebt einen Bug, bei dem einige Methoden nicht
public
waren
- erste funktionsfähige Vollversion
- Unterstützt Wettkampfdefinitionslisten und Wettkampfergebnislisten
- kann dieser aus Buffer parsen
- keine Unterstützung für Staffeln
- keine Unterstützung für Vereinslisten
- erste Implementierung für Parser, Scanner und Reader
- kann nun Wettkampfdefinitionslisten und Wettkampfergebnislisten parsen
- make importable using
import "github.com/konrad2002/dsvparser"
- Weitere Datentypen: Geschlecht, Kampfgericht Position, Meldegeld Typ und Wertungsklasse
- Model für "Elemente" des Formats "Wettkampfergebnisliste"
- vorerst KEINE Unterstützung für Staffelergebnisse
- initiale Implementierung der Datentypen des DSV7 Standards (Datum, Uhrzeit und Zeit).
- Model für alle "Elemente" des Formats "Wettkampfdefinitionsliste"