Skip to content

Commit

Permalink
Update to 0.999:
Browse files Browse the repository at this point in the history
0.999
~~~~~

Released on December 23, 2013

* Fix #127: add work-around for CPython issue #20007: .read(0) on
  http.client.HTTPResponse drops the rest of the content.

* Fix #115: lxml treewalker can now deal with fragments containing, at
  their root level, text nodes with non-ASCII characters on Python 2.


0.99
~~~~

Released on September 10, 2013

* No library changes from 1.0b3; released as 0.99 as pip has changed
  behaviour from 1.4 to avoid installing pre-release versions per
  PEP 440.


1.0b3
~~~~~

Released on July 24, 2013

* Removed ``RecursiveTreeWalker`` from ``treewalkers._base``. Any
  implementation using it should be moved to
  ``NonRecursiveTreeWalker``, as everything bundled with html5lib has
  for years.

* Fix #67 so that ``BufferedStream`` to correctly returns a bytes
  object, thereby fixing any case where html5lib is passed a
  non-seekable RawIOBase-like object.


1.0b2
~~~~~

Released on June 27, 2013

* Removed reordering of attributes within the serializer. There is now
  an ``alphabetical_attributes`` option which preserves the previous
  behaviour through a new filter. This allows attribute order to be
  preserved through html5lib if the tree builder preserves order.

* Removed ``dom2sax`` from DOM treebuilders. It has been replaced by
  ``treeadapters.sax.to_sax`` which is generic and supports any
  treewalker; it also resolves all known bugs with ``dom2sax``.

* Fix treewalker assertions on hitting bytes strings on
  Python 2. Previous to 1.0b1, treewalkers coped with mixed
  bytes/unicode data on Python 2; this reintroduces this prior
  behaviour on Python 2. Behaviour is unchanged on Python 3.


1.0b1
~~~~~

Released on May 17, 2013

* Implementation updated to implement the `HTML specification
  <http://www.whatwg.org/specs/web-apps/current-work/>`_ as of 5th May
  2013 (`SVN <http://svn.whatwg.org/webapps/>`_ revision r7867).

* Python 3.2+ supported in a single codebase using the ``six`` library.

* Removed support for Python 2.5 and older.

* Removed the deprecated Beautiful Soup 3 treebuilder.
  ``beautifulsoup4`` can use ``html5lib`` as a parser instead. Note that
  since it doesn't support namespaces, foreign content like SVG and
  MathML is parsed incorrectly.

* Removed ``simpletree`` from the package. The default tree builder is
  now ``etree`` (using the ``xml.etree.cElementTree`` implementation if
  available, and ``xml.etree.ElementTree`` otherwise).

* Removed the ``XHTMLSerializer`` as it never actually guaranteed its
  output was well-formed XML, and hence provided little of use.

* Removed default DOM treebuilder, so ``html5lib.treebuilders.dom`` is no
  longer supported. ``html5lib.treebuilders.getTreeBuilder("dom")`` will
  return the default DOM treebuilder, which uses ``xml.dom.minidom``.

* Optional heuristic character encoding detection now based on
  ``charade`` for Python 2.6 - 3.3 compatibility.

* Optional ``Genshi`` treewalker support fixed.

* Many bugfixes, including:

  * #33: null in attribute value breaks XML AttValue;

  * #4: nested, indirect descendant, <button> causes infinite loop;

  * `Google Code 215
    <http://code.google.com/p/html5lib/issues/detail?id=215>`_: Properly
    detect seekable streams;

  * `Google Code 206
    <http://code.google.com/p/html5lib/issues/detail?id=206>`_: add
    support for <video preload=...>, <audio preload=...>;

  * `Google Code 205
    <http://code.google.com/p/html5lib/issues/detail?id=205>`_: add
    support for <video poster=...>;

  * `Google Code 202
    <http://code.google.com/p/html5lib/issues/detail?id=202>`_: Unicode
    file breaks InputStream.

* Source code is now mostly PEP 8 compliant.

* Test harness has been improved and now depends on ``nose``.

* Documentation updated and moved to http://html5lib.readthedocs.org/.
  • Loading branch information
wiz committed Jan 17, 2014
1 parent 1239aa6 commit 996b3e3
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 149 deletions.
16 changes: 10 additions & 6 deletions textproc/py-html5lib/Makefile
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
# $NetBSD: Makefile,v 1.6 2012/12/01 18:37:51 adam Exp $
# $NetBSD: Makefile,v 1.7 2014/01/17 23:32:02 wiz Exp $

