Skip to content

Commit 7d8c2c9

Browse files
committed
Rewrite load/save to use generic reader/writer
1 parent 684655f commit 7d8c2c9

File tree

2 files changed

+9
-25
lines changed

2 files changed

+9
-25
lines changed

odml/fileio.py

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,18 @@
1-
import odml.tools.xmlparser as xml
2-
import odml.tools.jsonparser as json
1+
from .tools.odmlparser import ODMLReader, ODMLWriter
32

4-
parsers = ["xml", "json"]
3+
parsers = ["xml", "json", "yaml"]
54

65

76
def load(filename, backend="xml"):
8-
if backend in parsers:
9-
if backend == "xml":
10-
return xml.load(filename)
11-
elif backend == "json":
12-
return json.JSONReader().fromFile(open(filename))
13-
else:
14-
raise ValueError("No such parser")
7+
reader = ODMLReader(backend)
8+
return reader.fromFile(filename)
159

1610

1711
def save(obj, filename, backend="xml"):
18-
if backend in parsers:
19-
if backend == "xml":
20-
xml.XMLWriter(obj).write_file(filename)
21-
elif backend == "json":
22-
json.JSONWriter(obj).write_file(filename)
23-
else:
24-
raise ValueError("No such parser")
12+
writer = ODMLWriter(backend)
13+
return writer.write_file(obj, filename)
2514

2615

2716
def display(obj, backend="xml"):
28-
if backend in parsers:
29-
if backend == "xml":
30-
print(str(xml.XMLWriter(obj)))
31-
elif backend == "json":
32-
print(str(json.JSONWriter(obj)))
33-
else:
34-
raise ValueError("No such parser")
17+
# needs to be handled through the generic ODMLWriter
18+
pass

odml/tools/odmlparser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import yaml
1111
import json
12-
from odml import format
12+
from .. import format
1313
from . import xmlparser
1414

1515
# FIX ME: Version should not be hardcoded here. Import from odML module after

0 commit comments

Comments
 (0)