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)
vor 7 Jahren
Ben Kurtovic
d7c755f526
Add Wikicode.contains(), Wikicode.get_ancestors(), Wikicode.get_parent() ( #177 )
vor 7 Jahren
Ben Kurtovic
68ded2f890
Add keep_template_params to Wikicode.strip_code ( #175 )
vor 7 Jahren
Ben Kurtovic
6159171e04
Make Template.remove(keep_field=True) slightly more reasonable.
vor 7 Jahren
Ben Kurtovic
f34f662f35
Fix len() sometimes raising ValueError on empty node lists ( fixes #174 )
vor 8 Jahren
Ben Kurtovic
aaffb7f66b
Update copyright for 2016.
vor 8 Jahren
Ben Kurtovic
4707b455b5
Add a new test to check for parsing bug; fix an existing test ( #142 )
vor 8 Jahren
Ben Kurtovic
61b6b98470
Fix two parser bugs involving wikitable error handling.
vor 9 Jahren
Ben Kurtovic
50b401549b
Add failing test cases for #125 .
vor 9 Jahren
Ben Kurtovic
4f3ab48375
Edge cases involving wikilink -> external link fallback ( fixes #120 )
vor 9 Jahren
Ben Kurtovic
67214b7c05
Add some failing tests for SmartList features.
vor 9 Jahren
Ben Kurtovic
ab9f6a97fb
Use weakrefs for SmartList children; remove _ListProxy.detach().
vor 9 Jahren
Ben Kurtovic
2a3a978986
Incomplete code for C tokenizer textbuffer.
vor 9 Jahren
Ben Kurtovic
f16c7e25ca
Fully fix parsing templates with blank names, I hope ( #111 )
vor 9 Jahren
Ben Kurtovic
7993224926
Add a failing test for a missed component of #59
vor 9 Jahren
Ben Kurtovic
56f1797cfe
Add failing tests for #111
vor 9 Jahren
Ben Kurtovic
46cb714344
Fix unit tests for 699d063
( #109 )
vor 9 Jahren
Ben Kurtovic
4c2540060b
Fix preserve_spacing behavior in Template.add() on hidden keys ( #109 )
vor 9 Jahren
Ben Kurtovic
3a57756068
Fix HTTPS requirement for enwiki API.
vor 9 Jahren
Ben Kurtovic
efc571c5c0
Refactor _test_tokenizer; add syntax for running just one test.
vor 9 Jahren
Ben Kurtovic
07d4577c33
Add tests for < and > in wilink titles/template names ( #104 )
vor 9 Jahren
Ben Kurtovic
e71e7b4ece
Update copyright years for 2015; fix whitespace in docs.
vor 10 Jahren
Ben Kurtovic
a64bae35c9
Add support for a NOWEB env var, update docs.
vor 10 Jahren
Ben Kurtovic
a00c645bd8
Fix handling of tag closes within <nowiki> ( fixes #89 ).
vor 10 Jahren
Ben Kurtovic
47b44a9730
Add a failing test for #89 .
vor 10 Jahren
Ben Kurtovic
9fc4b909e1
Refactor a lot of table error recovery code.
vor 10 Jahren
Ben Kurtovic
4d4045902d
Update table tests to reflect new grammar.
vor 10 Jahren
Ben Kurtovic
e1ebb59b9e
Ensure token list is copied before being fed to the builder.
vor 10 Jahren
Ben Kurtovic
913ff590c8
Cleanup; add a missing test.
vor 10 Jahren
Ben Kurtovic
504b8bace0
Add test code for a missing branch of Tag.wiki_markup.setter; cleanup.
vor 10 Jahren
Ben Kurtovic
c638746850
Add a test for tokenizer line 1384.
vor 10 Jahren
Ben Kurtovic
92cf8f2c03
Add a couple more tests involving templates.
vor 10 Jahren
Ben Kurtovic
bd85805f8f
Add integration tests for token roundtripping.
vor 10 Jahren
Ben Kurtovic
e446c51347
Adjust table test labels for consistency.
vor 10 Jahren
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.
vor 10 Jahren
David Winegar
8dc70bc20b
Add test coverage
Add some table tests to increase coverage. Also reorder some tests.
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren
David Winegar
64869fe84b
Remove style test
Remove style test to properly implement implicit style closes later.
vor 10 Jahren
Ben Kurtovic
94a9e32494
Add missing comma to test output.
vor 10 Jahren
David Winegar
151a73e437
Fix issue with incorrect table attributes
Fix problem in which invalid table attributes were being parsed
incorrectly. Added tests.
vor 10 Jahren
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.
vor 10 Jahren
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).
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren
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.
vor 10 Jahren