From e2a87dbda6d32200b5fa68ba2f5e48aa526499f2 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 12 Dec 2013 21:37:50 +0000 Subject: Add reading of single-element HTML paths --- mammoth/html_paths.py | 13 +++++++++++++ mammoth/style_reader.py | 5 +++++ tests/style_reader_tests.py | 14 ++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 mammoth/html_paths.py create mode 100644 mammoth/style_reader.py create mode 100644 tests/style_reader_tests.py diff --git a/mammoth/html_paths.py b/mammoth/html_paths.py new file mode 100644 index 0000000..bc4eba1 --- /dev/null +++ b/mammoth/html_paths.py @@ -0,0 +1,13 @@ +import collections + + +def path(elements): + return HtmlPath(elements) + + +def element(name): + return HtmlPathElement(name) + + +HtmlPath = collections.namedtuple("HtmlPath", ["elements"]) +HtmlPathElement = collections.namedtuple("HtmlPathElement", ["name"]) diff --git a/mammoth/style_reader.py b/mammoth/style_reader.py new file mode 100644 index 0000000..18c848d --- /dev/null +++ b/mammoth/style_reader.py @@ -0,0 +1,5 @@ +from . import html_paths + + +def read_html_path(string): + return html_paths.path([html_paths.element(string)]) diff --git a/tests/style_reader_tests.py b/tests/style_reader_tests.py new file mode 100644 index 0000000..df2b622 --- /dev/null +++ b/tests/style_reader_tests.py @@ -0,0 +1,14 @@ +from nose.tools import istest, assert_equal + +from mammoth import html_paths +from mammoth.style_reader import read_html_path + + +@istest +class ReadHtmlPathTests(object): + @istest + def can_read_single_element(self): + assert_equal( + html_paths.path([html_paths.element("p")]), + read_html_path("p") + ) -- cgit v1.2.3