parser.parse(serverUrl + query + bug_key + "/" + bug_key + ".xml") issue = handler.getIssue() bugsdb.insert_issue(issue, dbtrk.id) except Exception, e: #printerr(e) print(e) else: bugs_number = self.bugsNumber(url) for i in range(int(bugs_number)+1): if i != 0: bug_key = project + "-" + str(i) printdbg(serverUrl + query + bug_key + "/" + bug_key + ".xml") parser = xml.sax.make_parser( ) handler = BugsHandler( ) parser.setContentHandler(handler) try: parser.parse(serverUrl + query + bug_key + "/" + bug_key + ".xml") issue = handler.getIssue() bugsdb.insert_issue(issue, dbtrk.id) except Exception, e: #printerr(e) print(e) time.sleep(self.delay) printout("Done. %s bugs analyzed" % (bugs_number)) register_backend ("jira", JiraBackend)
raise NotValidURLError("Missing field %s" % field) else: raise NotValidURLError("Missing URL query set") def __order_query(self, url): """ """ query = urlparse.urlsplit(url).query query = query.split("&") query.sort() parameter = "" for q in query: if q.find("atid") > -1: parameter = parameter + "&" + q if q.find("group_id") > -1: parameter = parameter + "&" + q aux_url = (url.split("/?")[0] + "/?" + parameter).replace("?&", "?") self.url = aux_url register_backend("sf", SourceForge) if __name__ == "__main__": url = "http://sourceforge.net/tracker/?func=detail&aid=3178299&group_id=152568&atid=784665" html = urllib2.urlopen(url) parser = SourceForgeParser() parser.parse_issue(html)
if nbugs == 0: printout("No bugs found. Did you provide the correct url?") sys.exit(0) for bug in bugs: #The URL from bugzilla (so far KDE and GNOME) are like: #http://<domain>/show_bug.cgi?id=<bugid>&ctype=xml try: issue_data = self.analyze_bug(bug, url) except Exception: #FIXME it does not handle the e printerr("Error in function analyzeBug with URL: %s and Bug: %s" % (url,bug)) #print e #continue raise try: bugsdb.insert_issue(issue_data, dbtrk.id) except UnicodeEncodeError: printerr("UnicodeEncodeError: the issue %s couldn't be stored" % (issue_data.issue)) time.sleep(self.delay) printout("Done. %s bugs analyzed" % (nbugs)) register_backend ("bg", BGBackend)