Skip to content

Commit 2abaeae

Browse files
committed
Merge remote-tracking branch 'origin/master' into webencodings
2 parents 40ff8fb + 46dae3d commit 2abaeae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1063
-751
lines changed

.gitignore

+75-13
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,82 @@
1-
# Because we never want compiled Python
1+
# Copyright (c) 2014 GitHub, Inc.
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a
4+
# copy of this software and associated documentation files (the "Software"),
5+
# to deal in the Software without restriction, including without limitation
6+
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7+
# and/or sell copies of the Software, and to permit persons to whom the
8+
# Software is furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included in
11+
# all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19+
# DEALINGS IN THE SOFTWARE.
20+
21+
# Byte-compiled / optimized / DLL files
222
__pycache__/
3-
*.pyc
23+
*.py[cod]
24+
*$py.class
425

5-
# Ignore stuff produced by distutils
6-
/build/
7-
/dist/
8-
/MANIFEST
26+
# C extensions
27+
*.so
928

10-
# Generated by parse.py -p
11-
stats.prof
29+
# Distribution / packaging
30+
.Python
31+
env/
32+
build/
33+
develop-eggs/
34+
dist/
35+
downloads/
36+
eggs/
37+
.eggs/
38+
lib/
39+
lib64/
40+
parts/
41+
sdist/
42+
var/
43+
*.egg-info/
44+
.installed.cfg
45+
*.egg
46+
MANIFEST
47+
48+
# PyInstaller
49+
# Usually these files are written by a python script from a template
50+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
51+
*.manifest
52+
*.spec
53+
54+
# Installer logs
55+
pip-log.txt
56+
pip-delete-this-directory.txt
1257

13-
# From cover (esp. in combination with nose)
58+
# Unit test / coverage reports
59+
htmlcov/
60+
.tox/
1461
.coverage
62+
.coverage.*
63+
.cache
64+
nosetests.xml
65+
coverage.xml
66+
*,cover
1567

16-
# Because tox's data is inherently local
17-
/.tox/
68+
# Translations
69+
*.mo
70+
*.pot
1871

19-
# We have no interest in built Sphinx files
20-
/doc/_build
72+
# Django stuff:
73+
*.log
74+
75+
# Sphinx documentation
76+
doc/_build/
77+
78+
# PyBuilder
79+
target/
80+
81+
# Generated by parse.py -p
82+
stats.prof

.pytest.expect

57.5 KB
Binary file not shown.

.travis.yml

+9-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,15 @@ python:
55
- "3.2"
66
- "3.3"
77
- "3.4"
8+
- "3.5"
89
- "pypy"
10+
- "pypy3"
11+
12+
sudo: false
13+
14+
cache:
15+
directories:
16+
- $HOME/.cache/pip
917

1018
env:
1119
- USE_OPTIONAL=true
@@ -30,7 +38,7 @@ install:
3038
- bash requirements-install.sh
3139

3240
script:
33-
- nosetests
41+
- py.test
3442
- bash flake8-run.sh
3543

3644
after_script:

AUTHORS.rst

+14-5
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,28 @@ Patches and suggestions
1616
- Lachlan Hunt
1717
- lantis63
1818
- Sam Ruby
19-
- Tim Fletcher
2019
- Thomas Broyer
20+
- Tim Fletcher
2121
- Mark Pilgrim
22-
- Philip Taylor
2322
- Ryan King
23+
- Philip Taylor
2424
- Edward Z. Yang
2525
- fantasai
26+
- Mike West
2627
- Philip Jägenstedt
2728
- Ms2ger
29+
- Mohammad Taha Jahangir
2830
- Andy Wingo
31+
- Juan Carlos Garcia Segovia
2932
- Andreas Madsack
3033
- Karim Valiev
31-
- Mohammad Taha Jahangir
32-
- Juan Carlos Garcia Segovia
33-
- Mike West
3434
- Marc DM
35+
- Tony Lopes
36+
- lilbludevil
37+
- Simon Sapin
38+
- Jon Dufresne
39+
- Drew Hubl
40+
- Austin Kumbera
41+
- Jim Baker
42+
- Michael[tm] Smith
43+
- Marc Abramowitz

CHANGES.rst

+74-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,87 @@
11
Change Log
22
----------
33

4-
0.9999
5-
~~~~~~
4+
0.99999999/1.0b9
5+
~~~~~~~~~~~~~~~~
6+
7+
Released on XXX
8+
9+
* Added ordereddict as a mandatory dependency on Python 2.6.
10+
11+
* Added ``lxml``, ``genshi``, ``datrie``, ``charade``, and ``all``
12+
extras that will do the right thing based on the specific
13+
interpreter implementation.
614

7-
Released on XXX, 2014
15+
* Now requires the ``mock`` package for the testsuite.
16+
17+
* Cease supporting DATrie under PyPy.
18+
19+
* Remove ``PullDOM`` support, as this hasn't ever been properly
20+
tested, doesn't entirely work, and as far as I can tell is
21+
completely unused by anyone.
22+
23+
* Move testsuite to ``py.test``.
824

