Changeset 48

Show
Ignore:
Timestamp:
07/21/06 16:05:06 (2 years ago)
Author:
ploum
Message:

#51 : Reload the bug after posting a comment

Files:
3 modified

Legend:

Unmodified
Added
Removed
  • page.py

    r47 r48  
    77except: 
    88        sys.exit(1) 
     9from definitions import * 
    910 
    1011####################### description_in_the_widget_name hack ################## 
     
    3637        zetype =  int(bmark.getAttribute("type")) 
    3738        return zetype 
     39 
     40def xml2dic(string) : 
     41        doc2 = xml.dom.minidom.parseString(string) 
     42        bmark = doc2.getElementsByTagName("bookmark")[0] 
     43        dic = makedict() 
     44        dic["method"] = int(bmark.getAttribute("type")) 
     45        if dic["method"] == 1: 
     46                element = bmark.getElementsByTagName("bug")[0] 
     47                dic["bug"] = int(element.childNodes[0].nodeValue)                
     48        elif dic["method"] == 2: 
     49                s_element = bmark.getElementsByTagName("search")[0] 
     50                dic["search"] = s_element.childNodes[0].nodeValue 
     51        elif dic["method"] == 3: 
     52                s_element = bmark.getElementsByTagName("search") 
     53                p_element = bmark.getElementsByTagName("product")[0] 
     54                dic["produc"] = p_element.childNodes[0].nodeValue 
     55                if len(s_element) == 0 : 
     56                         dic["search"] = None 
     57                else :   
     58                        dic["search"] = s_element[0].childNodes[0].nodeValue 
     59        return dic 
    3860 
    3961class page : 
     
    79101                        bmark.setAttribute("title", title) 
    80102                        node = doc.createElement("bug") 
    81                         node_text = doc.createTextNode(bug.strip()) 
     103                        node_text = doc.createTextNode(str(bug)) 
    82104                        node.appendChild(node_text) 
    83105                        bmark.appendChild(node) 
  • protocols/protocol_launchpadweb.py

    r46 r48  
    1010from auth_dummy import user 
    1111 
    12 #baseurl = "https://staging.launchpad.net/" 
    13 baseurl = "https://launchpad.net/" 
     12baseurl = "https://staging.launchpad.net/" 
     13#baseurl = "https://launchpad.net/" 
    1414 
    1515class protocol: 
     
    2727                s1 = string.strip().replace(" "," ") 
    2828                s2 = s1.strip().replace(">",">") 
    29                 return s2 
     29                s3 = s2.strip().replace("&lt;","<") 
     30                return s3 
    3031         
    3132################INFORMATION ABOUT THE BTS ################################ 
  • retriever.py

    r47 r48  
    3434                t = threading.Thread(target=self.__retrieve,args=[dic,to_remove]) 
    3535                t.start() 
     36 
     37        def waiting(self) : 
     38                focus = self.bugs_tabs.get_current_page() 
     39                tab_page = self.bugs_tabs.get_nth_page(focus) 
     40                to_remove = tab_page.get_children()[0] 
     41                tab_tmp = gtk.Label("Please wait...") 
     42                tab_tmp.show() 
     43                dic =xml2dic(tab_descr(tab_page)) 
     44                page_tmp = page(tab_tmp,dic) 
     45                tab_page.remove(to_remove) 
     46                tab_page.add(page_tmp.get_widget()) 
     47 
     48        def refresh(self) : 
     49                focus = self.bugs_tabs.get_current_page() 
     50                tab_page = self.bugs_tabs.get_nth_page(focus) 
     51                dic =xml2dic(tab_descr(tab_page)) 
     52                to_remove = tab_page.get_children()[0] 
     53                t = threading.Thread(target=self.__retrieve,args=[dic,to_remove]) 
     54                t.start() 
     55                 
    3656 
    3757        def __retrieve(self,dic,to_remove) : 
     
    179199 
    180200                def callback_postcom(widget,buff,nbr) : 
     201                        def posting(nbr,title,content) : 
     202                                gobject.idle_add(self.waiting) 
     203                                self.bts.postComment(nbr,title,content) 
     204                                gobject.idle_add(self.refresh) 
    181205                        itera = buff.get_bounds() 
    182206                        content = buff.get_text(itera[0],itera[1]) 
     
    184208                                #FIXME : support title in comments 
    185209                                title="Dummy title" 
    186                                 self.bts.postComment(nbr,title,content) 
     210                                t = threading.Thread(target=posting,args=[nbr,title,content]) 
     211                                t.start() 
     212                                #self.bts.postComment(nbr,title,content) 
    187213         
    188214                if nbr < 0 :