def getTitleText(node): titlepart = node.findall('title-part') parts = [] for part in titlepart: text = utils.getElementAsciiText(part.find('text')) parts.append(text) return ";".join(parts)
continue patent.subclasses.append(subclass) subclass.count += 1 session.add(subclass) # get assignees assignees = list(root.iter("assignee")) assigneesList = [] # print "Num of assignees: ", len(assignees) if (len(assignees) == 0): applicants = list(root.iter("us-applicant")) # print "Num of applicants: ", len(applicants) for app in applicants: attributes = app.attrib orgname = utils.getFirstDescendant(app, "orgname") if (orgname is not None): name = utils.getElementAsciiText(orgname) else: lastnameNode = utils.getFirstDescendant(app, "last-name") lastname = utils.getElementAsciiText(lastnameNode) firstnameNode = utils.getFirstDescendant(app, "first-name") firstname = utils.getElementAsciiText(firstnameNode) name = firstname + " " + lastname countryNode = utils.getFirstDescendant(app, "country") country = utils.getElementAsciiText(countryNode) cityNode = utils.getFirstDescendant(app, "city") city = utils.getElementAsciiText(cityNode) tempAssignee = session.query(Assignee).filter( Assignee.orgname == name, Assignee.city == city, Assignee.country == country) if (tempAssignee.count() == 0):
continue; patent.subclasses.append(subclass) subclass.count+=1 session.add(subclass) # get assignees assignees = list(root.iter("assignee")) assigneesList = [] # print "Num of assignees: ", len(assignees) if(len(assignees) == 0): applicants = list(root.iter("us-applicant")) # print "Num of applicants: ", len(applicants) for app in applicants: attributes = app.attrib orgname = utils.getFirstDescendant(app, "orgname") if(orgname is not None): name = utils.getElementAsciiText(orgname) else: lastnameNode = utils.getFirstDescendant(app, "last-name") lastname = utils.getElementAsciiText(lastnameNode) firstnameNode = utils.getFirstDescendant(app, "first-name") firstname = utils.getElementAsciiText(firstnameNode) name = firstname + " " + lastname; countryNode = utils.getFirstDescendant(app, "country") country = utils.getElementAsciiText(countryNode) cityNode = utils.getFirstDescendant(app, "city") city = utils.getElementAsciiText(cityNode) tempAssignee = session.query(Assignee).filter(Assignee.orgname == name, Assignee.city == city, Assignee.country == country) if(tempAssignee.count()==0): applicant = Assignee(name, city, country) session.add(applicant)