AntiCompositeNumber
b87f4eef8f
nodes: Add __contains__ to Template
This allows the use of `key in Template` syntax
4 years ago
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.
4 years ago
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.
4 years ago
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.
4 years ago
Kunal Mehta
7e5297fbe6
Drop Python 2 support
Fixes #221 .
4 years ago
Yuri Astrakhan
4065624150
updated comment/license
4 years ago
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 years ago
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.
4 years ago
Ben Kurtovic
b3c98efd22
Fix a parsing bug involving deeply nested style tags ( fixes #224 )
5 years ago
Ben Kurtovic
2a4e1f4316
Add contexts.describe() for debugging
5 years ago
Ben Kurtovic
b6e4c59004
Switch to requests for basic API example ( closes #219 ); update links
5 years ago
Ben Kurtovic
6136b1b205
Make Wikicode.matches() treat _ and space as equivalent ( fixes #216 )
5 years ago
Ben Kurtovic
9965709934
Version bump; update release script; update Travis
5 years ago
Ben Kurtovic
18646f712f
release/0.5.4
5 years ago
Ben Kurtovic
8c5f554406
Add guard against a rare crash in the C tokenizer
5 years ago
Ben Kurtovic
98dc30902d
Version bump
5 years ago
Ben Kurtovic
3d116713b2
release/0.5.3
5 years ago
Ben Kurtovic
fa98aad408
Bump copyright [skip ci]
5 years ago
Ben Kurtovic
4775131717
Fix not memoizing bad routes after failing inside a table ( fixes #206 )
5 years ago
Ben Kurtovic
6e61c99c90
Update API query example; clarify docstring
5 years ago
Ben Kurtovic
708bee59e1
Minor cleanup
5 years ago
Ben Kurtovic
83bcb902b8
Support manual construction of Node objects ( fixes #214 )
5 years ago
Ben Kurtovic
0ae5f6d641
Fix regression in previous commit on _ListProxy transformations ( fixes #213 )
5 years ago
Ben Kurtovic
840a88bcd6
Fix Wikicode transformation methods on empty sections ( fixes #212 )
5 years ago
Ben Kurtovic
2c0b9e5795
Version bump, fix release script again [ci skip]
6 years ago
Ben Kurtovic
8a88198aae
release/0.5.2
6 years ago
Ben Kurtovic
2c206bc16b
Fix crash due to PyList_GET_SIZE being applied to a dict ( fixes #208 )
6 years ago
Ben Kurtovic
6de7d41733
Fix signals getting stuck inside the C tokenizer ( #206 )
6 years ago
Hugo
e457b39f32
Upgrade Python syntax with pyupgrade https://github.com/asottile/pyupgrade
6 years ago
Hugo
59636609db
Drop support for EOL Python
6 years ago
Kunal Mehta
e506380318
Add <wbr> to definitions.py
Added to MediaWiki in ff74113bea (T54468).
6 years ago
Ben Kurtovic
b354c56755
Version bump; cleanup [ci skip]
6 years ago
Ben Kurtovic
cb96b4378a
release/0.5.1
6 years ago
Ben Kurtovic
86c805d59b
Don't get stuck in tags with unclosed quoted attributes ( fixes #190 ).
6 years ago
Ben Kurtovic
7a30e47f76
Some improvements to whitespace recognition; unit tests ( #185 ).
7 years ago
Ben Kurtovic
cdc97f6f29
Version bump for 0.6 [ci skip]
7 years ago
Ben Kurtovic
3ffc13bfd4
release/0.5
7 years ago
Ben Kurtovic
cd4f90e663
Fix a rare parsing bug involving nested broken tags.
7 years ago
Ben Kurtovic
7308c8055e
Not perfect, but slightly better template param space guessing ( #155 )
7 years ago
Ben Kurtovic
5a99597eb3
Another C89 fix for MSVC.
7 years ago
Ben Kurtovic
0ef6a2ffbe
Fix declarations for C89 compatibility (forgot MSVC needed that...)
7 years ago
Ben Kurtovic
dc0b3ae446
Enable Windows builds on Python 3.6; try to fix again.
7 years ago
Ben Kurtovic
6ad3b9fb2a
inttypes.h doesn't exist on Windows, so try using stdint.h
7 years ago
Ben Kurtovic
2593675651
Remove stdbool.h from avl_tree since MSVC doesn't like it.
7 years ago
Ben Kurtovic
6ee61789da
Fix compilation issue on Travis since GCC uses C90 by default there.
7 years ago
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 years ago
Ben Kurtovic
08e5f7e1a5
Forgot version bump, sigh.
7 years ago
Ben Kurtovic
d7c755f526
Add Wikicode.contains(), Wikicode.get_ancestors(), Wikicode.get_parent() ( #177 )
7 years ago
Ben Kurtovic
68ded2f890
Add keep_template_params to Wikicode.strip_code ( #175 )
7 years ago
Ben Kurtovic
6ffdfa52ef
Allow Wikicode objects to be pickled properly.
7 years ago