hoodle-parser 0.2.1 → 0.2.2
raw patch · 2 files changed
+27/−16 lines, 2 filesdep ~attoparsecdep ~hoodle-typesdep ~mtl
Dependency ranges changed: attoparsec, hoodle-types, mtl, strict, text, transformers, xournal-types
Files
hoodle-parser.cabal view
@@ -1,5 +1,5 @@ Name: hoodle-parser-Version: 0.2.1+Version: 0.2.2 Synopsis: Hoodle file parser Description: Text parser for hoodle xml file Homepage: http://ianwookim.org/hoodle@@ -20,15 +20,15 @@ ghc-options: -Wall -funbox-strict-fields -fno-warn-unused-do-bind ghc-prof-options: -caf-all -auto-all Build-Depends: base == 4.*, - mtl == 2.*, - transformers == 0.3.*, - attoparsec == 0.10.*, + mtl > 2, + transformers >= 0.3, + attoparsec >= 0.10, bytestring >= 0.9, containers >= 0.4, - strict == 0.3.*, - hoodle-types >= 0.2.1, - xournal-types >= 0.5.0.1,- text == 0.11.*,+ strict >= 0.3, + hoodle-types >= 0.2.2, + xournal-types >= 0.5.0.2,+ text >= 0.11, lens >= 2.5, either >= 3.1 Exposed-Modules:
src/Text/Hoodle/Parse/Attoparsec.hs view
@@ -127,7 +127,7 @@ -- | -onestroke :: Parser H.Item +onestroke :: Parser H.Stroke --- H.Item onestroke = do xstrk <- xmlstroke let r = case xstrk_width xstrk of @@ -138,7 +138,8 @@ VarWidth ws -> let xyz = mkXYZ (xstrk_xydata xstrk) ws in (H.VWStroke <$> xstrk_tool <*> xstrk_color <*> pure xyz) xstrk- (return . H.ItemStroke) r + -- (return . H.ItemStroke) r + return r -- | mkXYZ :: [Pair Double Double] -> [Double] -> [(Double,Double,Double)]@@ -338,7 +339,7 @@ layer = do trim layerheader <?> "layer" trim- itms <- many (try onestroke <|> try img <|> try svg_obj <|> link)+ itms <- many (try (H.ItemStroke <$> onestroke) <|> try img <|> try svg_obj <|> link) trim layerclose return $ H.Layer itms@@ -364,11 +365,21 @@ string "revmd5=\"" md5str <- manyTill anyChar (try (char '"')) skipSpace - string "revtxt=\""- txtstr <- manyTill anyChar (try (char '"')) - skipSpace- string "/>"- return (H.Revision (B.pack md5str) (B.pack txtstr))+ (try (do string "revtxt=\""+ txtstr <- manyTill anyChar (try (char '"')) + skipSpace+ string "/>"+ return (H.Revision (B.pack md5str) (B.pack txtstr)))+ <|> (do string "type=\"ink\""+ skipSpace+ char '>'+ skipSpace+ strks <- many1 onestroke+ skipSpace+ string "</revision>"+ return (H.RevisionInk (B.pack md5str) strks)))+ + embeddedpdf :: Parser (B.ByteString)