AntiCompositeNumber
b87f4eef8f
nodes: Add __contains__ to Template
This allows the use of `key in Template` syntax
pirms 4 gadiem
AntiCompositeNumber
204266c3df
nodes: Use def instead of assignment of a lambda in Template
Per PEP8, there is no benefit to using a lambda here, and some
downsides. It's the same number of SLOC either way, so might as well
change it.
pirms 4 gadiem
AntiCompositeNumber
a42c728744
nodes: Add __getitem__, __setitem__, and __delitem__ to Template
These are just aliases for existing methods, without the ability to
specifiy additional parameters. However, including them makes Template
more dict-like, so it's a good idea to have them.
pirms 4 gadiem
AntiCompositeNumber
c8dbc5f8cd
nodes: add a `default` param to Template.get
Similar to dict.get, Template.get with a default param supplied will
return that value instead of raising an exception. If default is unset,
Template.get will keep its previous behavior and raise an exception.
pirms 4 gadiem
Kunal Mehta
7e5297fbe6
Drop Python 2 support
Fixes #221 .
pirms 4 gadiem
Yuri Astrakhan
4065624150
updated comment/license
pirms 4 gadiem
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.
pirms 4 gadiem
Yuri Astrakhan
e66a2db0ed
add missing public items to __all__
Added a few more public classes, and sorted the __all__ value.
The Attribute and Parameter classes are not included as they can
be imported from the `mwparserfromhell.nodes.extras` without
linter complaining. They could be added to this __all__ too.
pirms 4 gadiem
Ben Kurtovic
b3c98efd22
Fix a parsing bug involving deeply nested style tags ( fixes #224 )
pirms 5 gadiem
Ben Kurtovic
2a4e1f4316
Add contexts.describe() for debugging
pirms 5 gadiem
Ben Kurtovic
b6e4c59004
Switch to requests for basic API example ( closes #219 ); update links
pirms 5 gadiem
Ben Kurtovic
6136b1b205
Make Wikicode.matches() treat _ and space as equivalent ( fixes #216 )
pirms 5 gadiem
Ben Kurtovic
9965709934
Version bump; update release script; update Travis
pirms 5 gadiem
Ben Kurtovic
18646f712f
release/0.5.4
pirms 5 gadiem
Ben Kurtovic
8c5f554406
Add guard against a rare crash in the C tokenizer
pirms 5 gadiem
Ben Kurtovic
98dc30902d
Version bump
pirms 5 gadiem
Ben Kurtovic
3d116713b2
release/0.5.3
pirms 5 gadiem
Ben Kurtovic
fa98aad408
Bump copyright [skip ci]
pirms 5 gadiem
Ben Kurtovic
4775131717
Fix not memoizing bad routes after failing inside a table ( fixes #206 )
pirms 5 gadiem
Ben Kurtovic
6e61c99c90
Update API query example; clarify docstring
pirms 5 gadiem
Ben Kurtovic
708bee59e1
Minor cleanup
pirms 5 gadiem
Ben Kurtovic
83bcb902b8
Support manual construction of Node objects ( fixes #214 )
pirms 5 gadiem
Ben Kurtovic
0ae5f6d641
Fix regression in previous commit on _ListProxy transformations ( fixes #213 )
pirms 5 gadiem
Ben Kurtovic
840a88bcd6
Fix Wikicode transformation methods on empty sections ( fixes #212 )
pirms 5 gadiem
Ben Kurtovic
2c0b9e5795
Version bump, fix release script again [ci skip]
pirms 6 gadiem
Ben Kurtovic
8a88198aae
release/0.5.2
pirms 6 gadiem
Ben Kurtovic
2c206bc16b
Fix crash due to PyList_GET_SIZE being applied to a dict ( fixes #208 )
pirms 6 gadiem
Ben Kurtovic
6de7d41733
Fix signals getting stuck inside the C tokenizer ( #206 )
pirms 6 gadiem
Hugo
e457b39f32
Upgrade Python syntax with pyupgrade https://github.com/asottile/pyupgrade
pirms 6 gadiem
Hugo
59636609db
Drop support for EOL Python
pirms 6 gadiem
Kunal Mehta
e506380318
Add <wbr> to definitions.py
Added to MediaWiki in ff74113bea (T54468).
pirms 6 gadiem
Ben Kurtovic
b354c56755
Version bump; cleanup [ci skip]
pirms 6 gadiem
Ben Kurtovic
cb96b4378a
release/0.5.1
pirms 6 gadiem
Ben Kurtovic
86c805d59b
Don't get stuck in tags with unclosed quoted attributes ( fixes #190 ).
pirms 6 gadiem
Ben Kurtovic
7a30e47f76
Some improvements to whitespace recognition; unit tests ( #185 ).
pirms 7 gadiem
Ben Kurtovic
cdc97f6f29
Version bump for 0.6 [ci skip]
pirms 7 gadiem
Ben Kurtovic
3ffc13bfd4
release/0.5
pirms 7 gadiem
Ben Kurtovic
cd4f90e663
Fix a rare parsing bug involving nested broken tags.
pirms 7 gadiem
Ben Kurtovic
7308c8055e
Not perfect, but slightly better template param space guessing ( #155 )
pirms 7 gadiem
Ben Kurtovic
5a99597eb3
Another C89 fix for MSVC.
pirms 7 gadiem
Ben Kurtovic
0ef6a2ffbe
Fix declarations for C89 compatibility (forgot MSVC needed that...)
pirms 7 gadiem
Ben Kurtovic
dc0b3ae446
Enable Windows builds on Python 3.6; try to fix again.
pirms 7 gadiem
Ben Kurtovic
6ad3b9fb2a
inttypes.h doesn't exist on Windows, so try using stdint.h
pirms 7 gadiem
Ben Kurtovic
2593675651
Remove stdbool.h from avl_tree since MSVC doesn't like it.
pirms 7 gadiem
Ben Kurtovic
6ee61789da
Fix compilation issue on Travis since GCC uses C90 by default there.
pirms 7 gadiem
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)
pirms 7 gadiem
Ben Kurtovic
08e5f7e1a5
Forgot version bump, sigh.
pirms 7 gadiem
Ben Kurtovic
d7c755f526
Add Wikicode.contains(), Wikicode.get_ancestors(), Wikicode.get_parent() ( #177 )
pirms 7 gadiem
Ben Kurtovic
68ded2f890
Add keep_template_params to Wikicode.strip_code ( #175 )
pirms 7 gadiem
Ben Kurtovic
6ffdfa52ef
Allow Wikicode objects to be pickled properly.
pirms 7 gadiem