Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def parse(self, refid):
filename = self.path_handler.join(self.project_info.path(), "%s.xml" % refid)
try:
# Try to get from our cache
return self.cache[filename]
except KeyError:
# If that fails, parse it afresh
try:
result = breathe.parser.doxygen.compound.parse(filename)
self.cache[filename] = result
return result
except breathe.parser.doxygen.compound.ParseError:
raise ParserError(filename)
filename = self.path_handler.join(self.project_info.project_path(), "%s.xml" % refid)
self.file_state_cache.update(filename)
try:
# Try to get from our cache
return self.cache[filename]
except KeyError:
# If that fails, parse it afresh
try:
result = breathe.parser.doxygen.compound.parse(filename)
self.cache[filename] = result
return result
except breathe.parser.doxygen.compound.ParseError, e:
raise ParserError(e, filename)
except breathe.parser.doxygen.compound.FileIOError, e:
raise FileIOError(e, filename)
filename = self.path_handler.join(project_info.project_path(), "index.xml")
self.file_state_cache.update(filename)
try:
# Try to get from our cache
return self.cache[filename]
except KeyError:
# If that fails, parse it afresh
try:
result = breathe.parser.doxygen.index.parse(filename)
self.cache[filename] = result
return result
except breathe.parser.doxygen.index.ParseError, e:
raise ParserError(e, filename)
except breathe.parser.doxygen.index.FileIOError, e:
raise FileIOError(e, filename)