925
* Fix #124: move to webencodings for decoding the input byte stream;
1026
this makes html5lib compliant with the Encoding Standard, and
1127
introduces a required dependency on webencodings.
1228

1329

30+
0.9999999/1.0b8
31+
~~~~~~~~~~~~~~~
32+
33+
Released on September 10, 2015
34+
35+
* Fix #195: fix the sanitizer to drop broken URLs (it threw an
36+
exception between 0.9999 and 0.999999).
37+
38+
39+
0.999999/1.0b7
40+
~~~~~~~~~~~~~~
41+
42+
Released on July 7, 2015
43+
44+
* Fix #189: fix the sanitizer to allow relative URLs again (as it did
45+
prior to 0.9999/1.0b5).
46+
47+
48+
0.99999/1.0b6
49+
~~~~~~~~~~~~~
50+
51+
Released on April 30, 2015
52+
53+
* Fix #188: fix the sanitizer to not throw an exception when sanitizing
54+
bogus data URLs.
55+
56+
57+
0.9999/1.0b5
58+
~~~~~~~~~~~~
59+
60+
Released on April 29, 2015
61+
62+
* Fix #153: Sanitizer fails to treat some attributes as URLs. Despite how
63+
this sounds, this has no known security implications. No known version
64+
of IE (5.5 to current), Firefox (3 to current), Safari (6 to current),
65+
Chrome (1 to current), or Opera (12 to current) will run any script
66+
provided in these attributes.
67+
68+
* Pass error message to the ParseError exception in strict parsing mode.
69+
70+
* Allow data URIs in the sanitizer, with a whitelist of content-types.
71+
72+
* Add support for Python implementations that don't support lone
73+
surrogates (read: Jython). Fixes #2.
74+
75+
* Remove localization of error messages. This functionality was totally
76+
unused (and untested that everything was localizable), so we may as
77+
well follow numerous browsers in not supporting translating technical
78+
strings.
79+
80+
* Expose treewalkers.pprint as a public API.
81+
82+
* Add a documentEncoding property to HTML5Parser, fix #121.
83+
84+
1485
0.999
1586
~~~~~
1687

MANIFEST.in

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
include LICENSE
2+
include AUTHORS.rst
23
include CHANGES.rst
34
include README.rst
45
include requirements*.txt
6+
include .pytest.expect
7+
include tox.ini
8+
include pytest.ini
59
graft html5lib/tests/testdata
610
recursive-include html5lib/tests *.py

README.rst

+5-5
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ Optional Dependencies
104104
The following third-party libraries may be used for additional
105105
functionality:
106106

107-
- ``datrie`` can be used to improve parsing performance (though in
108-
almost all cases the improvement is marginal);
107+
- ``datrie`` can be used under CPython to improve parsing performance
108+
(though in almost all cases the improvement is marginal);
109109

110110
- ``lxml`` is supported as a tree format (for both building and
111111
walking) under CPython (but *not* PyPy where it is known to cause
@@ -132,9 +132,9 @@ Please report any bugs on the `issue tracker
132132
Tests
133133
-----
134134

135-
Unit tests require the ``nose`` library and can be run using the
136-
``nosetests`` command in the root directory; ``ordereddict`` is
137-
required under Python 2.6. All should pass.
135+
Unit tests require the ``pytest`` and ``mock`` libraries and can be
136+
run using the ``py.test`` command in the root directory;
137+
``ordereddict`` is required under Python 2.6. All should pass.
138138

139139
Test data are contained in a separate `html5lib-tests
140140
<https://github.com/html5lib/html5lib-tests>`_ repository and included

doc/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
# Add any paths that contain custom static files (such as style sheets) here,
127127
# relative to this directory. They are copied after the builtin static files,
128128
# so a file named "default.css" will overwrite the builtin "default.css".
129-
html_static_path = ['_static']
129+
#html_static_path = ['_static']
130130

131131
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
132132
# using the given strftime format.

doc/html5lib.treewalkers.rst

-9
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,3 @@ treewalkers Package
4848
:members:
4949
:undoc-members:
5050
:show-inheritance:
51-
52-
:mod:`pulldom` Module
53-
---------------------
54-
55-
.. automodule:: html5lib.treewalkers.pulldom
56-
:members:
57-
:undoc-members:
58-
:show-inheritance:
59-

doc/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Overview
88
:maxdepth: 2
99

1010
movingparts
11+
modules
1112
changes
1213
License <license>
1314

html5lib/__init__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@
2020

2121
__all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder",
2222
"getTreeWalker", "serialize"]
23-
__version__ = "0.9999-dev"
23+
24+
# this has to be at the top level, see how setup.py parses this
25+
__version__ = "0.99999999-dev"

0 commit comments

Comments
 (0)