Esempio n. 1
0
 def reset(self):
     Tag.__init__(self, self, self.builder, self.ROOT_TAG_NAME)
     self.hidden = 1
     self.builder.reset()
     self.currentData = []
     self.currentTag = None
     self.tagStack = []
     self.pushTag(self)
Esempio n. 2
0
 def reset(self):
     Tag.__init__(self, self, self.builder, self.ROOT_TAG_NAME)
     self.hidden = 1
     self.builder.reset()
     self.currentData = []
     self.currentTag = None
     self.tagStack = []
     self.pushTag(self)
Esempio n. 3
0
    def handle_starttag(self, name, attrs):
        """Push a start tag on to the stack.

        If this method returns None, the tag was rejected by the
        SoupStrainer. You should proceed as if the tag had not occured
        in the document. For instance, if this was a self-closing tag,
        don't call handle_endtag.
        """

        #print "Start tag %s: %s" % (name, attrs)
        self.endData()

        if (self.parse_only and len(self.tagStack) <= 1
                and (self.parse_only.text
                     or not self.parse_only.searchTag(name, attrs))):
            return None

        tag = Tag(self, self.builder, name, attrs, self.currentTag,
                  self.previous)
        if tag is None:
            return tag
        if self.previous:
            self.previous.next = tag
        self.previous = tag
        self.pushTag(tag)
        return tag
Esempio n. 4
0
 def new_tag(self, name, namespace=None, nsprefix=None, **attrs):
     """Create a new tag associated with this soup."""
     return Tag(None, self.builder, name, namespace, nsprefix, attrs)