From 7f2d1d997231ff2b32bb113ca50199677d64c287 Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Thu, 30 Nov 2017 13:43:16 -0500 Subject: [PATCH] First pass at docs for html5lib.treeadapters --- html5lib/treeadapters/__init__.py | 18 ++++++++++++++++++ html5lib/treeadapters/genshi.py | 7 +++++++ html5lib/treeadapters/sax.py | 8 +++++++- 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/html5lib/treeadapters/__init__.py b/html5lib/treeadapters/__init__.py index 4f978466..dfeb0ba5 100644 --- a/html5lib/treeadapters/__init__.py +++ b/html5lib/treeadapters/__init__.py @@ -1,3 +1,21 @@ +"""Tree adapters let you convert from one tree structure to another + +Example: + +.. code-block:: python + + import html5lib + from html5lib.treeadapters import genshi + + doc = 'Hi!' + treebuilder = html5lib.getTreeBuilder('etree') + parser = html5lib.HTMLParser(tree=treebuilder) + tree = parser.parse(doc) + TreeWalker = html5lib.getTreeWalker('etree') + + genshi_tree = genshi.to_genshi(TreeWalker(tree)) + +""" from __future__ import absolute_import, division, unicode_literals from . import sax diff --git a/html5lib/treeadapters/genshi.py b/html5lib/treeadapters/genshi.py index 04e316df..61d5fb6a 100644 --- a/html5lib/treeadapters/genshi.py +++ b/html5lib/treeadapters/genshi.py @@ -5,6 +5,13 @@ def to_genshi(walker): + """Convert a tree to a genshi tree + + :arg walker: the treewalker to use to walk the tree to convert it + + :returns: generator of genshi nodes + + """ text = [] for token in walker: type = token["type"] diff --git a/html5lib/treeadapters/sax.py b/html5lib/treeadapters/sax.py index ad47df95..f4ccea5a 100644 --- a/html5lib/treeadapters/sax.py +++ b/html5lib/treeadapters/sax.py @@ -11,7 +11,13 @@ def to_sax(walker, handler): - """Call SAX-like content handler based on treewalker walker""" + """Call SAX-like content handler based on treewalker walker + + :arg walker: the treewalker to use to walk the tree to convert it + + :arg handler: SAX handler to use + + """ handler.startDocument() for prefix, namespace in prefix_mapping.items(): handler.startPrefixMapping(prefix, namespace)