Changeset 31 for storage

Show
Ignore:
Timestamp:
07/09/06 12:42:50 (2 years ago)
Author:
ploum
Message:

Transition to XML completed. Bookmarks are now described in XML 1.0.
This is needed in order to implement bookmarks storage and advanced search
support for bookmarks

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • storage/bookmarks_store.py

    r30 r31  
    2222                # essai temporaire 
    2323                # normalement ici on lit le fichier de préférences 
    24                 self.listing.insert_before(None, ["3 results", 2, "nautilus evolution crash"]) 
    25                 self.listing.insert_before(None, ["many results", 2, "microsoft has majority"]) 
    26                 self.listing.insert_before(None, ["Evo's bugs", 3, "evolution refresh folder"]) 
    27                 self.listing.insert_before(None, ["Bug #42", 1, "42"]) 
    28                 self.listing.insert_before(None, ["Content in +text mode", 1, "51835"]) 
    29                 self.listing.insert_before(None, ["Search in bugs+text", 1, "51836"]) 
     24                self.listing.insert_before(None, ["Evo 2 results", 2, "<?xml version=\"1.0\" ?>\n<bookmark title=\"(evolution) imap filter\" type=\"3\"><search>imap filter</search><product>evolution</product></bookmark>"]) 
     25                self.listing.insert_before(None, ["many results", 2, "<?xml version=\"1.0\" ?>\n<bookmark title=\"microsoft has majority\" type=\"2\"><search>microsoft has majority</search></bookmark>"]) 
     26                self.listing.insert_before(None, ["Evo's bugs", 3, "<?xml version=\"1.0\" ?>\n<bookmark title=\"(evolution)\" type=\"3\"><product>evolution</product></bookmark>"]) 
     27                self.listing.insert_before(None, ["Bug #42", 1, "<?xml version=\"1.0\" ?>\n<bookmark title=\"bug #42\" type=\"1\"><bug>42</bug></bookmark>"]) 
     28                self.listing.insert_before(None, ["Content in +text mode", 1, "<?xml version=\"1.0\" ?>\n<bookmark title=\"bug #51835\" type=\"1\"><bug>51835</bug></bookmark>"]) 
     29                self.listing.insert_before(None, ["Search in bugs+text", 1, "<?xml version=\"1.0\" ?>\n<bookmark title=\"bug #51836\" type=\"1\"><bug>51836</bug></bookmark>"]) 
    3030 
    3131         
     
    5353                zetuple = path.get_selection().get_selected() 
    5454                method = zetuple[0].get_value(zetuple[1],1) 
     55                string = zetuple[0].get_value(zetuple[1],2) 
     56                doc2 = xml.dom.minidom.parseString(string) 
     57                bmark = doc2.getElementsByTagName("bookmark")[0] 
     58                #method =  int(bmark.getAttribute("type")) 
    5559                if method == 1: 
    5660                        # besoin de programmation défensive ici FIXME 
    57                         bug = int(zetuple[0].get_value(zetuple[1],2)) 
     61                        #bug = int(zetuple[0].get_value(zetuple[1],2)) 
     62                        element = bmark.getElementsByTagName("bug")[0] 
     63                        bug = int(element.childNodes[0].nodeValue) 
    5864                elif method == 2: 
    59                         search = zetuple[0].get_value(zetuple[1],2) 
     65                        s_element = bmark.getElementsByTagName("search")[0] 
     66                        search = s_element.childNodes[0].nodeValue 
    6067                elif method == 3: 
    61                         string = zetuple[0].get_value(zetuple[1],2) 
    62                         #here we have to change to have XML 
    63                         array = string.split(None,1) 
    64                         product = array[0] 
    65                         if len(array) < 2 : 
     68                        s_element = bmark.getElementsByTagName("search") 
     69                        p_element = bmark.getElementsByTagName("product")[0] 
     70                        product = p_element.childNodes[0].nodeValue 
     71                        if len(s_element) == 0 : 
    6672                                search = None 
    6773                        else :   
    68                                 search = array[1] 
     74                                search = s_element[0].childNodes[0].nodeValue 
    6975                self.bug = bug 
    7076                self.method = method