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 vuotta sitten
Ben Kurtovic
d7c755f526
Add Wikicode.contains(), Wikicode.get_ancestors(), Wikicode.get_parent() ( #177 )
7 vuotta sitten
Ben Kurtovic
68ded2f890
Add keep_template_params to Wikicode.strip_code ( #175 )
7 vuotta sitten
Ben Kurtovic
6159171e04
Make Template.remove(keep_field=True) slightly more reasonable.
7 vuotta sitten
Ben Kurtovic
f34f662f35
Fix len() sometimes raising ValueError on empty node lists ( fixes #174 )
7 vuotta sitten
Ben Kurtovic
aaffb7f66b
Update copyright for 2016.
8 vuotta sitten
Ben Kurtovic
4707b455b5
Add a new test to check for parsing bug; fix an existing test ( #142 )
8 vuotta sitten
Ben Kurtovic
61b6b98470
Fix two parser bugs involving wikitable error handling.
9 vuotta sitten
Ben Kurtovic
50b401549b
Add failing test cases for #125 .
9 vuotta sitten
Ben Kurtovic
4f3ab48375
Edge cases involving wikilink -> external link fallback ( fixes #120 )
9 vuotta sitten
Ben Kurtovic
67214b7c05
Add some failing tests for SmartList features.
9 vuotta sitten
Ben Kurtovic
ab9f6a97fb
Use weakrefs for SmartList children; remove _ListProxy.detach().
9 vuotta sitten
Ben Kurtovic
2a3a978986
Incomplete code for C tokenizer textbuffer.
9 vuotta sitten
Ben Kurtovic
f16c7e25ca
Fully fix parsing templates with blank names, I hope ( #111 )
9 vuotta sitten
Ben Kurtovic
7993224926
Add a failing test for a missed component of #59
9 vuotta sitten
Ben Kurtovic
56f1797cfe
Add failing tests for #111
9 vuotta sitten
Ben Kurtovic
46cb714344
Fix unit tests for 699d063
( #109 )
9 vuotta sitten
Ben Kurtovic
4c2540060b
Fix preserve_spacing behavior in Template.add() on hidden keys ( #109 )
9 vuotta sitten
Ben Kurtovic
3a57756068
Fix HTTPS requirement for enwiki API.
9 vuotta sitten
Ben Kurtovic
efc571c5c0
Refactor _test_tokenizer; add syntax for running just one test.
9 vuotta sitten
Ben Kurtovic
07d4577c33
Add tests for < and > in wilink titles/template names ( #104 )
9 vuotta sitten
Ben Kurtovic
e71e7b4ece
Update copyright years for 2015; fix whitespace in docs.
10 vuotta sitten
Ben Kurtovic
a64bae35c9
Add support for a NOWEB env var, update docs.
10 vuotta sitten
Ben Kurtovic
a00c645bd8
Fix handling of tag closes within <nowiki> ( fixes #89 ).
10 vuotta sitten
Ben Kurtovic
47b44a9730
Add a failing test for #89 .
10 vuotta sitten
Ben Kurtovic
9fc4b909e1
Refactor a lot of table error recovery code.
10 vuotta sitten
Ben Kurtovic
4d4045902d
Update table tests to reflect new grammar.
10 vuotta sitten
Ben Kurtovic
e1ebb59b9e
Ensure token list is copied before being fed to the builder.
10 vuotta sitten
Ben Kurtovic
913ff590c8
Cleanup; add a missing test.
10 vuotta sitten
Ben Kurtovic
504b8bace0
Add test code for a missing branch of Tag.wiki_markup.setter; cleanup.
10 vuotta sitten
Ben Kurtovic
c638746850
Add a test for tokenizer line 1384.
10 vuotta sitten
Ben Kurtovic
92cf8f2c03
Add a couple more tests involving templates.
10 vuotta sitten
Ben Kurtovic
bd85805f8f
Add integration tests for token roundtripping.
10 vuotta sitten
Ben Kurtovic
e446c51347
Adjust table test labels for consistency.
10 vuotta sitten
David Winegar
1a4c88e11f
Correctly handle no table endings
Tests were not correctly testing the situations without a table close.
Fixed tests and then fixed tokenizers for failing tests. Also refactored
pytokenizer to more closely match the ctokenizer by only holding the
`_parse` methods in the try blocks and no other code.
10 vuotta sitten
David Winegar
8dc70bc20b
Add test coverage
Add some table tests to increase coverage. Also reorder some tests.
10 vuotta sitten
David Winegar
1b3e3c3657
Change wiki tags to use style separators
For wiki syntax tables, add `wiki_style_separator` as an attribute
for the Tag node. Also reorder `closing_wiki_markup` property and tests
to match its place in the constructor.
10 vuotta sitten
David Winegar
213c105666
Table tags are no longer self-closing
Table tags no longer self-closing. Rows and cells now contain their
contents. Also refactored out an `emit_table_tag` method.
Note: this will require changes to the Tag node and possibly the builder,
those changes will be in the next commit.
10 vuotta sitten
David Winegar
64869fe84b
Remove style test
Remove style test to properly implement implicit style closes later.
10 vuotta sitten
Ben Kurtovic
94a9e32494
Add missing comma to test output.
10 vuotta sitten
David Winegar
151a73e437
Fix issue with incorrect table attributes
Fix problem in which invalid table attributes were being parsed
incorrectly. Added tests.
10 vuotta sitten
David Winegar
8b5d6f9a3b
Changes to table close handling
Fix problem in which fake table closes were causing a problem inside
cells. Changed inline table handling to fix this.
10 vuotta sitten
David Winegar
457b224045
Add padding to table cell tags
Padding now included on all wiki table cells. With wiki table cells
that include attributes, `wiki_markup` is also included (unchanged).
10 vuotta sitten
David Winegar
842af20c38
fixed hacky table cell style exception, added tests
Removed the `StopIteration()` exception for handling table style
and instead call `_handle_table_cell_end()` with a new parameter.
Also added some random tests for table openings.
10 vuotta sitten
David Winegar
f1664a8d67
Updated row and table handling
Changed row recursion handling to make sure the tag is emitted even
when hitting recursion limits. Need to test table recursion to make
sure that works. Also fixed a bug in which tables were eating the
trailing token. Added several tests for rows and trailing tokens with
tables.
10 vuotta sitten
David Winegar
ec08001871
Tables and rows now use newline as padding
Tables and rows use newlines as padding, partly because these characters
are pretty important to the integrity of the table. They might need
to be in the preceding whitespace of inner tags instead as padding after,
not sure.
10 vuotta sitten
David Winegar
d356a570b3
Added closing_wiki_markup support to Tag node
Added support for allowing different wiki syntax for replacing the opening
and closing tags. Added for table support.
10 vuotta sitten
David Winegar
9f159ecfa2
Add table start/row start style attribute support
Started styling attributes for table row and table start. Still not entirely
sure about this, definitely need to make changes regarding padding.
10 vuotta sitten
David Winegar
0bba69d5dc
Added tests/support for header cells
Support for header cells was mostly in already, just needed minor
changes. Added two tests as well.
10 vuotta sitten
David Winegar
a13bc948fa
Started table cell attribute support
Started support for parsing table style attributes. I suspect some
of this is incorrect, need to add more tests to see.
10 vuotta sitten