Skip to content

Commit 3f11ff9

Browse files
committed
[tools/odmlparser] Add show warnings on load
1 parent 9988ad1 commit 3f11ff9

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

odml/tools/odmlparser.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,25 @@ class ODMLReader:
107107
json_odml_doc = ODMLReader(parser='JSON').from_file("odml_doc.json")
108108
"""
109109

110-
def __init__(self, parser='XML'):
110+
def __init__(self, parser='XML', show_warnings=True):
111+
"""
112+
:param parser: odml parser; supported are 'XML', 'JSON', 'YAML' and 'RDF'.
113+
:param show_warnings: Toggle whether to print warnings to the command line.
114+
"""
111115
self.doc = None # odML document
112116
self.parsed_doc = None # Python dictionary object equivalent
113117
parser = parser.upper()
114118
if parser not in SUPPORTED_PARSERS:
115119
raise NotImplementedError("'%s' odML parser does not exist!" % parser)
116120
self.parser = parser
121+
self.show_warnings = show_warnings
117122
self.warnings = []
118123

119124
def from_file(self, file, doc_format=None):
120125

121126
if self.parser == 'XML':
122-
par = xmlparser.XMLReader(ignore_errors=True)
127+
par = xmlparser.XMLReader(ignore_errors=True,
128+
show_warnings=self.show_warnings)
123129
self.warnings = par.warnings
124130
self.doc = par.from_file(file)
125131
return self.doc
@@ -132,7 +138,8 @@ def from_file(self, file, doc_format=None):
132138
print(err)
133139
return
134140

135-
self.doc = DictReader().to_odml(self.parsed_doc)
141+
par = DictReader(show_warnings=self.show_warnings)
142+
self.doc = par.to_odml(self.parsed_doc)
136143
# Provide original file name via the in memory document
137144
self.doc._origin_file_name = basename(file)
138145
return self.doc
@@ -145,7 +152,8 @@ def from_file(self, file, doc_format=None):
145152
print("JSON Decoder Error: %s" % err)
146153
return
147154

148-
self.doc = DictReader().to_odml(self.parsed_doc)
155+
par = DictReader(show_warnings=self.show_warnings)
156+
self.doc = par.to_odml(self.parsed_doc)
149157
# Provide original file name via the in memory document
150158
self.doc._origin_file_name = basename(file)
151159
return self.doc

0 commit comments

Comments
 (0)