Browse Source

Got rid of 'Header' class in abstract syntax (moved its attributes right into XournalFile)

Joeri Exelmans 2 years ago
parent
commit
a84f473feb
2 changed files with 8 additions and 13 deletions
  1. 4 8
      src/xopp2py/abstract_syntax.py
  2. 4 5
      src/xopp2py/parser.py

+ 4 - 8
src/xopp2py/abstract_syntax.py

@@ -3,11 +3,6 @@
 from dataclasses import dataclass
 from decimal import Decimal
 
-@dataclass
-class Header:
-    creator: str     # e.g., "Xournal++ 1.1.2"
-    fileversion: int # e.g., 4
-
 @dataclass
 class Background:
     type: str  # could be enum
@@ -37,7 +32,8 @@ class Page:
 
 @dataclass
 class XournalFile:
-    header: Header
-    title: str      # obscure feature
-    preview: bytes  # PNG-encoded preview of the (first page) of the file
+    creator: str     # e.g., "Xournal++ 1.1.2"
+    fileversion: int # e.g., 4
+    title: str       # obscure feature
+    preview: bytes   # PNG-encoded preview of the (first page) of the file
     pages: list[Page]

+ 4 - 5
src/xopp2py/parser.py

@@ -50,10 +50,8 @@ def parseFile(path) -> abstract_syntax.XournalFile:
         for (event, element) in context:
             if event == "start":
                 if element.tag == "xournal":
-                    header = abstract_syntax.Header(
-                        creator=element.get("creator"),
-                        fileversion=int(element.get("fileversion")),
-                    )
+                    creator=element.get("creator")
+                    fileversion=int(element.get("fileversion"))
                 elif element.tag == "title":
                     title = element.text
                 elif element.tag == "preview":
@@ -65,7 +63,8 @@ def parseFile(path) -> abstract_syntax.XournalFile:
                     raise Error("Unsupported tag:" + element.tag)
 
         return abstract_syntax.XournalFile(
-            header=header,
+            creator=creator,
+            fileversion=fileversion,
             title=title,
             preview=preview,
             pages=pages)