chessmail

Partien runterladen

hinundher - 04. Nov '21
Kann man die gespielten Partien nur einzeln runterladen?
Ich habe mittlerweile über 1.000 Partien gespielt und möchte gerne alle in einem Rutsch runterladen. Ist das möglich?
Voyaman - 05. Nov '21
Ja, das würde ich auch gerne machen wollen. Es wäre klasse, wenn dies möglich wäre 🙏👍
Brett_im_Kopf - 05. Nov '21
Mich interessiert das auch.
shaack - 05. Nov '21
Okay, die Funktion scheint begehrt zu sein. Ich schau mal, was sich machen lässt. Wie wäre das Dateiformat am sinnvollsten? Ein großes PGN mit allen Spielen untereinander?
Brett_im_Kopf - 05. Nov '21
...ich nehme das was für dich am besten geht.
toby84 - 05. Nov '21
ich bezweifle, dass das beim programmieren einen großen unterschied macht. die frage ist, was ihr wollt.
hinundher - 05. Nov '21
bei Lichess geht es z.B. sehr einfach: lichess.org/@/basic-chess-coach/download
Das Format ist fast egal, wichtig ist nur, dass man die Partien an eine bestehende cbh Datenbank (z.B. mit dem Datenbankprogramm chessbase) anhängen kann. pgn funktioniert da ganz gut
Voyaman - 05. Nov '21
@hinundher: 👍
Oli1970 - 05. Nov '21
PGN kann zumindest jedes gängige Schachprogramm. Andere Notationsformen wäre wohl eher ein Glückstreffer.

Nächste Frage ist die Zeichenkodierung. Ich nehme an, heute verarbeitet alles UTF-8. Der PGN-Standard sieht ISO 8859/1 (Latin 1) vor. Gibt es noch Schachprogramme, die zwingend Latin 1 benötigen?
shaack - 06. Nov '21
Interessanter Aspekt. Da aber aktuell keine Kommentare im PGN sind, ist es aber quasi egal, ob utf-8 oder Latin 1, weil keine Sonderzeichen vorhanden sind.

Was glaube ich noch interessant wäre, wäre die Eventualzüge als Varianten dem PGN hinzuzufügen.
Oli1970 - 06. Nov '21
Die Spielernamen könnten Sonderzeichen (=Umlaute, ß) enthalten. Damit gibt es immer mal wieder Probleme. Ist ein großes Chaos, ob Latin 1 / ISO 8859-1 als Windows 1252 interpretiert wird. Ich meine, dass der ursprüngliche Standard nur 7-Bit-kodiert war.
Oli1970 - 06. Nov '21
Nochmals nachgelesen sind die von mir gedachten Probleme wohl eher auf der Import-Seite zu erwarten, wenn das Zielsystem nicht weiß, ob es Bytes >127 als UTF-8 (2 Bytes) oder als Latin-1 (1 Byte) interpretieren muss. Die ersten 7 Bits entsprechen ASCII.
shaack - 06. Nov '21
Theoretisch müssten ASCIII, Latin-1 und UTF-8 zueinander kompatibel sein, wenn keine Sonderzeichen vorkommen. chessmail Nutzernamen haben keine Sonderzeichen, ausser "-_.", die in 7bit enthalten sind tools.piex.at/ascii-tabelle/

Noch eine Frage zum Inhalt des PGN. Ich finde in der Spezifikation nichts darüber, wie man mehrere Spiele in eine PGN-Datei packt saremba.de/chessgml/standards/pgn/pgn-complete.htm

Wie handhaben das die geläufigen Programme, wie Chessbase? Kann mir jemand mal eine Chessbase kompatible PGN-Datei mit mehreren Spielen an chessmail.support@gmail.com zusenden?
toby84 - 06. Nov '21
willst du für das joinen keine externen libraries verwenden? für c# zum beispiel habe ich gestern beim googeln direkt was gefunden.
shaack - 06. Nov '21
Naja, es geht eher um die Trennung der PNGs in der Datei durch ein oder zwei Leerzeilen, da wäre eine Library übertrieben.
toby84 - 06. Nov '21
ja wenn es da keine metadaten zu berücksichtigen gibt, wäre das tatäschlich übertrieben.
Oli1970 - 06. Nov '21
PGN-Exporte verwenden eine Leerzeile zwischen den Spielen. Wobei mehrere Leerzeilen beim Import vermutlich einfach übergangen werden; hier habe ich jedenfalls (kein Chessbase) noch keine Probleme gehabt.

Laut Hexeditor werden die Zeilenenden durch 0Dh 0Ah eingestellt (also CR + LF) umgesetzt, so natürlich auch die Leerzeile selbst. Auch das letzte Spiel hat die Leerzeile angehängt (wird wohl an der programmierten Schleife liegen 😀). Die ersten sieben Tags haben übrigens eine vorgegebene Reihenfolge, aber auch bei Abweichung habe ich keine Schwierigkeiten erlebt. Oft genug fehlen einzelne Tags vollständig.

Ende eines Spiels und Übergang zum nächsten in einer PGN-Sammlung:
1-0

[
hat die Bytefolge: 31 2D 30 0D 0A 0D 0A 5B

UTF-8-Exporte aus SCID vs PC verwenden übrigens das einleitende BOM EF BF BB. Bei Latin-1 gibt es kein BOM bzw. keine Magic Number.
Oli1970 - 06. Nov '21
Sorry, EF BB BF sollte es heißen. Abschreiben will gelernt sein.
kingcrusher - 15. Nov '21
So, Freunde der Nacht ;-)

Ich hab da mal was kleines vorbereitet (bis shaack evtl. selbst was baut); zu finden hier:

dropbox.com/s/x7b0fcl4ioj86vi/chessmail-pgn-tool.jar?dl=0

Läuft ab Java Version 1.8
Minimal-Aufruf wäre (von der Kommandozeile; Windows+R und dann "cmd", dann Enter):
java -jar chessmail-pgn-tool.jar -u <euer Username> -p <das Login-Passwort>

So lädt das Tool alle eure beendeten Partien in das Verzeichnis herunter, in dem ihr euch gerade befindet.

Ihr solltet dann so einen ähnlichen Output sehen:
Starting at 00:38:04
Logging in...
Processing....................................................................................................................................................................................................................................................................................................................................................
Logging out...
Done at 00:41:11
Duration: 0 hours 3 minutes 7 seconds
Games count: 5093

Und in dem Ordner sollte sich eine Datei namens "allInOne.pgn" befinden.

Der Vollständigkeit halber:
java -jar chessmail-pgn-tool.jar
Missing required options: u, p
usage: utility-name
-f <arg> output folder
-p <arg> password
-u <arg> username
-v verbose

Viel Spaß ;-)
Dieser Beitrag kann nicht mehr kommentiert werden