ecrucru / boards Goto Github PK
View Code? Open in Web Editor NEWDownload helper for board games (chess, draughts, go and mill) - Convert URL to PGN/KIF/PDN/SGF/TXT
License: GNU General Public License v3.0
Download helper for board games (chess, draughts, go and mill) - Convert URL to PGN/KIF/PDN/SGF/TXT
License: GNU General Public License v3.0
@ecrucru
But that's not quite right yet. :) (Problem with the solution of Issue #3 and #4)
Command:
python boards.py download https://view.livechesscloud.com/#1eb49a34-ddb6-436a-b1bf-f4fc03c488d1
Result:
[Event "20. Bad Koenigshofen Open 2023"]
[Site "DE Bad Koenigshofen"]
[Date "2023-12-30"]
[Round "7.41"]
[White "Janotta Günther"]
[Black "Salomatina Anastasiia"]
[Result "1-0"]
[TimeControl "Fischer Short"]
1. d3 e5 2. g3 d5 3. f4 exf4 4. Bxf4 Nc6 5. Bg2 Nf6 6. Nf3 Bb4+ 7. c3 Ba5 8. O-O O-O 9. h3 Ne7 10. Qc2 Be6 11. Nbd2 c5 12. d4 cxd4 13. Nxd4 Bd7 14. Bg5 h6 15. Bxf6 gxf6 16. Rxf6 Kg7 17. Raf1 Bf5 18. R6xf5 Nxf5 19. Nxf5+ Kg6 20. Bxd5 b6 21. Ne7+ Kg7 22. b4 Bxb4 23. cxb4 f5 24. Nxf5+ Kg6 25. Ne7+ Kg7 26. Qg6+ Kh8 27. Qxh6# 1-0
The problem is the spaces after the dots. To import this into chess programs (such as ChessBase) the PGN protocol must be followed.
Correct PGN:
[Event "20.Bad Koenigshofen Open 2023"]
[Site "DE Bad Koenigshofen"]
[Date "2023-12-30"]
[Round "7.41"]
[White "Janotta Günther"]
[Black "Salomatina Anastasiia"]
[Result "1-0"]
[TimeControl "Fischer Short"]
1.d3 e5 2.g3 d5 3.f4 exf4 4.Bxf4 Nc6 5.Bg2 Nf6 6.Nf3 Bb4+ 7.c3 Ba5 8.O-O O-O 9.h3 Ne7 10.Qc2 Be6 11.Nbd2 c5 12.d4 cxd4 13.Nxd4 Bd7 14.Bg5 h6 15.Bxf6 gxf6 16.Rxf6 Kg7 17.Raf1 Bf5 18.R6xf5 Nxf5 19.Nxf5+ Kg6 20.Bxd5 b6 21.Ne7+ Kg7 22.b4 Bxb4 23.cxb4 f5 24.Nxf5+ Kg6 25.Ne7+ Kg7 26.Qg6+ Kh8 27.Qxh6# 1-0
I am aware that these are only minimal things, but the chess programs have problems with them.
boards/lib/bp_livechesscloud.py
Line 99 in b4b004a
game['_moves'] += str(move_number // 2 + 1) + '.'
Hi,
downloading pgn from LiveChessCloud.com does not export Round tag. Sometimes there is also Board indicated, so it could be useful to export both together as one Round tag (for example Round 3, Board 5 as Round 3.5).
Hi,
Thanks for your great tool. Unfortunately, the PGN is missing the move numbers, which means that the format cannot be read. Can you please add them?
python boards.py download https://view.livechesscloud.com/#1eb49a34-ddb6-436a-b1bf-f4fc03c488d1
Example:
[Event "20. Bad Koenigshofen Open 2023"]
[Site "DE Bad Koenigshofen"]
[Date "2023-12-27"]
[Round "1.1"]
[White "Babiy Olga"]
[Black "Heerlein Gerd"]
[Result "1-0"]
[TimeControl "Fischer Short"]
d4 Nf6 Nc3 g6 e4 d6 f4 Bg7 Nf3 O-O Bd3 Na6 O-O c5 d5 Rb8 a4 Nc7 Qe1 b6 Qh4 a6 f5 gxf5 Bh6 Bxh6 Qxh6 b5 Ng5 c4 e5 dxe5 Rxf5 Bxf5 Bxf5 e6 Bxh7+ Kh8 Be4+ Kg8 Rf1 Ncxd5 Nxd5 exd5 Rxf6 1-0
A fellow student has just pointed out a small mistake to me.
Command:
python3 boards.py download https://view.livechesscloud.com/\#1eb49a34-ddb6-436a-b1bf-f4fc03c488d1
Result:
[Event "20. Bad Koenigshofen Open 2023"]
[Site "DE Bad Koenigshofen"]
[Date "2023-12-30"]
[Round "7.40"]
[White "Hartel Paul"]
[Black "Zielke Antonin"]
[Result "1-0"]
[TimeControl "Fischer Short"]
1.e4 e5 2.Nc3 Nf6 3.f4 Nc6 4.fxe5 Nxe5 5.d4 Nc6 6.e5 Ng8 7.Nf3 Bb4 8.Bc4 d5 9.exd6 cxd6 10.O-O Nf6 11.Re1+ Ne7 12.Bd2 Bg4 13.h3 Bxf3 14.Qxf3 O-O 15.a3 Bxc3 16.Bxc3 Ng6 17.Qxb7 Rb8 18.Qxa7 d5 19.Bd3 Qd6 20.Bb4 Qc6 21.Bxf8 Ra8 22.Qc5 Qxc5 23.Bxc5 Ra4 24.Bxg6 hxg6 25.c3 Rc4 26.Re5 Nd7 27.Rxd5 Nf6 28.Rd8+ Kh7 29.Rc1 Ra4 30.Re1 g5 31.Be7 Ng8 32.Bxg5 f6 33.Bh4 g5 34.Rd7+ Kg6 35.Bg3 Nh6 36.Re6 Nf5 37.Kf2 Kh5 38.Rxf6 Nh4 39.Rh7# 1-0
The problem is that ChessBase and "the PGN" have the following standard last name, first name
. In the current example, the comma is missing. Could you please add it?
Thank you.
[Event "20. Bad Koenigshofen Open 2023"]
[Site "DE Bad Koenigshofen"]
[Date "2023-12-30"]
[Round "7.40"]
[White "Hartel, Paul"]
[Black "Zielke, Antonin"]
[Result "1-0"]
[TimeControl "Fischer Short"]
1.e4 e5 2.Nc3 Nf6 3.f4 Nc6 4.fxe5 Nxe5 5.d4 Nc6 6.e5 Ng8 7.Nf3 Bb4 8.Bc4 d5 9.exd6 cxd6 10.O-O Nf6 11.Re1+ Ne7 12.Bd2 Bg4 13.h3 Bxf3 14.Qxf3 O-O 15.a3 Bxc3 16.Bxc3 Ng6 17.Qxb7 Rb8 18.Qxa7 d5 19.Bd3 Qd6 20.Bb4 Qc6 21.Bxf8 Ra8 22.Qc5 Qxc5 23.Bxc5 Ra4 24.Bxg6 hxg6 25.c3 Rc4 26.Re5 Nd7 27.Rxd5 Nf6 28.Rd8+ Kh7 29.Rc1 Ra4 30.Re1 g5 31.Be7 Ng8 32.Bxg5 f6 33.Bh4 g5 34.Rd7+ Kg6 35.Bg3 Nh6 36.Re6 Nf5 37.Kf2 Kh5 38.Rxf6 Nh4 39.Rh7# 1-0
I am aware that these are only very small changes. But these are changes that Chessbase and other databases have problems with. I wish you a happy new year.
If you want, I can make you a pull request, then you would only need to merge it. ^^
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.