def __init__(self, node): self.id = xmlutil.getTextFromNodeCalled('id', node) self.gender = xmlutil.getTextFromNodeCalled('gender', node) self.minAge = xmlutil.getTextFromNodeCalled('minAge', node) self.maxAge = xmlutil.getTextFromNodeCalled('maxAge', node) self.locations = [] lcNodes = node.getElementsByTagName('location_countries') if len(lcNodes) > 0: cNodes = lcNodes[0].getElementsByTagName('country') for countryNode in cNodes: self.locations.append(xmlutil.getText(countryNode)) self.conditions = [] cNodes = node.getElementsByTagName('condition') for cNode in cNodes: self.conditions.append(ReportEntry(cNode)) self.eligibilityCriteria = [] ecNodes = node.getElementsByTagName('eligibility') if len(ecNodes) > 0: cNodes = ecNodes[0].getElementsByTagName('criteria') for cNode in cNodes: self.eligibilityCriteria.append(ReportEntry(cNode)) self.inclusionCriteria = [] icNodes = node.getElementsByTagName('inclusion') if len(icNodes) > 0: cNodes = icNodes[0].getElementsByTagName('criteria') for cNode in cNodes: self.inclusionCriteria.append(ReportEntry(cNode)) self.exclusionCriteria = [] ecNodes = node.getElementsByTagName('exclusion') if len(ecNodes) > 0: cNodes = ecNodes[0].getElementsByTagName('criteria') for cNode in cNodes: self.exclusionCriteria.append(ReportEntry(cNode)) self.interventions = [] iNodes = node.getElementsByTagName('intervention') for iNode in iNodes: self.interventions.append(Intervention(iNode)) self.outcomes = [] oNodes = node.getElementsByTagName('outcome') for oNode in oNodes: self.outcomes.append(Outcome(oNode))
def getPublicationDate(self): """ Return a string with month and year of publication """ if self._journalNode is None: return '' year = xmlutil.getTextFromNodeCalled('Year', self._journalNode) return year
def getJournal(self): """ Return name of journal """ if self._journalNode is None: return '' journalName = xmlutil.getTextFromNodeCalled('Title', self._journalNode) return journalName
def getAuthors(self): """ Return list of authors for the abstract """ if self._authorListNode is None: return [] authorNodeList = self._authorListNode.getElementsByTagName('Author') authorList = [] for authorNode in authorNodeList: initials = xmlutil.getTextFromNodeCalled('Initials', authorNode) lastName = xmlutil.getTextFromNodeCalled('LastName', authorNode) if lastName is "" and initials is "": # no author name, it could be a collective collectiveName = xmlutil.getTextFromNodeCalled('CollectiveName', authorNode) if collectiveName is not "": authorList.append(collectiveName) else: authorList.append('%s %s' % (initials, lastName)) return authorList