Yuri Astrakhan
44ec68ff10
WIP - rewrote smart list
This is a first draft of the smart list.
It passes all of the existing smartlist tests
(except for full-list reversal, whose behavior has changed),
but the rest of the code has not yet been updated.
4 lat temu
Yuri Astrakhan
aa37425a9b
move smart_list into sub-package/multiple files
Step one of refactoring - making SmartList into its own
package, with each class having its own file. No code
changes were made.
Note that SmartList and ListProxy import each other,
so had to import SmartList as a full package name
rather than use from ... import ... construct.
4 lat temu
Ben Kurtovic
b09b619709
Switch to 'unittest discover' over 'setup.py test'
5 lat temu
Ben Kurtovic
b3c98efd22
Fix a parsing bug involving deeply nested style tags ( fixes #224 )
5 lat temu
Ben Kurtovic
2a4e1f4316
Add contexts.describe() for debugging
5 lat temu
Ben Kurtovic
b6e4c59004
Switch to requests for basic API example ( closes #219 ); update links
5 lat temu
Ben Kurtovic
6136b1b205
Make Wikicode.matches() treat _ and space as equivalent ( fixes #216 )
5 lat temu
Ben Kurtovic
4775131717
Fix not memoizing bad routes after failing inside a table ( fixes #206 )
5 lat temu
Ben Kurtovic
6e61c99c90
Update API query example; clarify docstring
5 lat temu
Ben Kurtovic
83bcb902b8
Support manual construction of Node objects ( fixes #214 )
5 lat temu
Ben Kurtovic
0ae5f6d641
Fix regression in previous commit on _ListProxy transformations ( fixes #213 )
5 lat temu
Ben Kurtovic
840a88bcd6
Fix Wikicode transformation methods on empty sections ( fixes #212 )
5 lat temu
Ben Kurtovic
de6e671c40
Update changelog, remove now-unneeded test discovery script, cleanup
6 lat temu
Hugo
f372d3d495
Upgrade unit test asserts
6 lat temu
Hugo
e457b39f32
Upgrade Python syntax with pyupgrade https://github.com/asottile/pyupgrade
6 lat temu
Hugo
59636609db
Drop support for EOL Python
6 lat temu
Ben Kurtovic
46000ee7c8
Fix test on old Python versions
7 lat temu
Ben Kurtovic
253102be35
Minor change to template test_formatting format.
7 lat temu
Ben Kurtovic
7a30e47f76
Some improvements to whitespace recognition; unit tests ( #185 ).
7 lat temu
Ben Kurtovic
cd4f90e663
Fix a rare parsing bug involving nested broken tags.
7 lat temu
Ben Kurtovic
8a9c9224be
Speed up parsing deeply nested syntax by caching bad routes ( fixes #42 )
Also removed the max cycles stop-gap, allowing much more complex pages
to be parsed quickly without losing nodes at the end
Also fixes #65 , fixes #102 , fixes #165 , fixes #183
Also fixes #81 (Rafael Nadal parsing bug)
Also fixes #53 , fixes #58 , fixes #88 , fixes #152 (duplicate issues)
7 lat temu
Ben Kurtovic
d7c755f526
Add Wikicode.contains(), Wikicode.get_ancestors(), Wikicode.get_parent() ( #177 )
7 lat temu
Ben Kurtovic
68ded2f890
Add keep_template_params to Wikicode.strip_code ( #175 )
7 lat temu
Ben Kurtovic
6159171e04
Make Template.remove(keep_field=True) slightly more reasonable.
7 lat temu
Ben Kurtovic
f34f662f35
Fix len() sometimes raising ValueError on empty node lists ( fixes #174 )
7 lat temu
Ben Kurtovic
aaffb7f66b
Update copyright for 2016.
8 lat temu
Ben Kurtovic
4707b455b5
Add a new test to check for parsing bug; fix an existing test ( #142 )
8 lat temu
Ben Kurtovic
61b6b98470
Fix two parser bugs involving wikitable error handling.
9 lat temu
Ben Kurtovic
50b401549b
Add failing test cases for #125 .
9 lat temu
Ben Kurtovic
4f3ab48375
Edge cases involving wikilink -> external link fallback ( fixes #120 )
9 lat temu
Ben Kurtovic
67214b7c05
Add some failing tests for SmartList features.
9 lat temu
Ben Kurtovic
ab9f6a97fb
Use weakrefs for SmartList children; remove _ListProxy.detach().
9 lat temu
Ben Kurtovic
2a3a978986
Incomplete code for C tokenizer textbuffer.
9 lat temu
Ben Kurtovic
f16c7e25ca
Fully fix parsing templates with blank names, I hope ( #111 )
9 lat temu
Ben Kurtovic
7993224926
Add a failing test for a missed component of #59
9 lat temu
Ben Kurtovic
56f1797cfe
Add failing tests for #111
9 lat temu
Ben Kurtovic
46cb714344
Fix unit tests for 699d063
( #109 )
9 lat temu
Ben Kurtovic
4c2540060b
Fix preserve_spacing behavior in Template.add() on hidden keys ( #109 )
9 lat temu
Ben Kurtovic
3a57756068
Fix HTTPS requirement for enwiki API.
9 lat temu
Ben Kurtovic
efc571c5c0
Refactor _test_tokenizer; add syntax for running just one test.
9 lat temu
Ben Kurtovic
07d4577c33
Add tests for < and > in wilink titles/template names ( #104 )
9 lat temu
Ben Kurtovic
e71e7b4ece
Update copyright years for 2015; fix whitespace in docs.
10 lat temu
Ben Kurtovic
a64bae35c9
Add support for a NOWEB env var, update docs.
10 lat temu
Ben Kurtovic
a00c645bd8
Fix handling of tag closes within <nowiki> ( fixes #89 ).
10 lat temu
Ben Kurtovic
47b44a9730
Add a failing test for #89 .
10 lat temu
Ben Kurtovic
9fc4b909e1
Refactor a lot of table error recovery code.
10 lat temu
Ben Kurtovic
4d4045902d
Update table tests to reflect new grammar.
10 lat temu
Ben Kurtovic
e1ebb59b9e
Ensure token list is copied before being fed to the builder.
10 lat temu
Ben Kurtovic
913ff590c8
Cleanup; add a missing test.
10 lat temu
Ben Kurtovic
504b8bace0
Add test code for a missing branch of Tag.wiki_markup.setter; cleanup.
10 lat temu