mirror of
https://github.com/TheRealOwenRees/pgn_to_tex.git
synced 2026-07-23 12:06:58 +00:00
convert json string to movemap
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
(library
|
(library
|
||||||
(name pgn_logic)
|
(name pgn_logic)
|
||||||
(public_name pgn_to_tex)
|
(public_name pgn_to_tex)
|
||||||
(libraries sedlex menhirLib)
|
(libraries sedlex menhirLib yojson)
|
||||||
(modules ast parser lexer parsing latex latex_helpers pgn2tex nag)
|
(modules ast parser lexer parsing latex latex_helpers pgn2tex nag)
|
||||||
(preprocess
|
(preprocess
|
||||||
(pps sedlex.ppx)))
|
(pps sedlex.ppx)))
|
||||||
|
|||||||
@@ -1,4 +1,17 @@
|
|||||||
module MoveMap = Ast.MoveMap
|
module MoveMap = Ast.MoveMap
|
||||||
|
open Yojson.Safe.Util
|
||||||
|
|
||||||
|
let parse_diagrams_json diagrams_json_str =
|
||||||
|
try
|
||||||
|
let json = Yojson.Safe.from_string diagrams_json_str in
|
||||||
|
let diagrams_list = to_list json in
|
||||||
|
List.fold_left
|
||||||
|
(fun acc_map item ->
|
||||||
|
let ply = item |> member "ply" |> to_int in
|
||||||
|
let fen = item |> member "fen" |> to_string in
|
||||||
|
MoveMap.add ply fen acc_map)
|
||||||
|
MoveMap.empty diagrams_list
|
||||||
|
with _ -> MoveMap.empty
|
||||||
|
|
||||||
let to_tex pgn ~diagram_data ~clock =
|
let to_tex pgn ~diagram_data ~clock =
|
||||||
let game = Parsing.parse_pgn pgn in
|
let game = Parsing.parse_pgn pgn in
|
||||||
|
|||||||
Reference in New Issue
Block a user