|
1 |
| -import odml.tools.xmlparser as xml |
2 |
| -import odml.tools.jsonparser as json |
| 1 | +from .tools.odmlparser import ODMLReader, ODMLWriter |
3 | 2 |
|
4 |
| -parsers = ["xml", "json"] |
| 3 | +parsers = ["xml", "json", "yaml"] |
5 | 4 |
|
6 | 5 |
|
7 | 6 | 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) |
15 | 9 |
|
16 | 10 |
|
17 | 11 | 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) |
25 | 14 |
|
26 | 15 |
|
27 | 16 | 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 |
0 commit comments