コード例 #1
0
ファイル: text_buglist.py プロジェクト: armooo/oh-mainline
 def __init__(self, baseurl, connection=None, all_tasks=False, progress_hook=None):
     if hasattr(baseurl, "baseurl"):
         baseurl.baseurl = valid_lp_url(baseurl.baseurl, BASEURL.BUGLIST)
     else:
         baseurl = valid_lp_url(baseurl, BASEURL.BUGLIST)
     LPBugList.__init__(self, baseurl, connection, all_tasks,
                 BugPage, progress_hook)
コード例 #2
0
ファイル: bugbase.py プロジェクト: armooo/oh-mainline
    def __init__(self, bug=None, url=None, connection=None):
        assert len([i for i in (bug, url) if i]) == 1, "Bug needs one argument, either <bug> or <url>"
        assert connection, "Connection object needed"

        [self.__bugnumber, self.__url, self.__status, self.__importance,
            self.__sourcepackage, self.__summary] = [None]*6

        self.__connection = connection
        self.__saved_hash = None

        if bug:
            if isinstance(bug, str):
                bug = int(bug)
                
            if isinstance(bug, int):
                self.__bugnumber = bug
                self.__url = bugnumber_to_url(self.__bugnumber)
            elif isinstance(bug, LPBugInfo):
                self.__bugnumber = int(bug)
                self.__url = bug.url
                self.__status = bug.status
                self.__importance = bug.importance
                self.__sourcepackage = bug.sourcepackage
                self.__summary = bug.summary
                self.__saved_hash = hash(bug)
            else:
                assert None, "type of bugnumber must be INT or STRING or bugnumber must be an instance of BugInfo, %s" %bug
        elif url:
            #TODO: check for valid url
            self.__url = valid_lp_url(url, BASEURL.BUG)
            assert self.__url, "Invalid launchpad url %s" %url
            self.__bugnumber = int(self.__url.split("/")[-1])
コード例 #3
0
ファイル: html_buglist.py プロジェクト: armooo/oh-mainline
 def __init__(self, lp_url, lp_bugnr, lp_title, watch_url, watch_bugnr, watch_status, private, all_tasks):
     url = valid_lp_url(lp_url, BASEURL.BUG)
     LPBugInfo.__init__(self, lp_bugnr, url, None, None, lp_title, None, all_tasks)
     
     # add additional attributes
     self.watch_url = watch_url or "unknown"
     self.watch_bugnr = watch_bugnr
     self.watch_status = watch_status or "unknown"
     self.private = private
コード例 #4
0
 def find_parse_function(connection, url, all_tasks):
     url = valid_lp_url(url, BASEURL.BLUEPRINTLIST)
     lp_content = connection.get(url)
     xmldoc = libxml2.htmlParseDoc(unicode_for_libxml2(lp_content.text), "UTF-8")
     u = urlparse.urlsplit(url)
     if "+milestone" in u[2]:
         result = BlueprintPage.parse_html_milestone_specs(xmldoc, all_tasks, url)
     else:
         result = BlueprintPage.parse_html_blueprintpage(xmldoc, all_tasks, url)
     return result
コード例 #5
0
ファイル: html_buglist.py プロジェクト: armooo/oh-mainline
 def __init__(self, bugnumber, url, importance, summary, private, package, date_last_update, all_tasks=False):
     url = valid_lp_url(url, BASEURL.BUG)
     if package is None:
         u = urlparse.urlsplit(url)
         m = re_url_to_project.match(u[2])
         if m:
             package = m.group(1)
     LPBugInfo.__init__(self, bugnumber, url, None, importance, summary, package, all_tasks)
     
     # add additional attributes
     self.private = private
     self.date_last_update = date_last_update
コード例 #6
0
ファイル: text_buglist.py プロジェクト: armooo/oh-mainline
 def find_parse_function(connection, url, all_tasks):
     """ this can extended to parse other listtypes (like
         https://edge.launchpad.net/ubuntu/+milestone/gutsy-updates"""
     url = valid_lp_url(url, BASEURL.BUGPAGE)
     u = urlparse.urlsplit(url)
     if u[2].endswith("+bugs-text"):
         pass
     elif u[2].endswith("+bugs"):
         url = urlparse.urlunsplit((u[0],u[1],"%s-text"%u[2],u[3],u[4]))
     else:
         url = urlparse.urlunsplit((u[0],u[1],"%s/+bugs-text"%u[2],u[3],u[4]))
     lp_content = connection.get(url)
     result = BugPage.parse_text_bugpage(lp_content.text, all_tasks, url)
     return result
コード例 #7
0
ファイル: html_buglist.py プロジェクト: armooo/oh-mainline
 def find_parse_function(connection, url, all_tasks):
     url = valid_lp_url(url, BASEURL.BUGPAGE)
     lp_content = connection.get(url)
     xmldoc = libxml2.htmlParseDoc(unicode_for_libxml2(lp_content.text), "UTF-8")
     u = urlparse.urlsplit(url)
     if "+milestone" in u[2]:
         result = BugPage.parse_html_milestone_bugpage(xmldoc, all_tasks, url)
     elif "+expirable-bugs" in u[2]:
         result = BugPage.parse_html_expirable_bugpage(xmldoc, all_tasks, url)
     elif "bugs/bugtrackers" in u[2]:
         result = BugPage.parse_html_bugtracker_bugpage(xmldoc, all_tasks, url)
     else:
         result = BugPage.parse_html_bugpage(xmldoc, all_tasks, url)
     return result
コード例 #8
0
ファイル: html_buglist.py プロジェクト: armooo/oh-mainline
 def __init__(self, nr, url, status, importance, summary, package=None, all_tasks=False):
     url = valid_lp_url(url, BASEURL.BUG)
     LPBugInfo.__init__(self, nr, url, status, importance, summary, package, all_tasks)
コード例 #9
0
 def __init__(self, url, project):
     self.url = valid_lp_url(url, BASEURL.BLUEPRINT)
     self.project = project
コード例 #10
0
 def __init__(self, priority, spec, title, url, design, delivery, assignee, project, mentorship):
     url = valid_lp_url(url, BASEURL.BLUEPRINT)
     BlueprintInfo.__init__(self, priority, spec, title, url, design, delivery, assignee, project, mentorship)
コード例 #11
0
ファイル: projectbase.py プロジェクト: armooo/oh-mainline
 def __init__( self, url, connection ):
     self.__url = utils.valid_lp_url( url, utils.PROJECT_PACKAGES )
     self._connection = connection