summaryrefslogtreecommitdiff
path: root/beautifulsoup
diff options
context:
space:
mode:
Diffstat (limited to 'beautifulsoup')
-rw-r--r--beautifulsoup/__init__.py7
-rw-r--r--beautifulsoup/builder/__init__.py4
-rw-r--r--beautifulsoup/builder/_html5lib.py (renamed from beautifulsoup/builder/html5lib_builder.py)6
-rw-r--r--beautifulsoup/builder/_lxml.py (renamed from beautifulsoup/builder/lxml_builder.py)5
-rw-r--r--beautifulsoup/testing.py2
5 files changed, 19 insertions, 5 deletions
diff --git a/beautifulsoup/__init__.py b/beautifulsoup/__init__.py
index ca32589..968be08 100644
--- a/beautifulsoup/__init__.py
+++ b/beautifulsoup/__init__.py
@@ -121,10 +121,10 @@ class BeautifulSoup(Tag):
@classmethod
def default_builder(self):
try:
- from builder.html5_builder import HTML5TreeBuilder
+ from builder import HTML5TreeBuilder
return HTML5TreeBuilder()
except ImportError:
- from builder.lxml_builder import LXMLTreeBuilder
+ from builder import LXMLTreeBuilder
return LXMLTreeBuilder()
def __init__(self, markup="", builder=None, parseOnlyThese=None,
@@ -258,12 +258,15 @@ class BeautifulSoup(Tag):
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
+
def handle_endtag(self, name):
#print "End tag: " + name
self.endData()
diff --git a/beautifulsoup/builder/__init__.py b/beautifulsoup/builder/__init__.py
index 9ffa9ef..d6c750c 100644
--- a/beautifulsoup/builder/__init__.py
+++ b/beautifulsoup/builder/__init__.py
@@ -7,7 +7,6 @@ __all__ = [
'TreeBuilder',
]
-
class TreeBuilder(Entities):
"""Turn a document into a Beautiful Soup object tree."""
@@ -163,3 +162,6 @@ class HTMLTreeBuilder(TreeBuilder):
raise StopParsing
pass
return False
+
+from _lxml import *
+from _html5lib import *
diff --git a/beautifulsoup/builder/html5lib_builder.py b/beautifulsoup/builder/_html5lib.py
index 0a24ce1..9cca0b0 100644
--- a/beautifulsoup/builder/html5lib_builder.py
+++ b/beautifulsoup/builder/_html5lib.py
@@ -1,3 +1,7 @@
+__all__ = [
+ 'HTML5TreeBuilder',
+ ]
+
from beautifulsoup.builder import HTMLTreeBuilder, SAXTreeBuilder
import html5lib
from html5lib.constants import DataLossWarning
@@ -217,6 +221,6 @@ class TextNode(Element):
html5lib.treebuilders._base.Node.__init__(self, None)
self.element = element
self.soup = soup
-
+
def cloneNode(self):
raise NotImplementedError
diff --git a/beautifulsoup/builder/lxml_builder.py b/beautifulsoup/builder/_lxml.py
index 9f4c0bd..c2f368c 100644
--- a/beautifulsoup/builder/lxml_builder.py
+++ b/beautifulsoup/builder/_lxml.py
@@ -1,3 +1,8 @@
+__all__ = [
+ 'LXMLTreeBuilderForXML',
+ 'LXMLTreeBuilder',
+ ]
+
from lxml import etree
from beautifulsoup.element import Comment, Doctype
from beautifulsoup.builder import TreeBuilder, HTMLTreeBuilder
diff --git a/beautifulsoup/testing.py b/beautifulsoup/testing.py
index 9b1e858..8fd9abf 100644
--- a/beautifulsoup/testing.py
+++ b/beautifulsoup/testing.py
@@ -3,7 +3,7 @@
import unittest
from beautifulsoup import BeautifulSoup
from beautifulsoup.element import Comment, SoupStrainer
-from beautifulsoup.builder.lxml_builder import LXMLTreeBuilder
+from beautifulsoup.builder import LXMLTreeBuilder
class SoupTest(unittest.TestCase):