Esempio n. 1
0
    def endElement(self, name):
        #print "</%s>" % name
        SAXTracker.endElement(self, name)
        if self._elemstack:
            parent = self._elemstack[-1]
        else:
            parent = None
        
        if name == "title":
            self._obj.set_title(self._contents)
        elif name == "link":
            self._obj.set_link(self._contents)
        elif name == "description":
            self._obj.set_description(self._contents)
        elif name == "guid":
            self._obj.set_guid(self._contents)
        elif name == "atom:summary":
            if not self._obj.get_description():
                self._obj.set_description(self._contents)
        elif name == "author":
            self._obj.set_author(self._contents)
        elif name == "dc:creator":
            if isinstance(self._obj, Item) and (not self._obj.get_author()):
                self._obj.set_author(self._contents)
        elif name == "dc:date":
            if not self._obj.get_pubdate():
                self._obj.set_pubdate(self._contents)

        elif name == "url" and parent == "image":
            self._site.image.url = self._contents            
        elif name == "name" and parent == "textinput":
            self._site.input.name = self._contents
        elif name == "language":
            self._site.lang = self._contents
        elif name == "rating":
            self._site.rating = self._contents
        elif name == "copyright":
            self._site.copyright = self._contents
        elif name == "pubDate":
            self._obj.set_pubdate(self._contents)
        elif name == "lastBuildDate":
            self._site.lastbuild = self._contents
        elif name == "docs":
            self._site.docs = self._contents
        elif name == "managingEditor":
            self._site.editor = self._contents
        elif name == "webMaster":
            self._site.webmaster = self._contents

        elif name == "image":
            self._obj = self._site # restore previous object
Esempio n. 2
0
    def endElement(self, name):
        if self._elemstack and \
           ((self._elemstack[-1] == "content" and name != "content") or
            (self._elemstack[-1] == "summary" and name != "summary")):
            return # ignore the embedded markup
        
        #print "</%s>" % name
        SAXTracker.endElement(self, name)
        if self._elemstack:
            parent = self._elemstack[-1]
        else:
            parent = None

        if name == "feed":
            self._pop_base()
        elif name == "entry":
            self._pop_base()
            if self._obj.get_author() == None:
                self._obj.set_author(self._site.get_editor()) # inherit
            if self._obj.get_description() == None and self._summary != None:
                self._obj.set_description(self._summary) # fallback
        elif name == "title":
            self._obj.set_title(self._contents)
        elif name == "subtitle" and parent == "feed":
            self._site.set_description(self._contents)
        elif name == "id":
            if parent == "feed" and self._obj.get_link() == None:
                self._obj.set_link(self._contents)
            elif parent == "entry":
                self._obj.set_guid(self._contents)
        elif name == "published":
            self._obj.set_pubdate(self._contents)
        elif name == "updated" and parent == "entry":
            if not self._obj.get_pubdate():
                self._obj.set_pubdate(self._contents)
        elif name == "content":
            self._obj.set_description(self._contents)
        elif name == "summary":
            self._summary = self._contents # use if no <content> element
        elif name == "name" and parent == "author":
            if self._elemstack[-2] == "feed":
                self._obj.set_editor(self._contents)
            elif self._elemstack[-2] == "entry":
                self._obj.set_author(self._contents)
    def endElement(self, name):
        SAXTracker.endElement(self, name)

        if name == "param":
            set_param(self._obj, self._attrs["name"], self._contents)
Esempio n. 4
0
    def endElement(self, name):
        SAXTracker.endElement(self, name)

        if name == "title":
            self._registry.set_title(self._contents)