Giter Club home page Giter Club logo

dsvparser's Introduction

📝 dsvparser

Go

dsvparser logo

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.

💻 Entwicklung

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.

Funktionen

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.

📥 Nutzung

Das Package darf von jedem uneingeschränkt für kommerzielle und nicht-kommerzielle Projekte verwendet werden.

Installation

Importieren des Packages:

go get github.com/konrad2002/[email protected]

Beispiel

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

📋 Standard

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.

🏊‍♀️ SwimResults

Im Rahmen der Entwicklung von SwimResults kam Bedarf für einen DSV7 Parser auf, welcher in diesem Repository unabhängig von SwimResults implementiert wird.

📄 Changelogs

v1.1.0 & v1.2.0

  • Behebt einen Bug, bei dem einige Methoden nicht public waren

v1.0.0

  • 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

v0.1.0

  • erste Implementierung für Parser, Scanner und Reader
  • kann nun Wettkampfdefinitionslisten und Wettkampfergebnislisten parsen

v0.0.3

  • make importable using import "github.com/konrad2002/dsvparser"

v0.0.2

  • Weitere Datentypen: Geschlecht, Kampfgericht Position, Meldegeld Typ und Wertungsklasse
  • Model für "Elemente" des Formats "Wettkampfergebnisliste"
  • vorerst KEINE Unterstützung für Staffelergebnisse

v0.0.1

  • initiale Implementierung der Datentypen des DSV7 Standards (Datum, Uhrzeit und Zeit).
  • Model für alle "Elemente" des Formats "Wettkampfdefinitionsliste"

dsvparser's People

Contributors

konrad2002 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

dsvparser's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.