DISTNAME= html5lib-0.95
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
DISTNAME= 0.999
PKGNAME= ${PYPKGPREFIX}-html5lib-${DISTNAME}
CATEGORIES= textproc www python
MASTER_SITES= http://html5lib.googlecode.com/files/
MASTER_SITES= https://github.com/html5lib/html5lib-python/archive/

MAINTAINER= [email protected]
HOMEPAGE= http://code.google.com/p/html5lib/
HOMEPAGE= https://github.com/html5lib/html5lib-python
COMMENT= HTML5 parser and tokenizer
LICENSE= mit

.include "../../lang/python/egg.mk"
DIST_SUBDIR= py-html5lib
WRKSRC= ${WRKDIR}/html5lib-python-${DISTNAME}
EGG_NAME= html5lib-${DISTNAME}

.include "../../lang/python/distutils.mk"
.include "../../mk/bsd.pkg.mk"
162 changes: 23 additions & 139 deletions textproc/py-html5lib/PLIST
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
@comment $NetBSD: PLIST,v 1.4 2012/12/01 18:37:51 adam Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
@comment $NetBSD: PLIST,v 1.5 2014/01/17 23:32:02 wiz Exp $
${PYSITELIB}/${EGG_FILE}
${PYSITELIB}/html5lib/__init__.py
${PYSITELIB}/html5lib/__init__.pyc
${PYSITELIB}/html5lib/__init__.pyo
Expand All @@ -15,9 +12,9 @@ ${PYSITELIB}/html5lib/filters/__init__.pyo
${PYSITELIB}/html5lib/filters/_base.py
${PYSITELIB}/html5lib/filters/_base.pyc
${PYSITELIB}/html5lib/filters/_base.pyo
${PYSITELIB}/html5lib/filters/formfiller.py
${PYSITELIB}/html5lib/filters/formfiller.pyc
${PYSITELIB}/html5lib/filters/formfiller.pyo
${PYSITELIB}/html5lib/filters/alphabeticalattributes.py
${PYSITELIB}/html5lib/filters/alphabeticalattributes.pyc
${PYSITELIB}/html5lib/filters/alphabeticalattributes.pyo
${PYSITELIB}/html5lib/filters/inject_meta_charset.py
${PYSITELIB}/html5lib/filters/inject_meta_charset.pyc
${PYSITELIB}/html5lib/filters/inject_meta_charset.pyo
Expand Down Expand Up @@ -51,128 +48,15 @@ ${PYSITELIB}/html5lib/serializer/__init__.pyo
${PYSITELIB}/html5lib/serializer/htmlserializer.py
${PYSITELIB}/html5lib/serializer/htmlserializer.pyc
${PYSITELIB}/html5lib/serializer/htmlserializer.pyo
${PYSITELIB}/html5lib/serializer/xhtmlserializer.py
${PYSITELIB}/html5lib/serializer/xhtmlserializer.pyc
${PYSITELIB}/html5lib/serializer/xhtmlserializer.pyo
${PYSITELIB}/html5lib/tests/__init__.py
${PYSITELIB}/html5lib/tests/__init__.pyc
${PYSITELIB}/html5lib/tests/__init__.pyo
${PYSITELIB}/html5lib/tests/mockParser.py
${PYSITELIB}/html5lib/tests/mockParser.pyc
${PYSITELIB}/html5lib/tests/mockParser.pyo
${PYSITELIB}/html5lib/tests/runparsertests.py
${PYSITELIB}/html5lib/tests/runparsertests.pyc
${PYSITELIB}/html5lib/tests/runparsertests.pyo
${PYSITELIB}/html5lib/tests/runtests.py
${PYSITELIB}/html5lib/tests/runtests.pyc
${PYSITELIB}/html5lib/tests/runtests.pyo
${PYSITELIB}/html5lib/tests/support.py
${PYSITELIB}/html5lib/tests/support.pyc
${PYSITELIB}/html5lib/tests/support.pyo
${PYSITELIB}/html5lib/tests/test_encoding.py
${PYSITELIB}/html5lib/tests/test_encoding.pyc
${PYSITELIB}/html5lib/tests/test_encoding.pyo
${PYSITELIB}/html5lib/tests/test_formfiller.py
${PYSITELIB}/html5lib/tests/test_formfiller.pyc
${PYSITELIB}/html5lib/tests/test_formfiller.pyo
${PYSITELIB}/html5lib/tests/test_parser.py
${PYSITELIB}/html5lib/tests/test_parser.pyc
${PYSITELIB}/html5lib/tests/test_parser.pyo
${PYSITELIB}/html5lib/tests/test_parser2.py
${PYSITELIB}/html5lib/tests/test_parser2.pyc
${PYSITELIB}/html5lib/tests/test_parser2.pyo
${PYSITELIB}/html5lib/tests/test_sanitizer.py
${PYSITELIB}/html5lib/tests/test_sanitizer.pyc
${PYSITELIB}/html5lib/tests/test_sanitizer.pyo
${PYSITELIB}/html5lib/tests/test_serializer.py
${PYSITELIB}/html5lib/tests/test_serializer.pyc
${PYSITELIB}/html5lib/tests/test_serializer.pyo
${PYSITELIB}/html5lib/tests/test_stream.py
${PYSITELIB}/html5lib/tests/test_stream.pyc
${PYSITELIB}/html5lib/tests/test_stream.pyo
${PYSITELIB}/html5lib/tests/test_tokenizer.py
${PYSITELIB}/html5lib/tests/test_tokenizer.pyc
${PYSITELIB}/html5lib/tests/test_tokenizer.pyo
${PYSITELIB}/html5lib/tests/test_treewalkers.py
${PYSITELIB}/html5lib/tests/test_treewalkers.pyc
${PYSITELIB}/html5lib/tests/test_treewalkers.pyo
${PYSITELIB}/html5lib/tests/test_whitespace_filter.py
${PYSITELIB}/html5lib/tests/test_whitespace_filter.pyc
${PYSITELIB}/html5lib/tests/test_whitespace_filter.pyo
${PYSITELIB}/html5lib/tests/testdata/encoding/test-yahoo-jp.dat
${PYSITELIB}/html5lib/tests/testdata/encoding/tests1.dat
${PYSITELIB}/html5lib/tests/testdata/encoding/tests2.dat
${PYSITELIB}/html5lib/tests/testdata/sanitizer/tests1.dat
${PYSITELIB}/html5lib/tests/testdata/serializer/core.test
${PYSITELIB}/html5lib/tests/testdata/serializer/injectmeta.test
${PYSITELIB}/html5lib/tests/testdata/serializer/optionaltags.test
${PYSITELIB}/html5lib/tests/testdata/serializer/options.test
${PYSITELIB}/html5lib/tests/testdata/serializer/whitespace.test
${PYSITELIB}/html5lib/tests/testdata/sniffer/htmlOrFeed.json
${PYSITELIB}/html5lib/tests/testdata/tokenizer/contentModelFlags.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/domjs.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/entities.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/escapeFlag.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/namedEntities.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/numericEntities.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/pendingSpecChanges.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/test1.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/test2.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/test3.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/test4.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/unicodeChars.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/unicodeCharsProblematic.test
${PYSITELIB}/html5lib/tests/testdata/tokenizer/xmlViolation.test
${PYSITELIB}/html5lib/tests/testdata/tree-construction/adoption01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/adoption02.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/comments01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/doctype01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/domjs-unsafe.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/entities01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/entities02.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/html5test-com.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/inbody01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/isindex.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/pending-spec-changes-plain-text-unsafe.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/pending-spec-changes.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/plain-text-unsafe.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/scriptdata01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tables01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests1.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests10.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests11.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests12.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests14.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests15.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests16.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests17.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests18.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests19.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests2.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests20.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests21.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests22.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests23.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests24.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests25.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests26.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests3.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests4.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests5.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests6.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests7.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests8.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests9.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tests_innerHTML_1.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/tricky01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/webkit01.dat
${PYSITELIB}/html5lib/tests/testdata/tree-construction/webkit02.dat
${PYSITELIB}/html5lib/tests/tokenizertotree.py
${PYSITELIB}/html5lib/tests/tokenizertotree.pyc
${PYSITELIB}/html5lib/tests/tokenizertotree.pyo
${PYSITELIB}/html5lib/tokenizer.py
${PYSITELIB}/html5lib/tokenizer.pyc
${PYSITELIB}/html5lib/tokenizer.pyo
${PYSITELIB}/html5lib/treeadapters/__init__.py
${PYSITELIB}/html5lib/treeadapters/__init__.pyc
${PYSITELIB}/html5lib/treeadapters/__init__.pyo
${PYSITELIB}/html5lib/treeadapters/sax.py
${PYSITELIB}/html5lib/treeadapters/sax.pyc
${PYSITELIB}/html5lib/treeadapters/sax.pyo
${PYSITELIB}/html5lib/treebuilders/__init__.py
${PYSITELIB}/html5lib/treebuilders/__init__.pyc
${PYSITELIB}/html5lib/treebuilders/__init__.pyo
Expand All @@ -188,12 +72,6 @@ ${PYSITELIB}/html5lib/treebuilders/etree.pyo
${PYSITELIB}/html5lib/treebuilders/etree_lxml.py
${PYSITELIB}/html5lib/treebuilders/etree_lxml.pyc
${PYSITELIB}/html5lib/treebuilders/etree_lxml.pyo
${PYSITELIB}/html5lib/treebuilders/simpletree.py
${PYSITELIB}/html5lib/treebuilders/simpletree.pyc
${PYSITELIB}/html5lib/treebuilders/simpletree.pyo
${PYSITELIB}/html5lib/treebuilders/soup.py
${PYSITELIB}/html5lib/treebuilders/soup.pyc
${PYSITELIB}/html5lib/treebuilders/soup.pyo
${PYSITELIB}/html5lib/treewalkers/__init__.py
${PYSITELIB}/html5lib/treewalkers/__init__.pyc
${PYSITELIB}/html5lib/treewalkers/__init__.pyo
Expand All @@ -215,12 +93,18 @@ ${PYSITELIB}/html5lib/treewalkers/lxmletree.pyo
${PYSITELIB}/html5lib/treewalkers/pulldom.py
${PYSITELIB}/html5lib/treewalkers/pulldom.pyc
${PYSITELIB}/html5lib/treewalkers/pulldom.pyo
${PYSITELIB}/html5lib/treewalkers/simpletree.py
${PYSITELIB}/html5lib/treewalkers/simpletree.pyc
${PYSITELIB}/html5lib/treewalkers/simpletree.pyo
${PYSITELIB}/html5lib/treewalkers/soup.py
${PYSITELIB}/html5lib/treewalkers/soup.pyc
${PYSITELIB}/html5lib/treewalkers/soup.pyo
${PYSITELIB}/html5lib/trie/__init__.py
${PYSITELIB}/html5lib/trie/__init__.pyc
${PYSITELIB}/html5lib/trie/__init__.pyo
${PYSITELIB}/html5lib/trie/_base.py
${PYSITELIB}/html5lib/trie/_base.pyc
${PYSITELIB}/html5lib/trie/_base.pyo
${PYSITELIB}/html5lib/trie/datrie.py
${PYSITELIB}/html5lib/trie/datrie.pyc
${PYSITELIB}/html5lib/trie/datrie.pyo
${PYSITELIB}/html5lib/trie/py.py
${PYSITELIB}/html5lib/trie/py.pyc
${PYSITELIB}/html5lib/trie/py.pyo
${PYSITELIB}/html5lib/utils.py
${PYSITELIB}/html5lib/utils.pyc
${PYSITELIB}/html5lib/utils.pyo
8 changes: 4 additions & 4 deletions textproc/py-html5lib/distinfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.4 2012/12/01 18:37:51 adam Exp $
$NetBSD: distinfo,v 1.5 2014/01/17 23:32:02 wiz Exp $

SHA1 (html5lib-0.95.tar.gz) = 1645840a6dbd152c06aa513e04dfafe09a36703a
RMD160 (html5lib-0.95.tar.gz) = 0b5c73d39f0203e15752f11fbf8ca5218ea2b236
Size (html5lib-0.95.tar.gz) = 222614 bytes
SHA1 (py-html5lib/0.999.tar.gz) = 2f1c63ab3b032f76cc8bb737eb4be134cc62ea61
RMD160 (py-html5lib/0.999.tar.gz) = d20fde598f8ab0e09cd71e78abc670e5c16e4f6e
Size (py-html5lib/0.999.tar.gz) = 122652 bytes

0 comments on commit 996b3e3

Please sign in to comment.