def __init__(self, owner, project, root_project): log("Created github instance. %s/%s" % ( owner, project )) self._owner = owner self._project = project self._init(root_project)
def _get_all_issues(self, **kwargs): log("Getting issues.") counter = 1 numup = -1 while numup != 0: numup = self._get_issue_page(counter, **kwargs) counter += 1
def update(self): log("Getting open bugs") self._import_bugs("package", self._package, "status", 'open', 'archive', 'both') log("Getting done bugs") self._import_bugs("package", self._package, 'status', 'done', 'archive', 'both')
def save_bug(self, bug): bug.update({ "_project": self._project }) log("Saving bug %s" % ( bug['_id'] )) ret = db.bugs.update({"_id": bug['_id']}, bug, True, safe=True) return ret['n'] == 1
def _get_issue_page(self, page, **kwargs): log("Getting page %s" % (page)) kwargs.update({"page": page}) keyword_args = self.safe_urlencode( kwargs ) url = "%s/repos/%s/%s/issues?%s" % ( API_BASE, self._owner, self._project, keyword_args ) payload = self._get_json(url) count = 0 for bug in payload: bug = unmangle(bug, "%s_%s" % ( self._owner, self._project )) self.save_bug(bug) count += 1 return count
def update(self): log("Getting open issues.") self._get_all_issues(state='open') log("Getting closed issues.") self._get_all_issues(state='closed')
def __init__(self, package, root_project): log("Created bts instance. %s" % ( package )) self._package = package self._init(root_project)
def __init__(self, project, root_project): log("Created launchpad instance. %s" % ( project )) self._project = project self._init(root_project)