def dsIdToSuffix(dsId): """Translate a MetaType/ID into a file suffix""" dsIds = DataSetMetaTypes.ALL suffixMap = {dsId: dsIdToName(dsId) for dsId in dsIds} suffixMap[toDsId("DataSet")] = 'DataSet' if DataSetMetaTypes.isValid(dsId): suffix = suffixMap[dsId] suffix = suffix.lower() suffix += '.xml' return suffix else: raise InvalidDataSetIOError("Invalid DataSet MetaType")
def __parseMetadata(xsd_name, tag_name, return_type, filename): fileLocation = uri2fn(filename) tree = ET.parse(fileLocation) dsm_tag = (".//{http://pacificbiosciences.com/" + xsd_name + "}" + tag_name) try: metadata = _eleToDictList(tree.getroot().find(dsm_tag)) except AttributeError: # the tag wasn't found, we're trying to do something with None raise InvalidDataSetIOError("Unable to parse metadata from " "{f}".format(f=filename)) return return_type(metadata)
def parseMetadata(filename): fileLocation = uri2fn(filename) tree = ET.parse(fileLocation) dsm_tag = (".//{http://pacificbiosciences.com/PacBioDatasets.xsd}" "DataSetMetadata") try: metadata = _parseXmlDataSetMetadata(tree.getroot().find(dsm_tag)) except AttributeError: # the tag wasn't found, we're trying to do something with None raise InvalidDataSetIOError("Unable to parse metadata from " "{f}".format(f=filename)) return metadata
def dsIdToName(dsId): """Translate a MetaType/ID into a class name""" if DataSetMetaTypes.isValid(dsId): return dsId.split('.')[-1] else: raise InvalidDataSetIOError("Invalid DataSet MetaType")