Ben Kurtovic
9ea06c2830
Push the textbuffer to fix a couple broken tests.
vor 11 Jahren
Ben Kurtovic
1b4c01b4c0
Implement assertTagNodeEqual(), start test_tag(), add to tags.mwtest.
vor 11 Jahren
Ben Kurtovic
61fc5b5eab
Fix handling of self-closing tags ( closes #31 )
vor 11 Jahren
Ben Kurtovic
22e869b142
Fix a failing HTML entity test in the C tokenizer.
Remove some extraneous whitespace in string_mixin.py.
vor 11 Jahren
Ben Kurtovic
496475c977
Whoops, that should be one larger ( #25 ).
vor 11 Jahren
Ben Kurtovic
9ede1121ba
Fix tokenizer.c on Windows; add another template test ( #25 )
Mostly by @gdooms , with tweaks.
vor 11 Jahren
Ben Kurtovic
debcb6577e
Fix recursion issues by giving up at a certain point ( closes #16 ).
- Stop parsing new templates if the template depth gets above
MAX_DEPTH (40) or if we've already tried to parse over MAX_CYCLES
(100,000) templates.
- Add two tests to ensure recursion works somewhat correctly.
- Fix parsing the string "{{" with the Python tokenizer; add a test.
vor 11 Jahren
Ben Kurtovic
f803269514
Add a USES_C field to the tokenizers; add TestParser.test_use_c()
vor 11 Jahren
Ben Kurtovic
6a741db7ce
Applying fb71f5507e
vor 11 Jahren
Ben Kurtovic
d8814968b7
Applying latest commit from develop
vor 11 Jahren
Ben Kurtovic
fb71f5507e
Support a 'use_c' field to explicitly disable the C tokenizer.
vor 11 Jahren
Ben Kurtovic
054a84afe0
A bit of misc cleanup.
vor 11 Jahren
Ben Kurtovic
718fcb24c8
Fix eight failing tests; all template parsing tests now passing ( #25 ).
vor 11 Jahren
Ben Kurtovic
5a0a00ba98
Change the way verify_safe() handles template params ( #25 ).
- Newlines are now allowed in template param names.
- Changes also affect handling of arguments like {{{foo}}}.
- Update unit tests: remove some unnecessary ones, and add some to cover the changes.
- Update StringMixIn tests to actually work for some of the methods.
- Update copyright notices for the C extensions.
vor 11 Jahren
Ben Kurtovic
0803417901
Port CTokenizer's verify_safe method to Python to solve a failing test.
vor 11 Jahren
Ben Kurtovic
acb7e57904
Make mwparserfromhell.parser() be an alias for parse_anything().
Some other changes, including removal of the 'string' import in the tokenizer.
vor 11 Jahren
Ben Kurtovic
d6f2723a06
Fix safety checks on template params in some odd cases ( closes #24 ).
Also, fix parsing of wikilinks in both tokenizers such that newlines
in any location within the title are an automatic failure.
vor 11 Jahren
Ben Kurtovic
0ee505b5a5
Docstrings for new tokenizer methods.
vor 11 Jahren
Ben Kurtovic
cd5cc6a7d0
Update copyright notices for 2013.
vor 11 Jahren
Ben Kurtovic
11cf5def75
Fix handling of sections headers with equal signs ( closes #20 )
vor 11 Jahren
Ben Kurtovic
6ea618460f
_get_tag_type_from_stack() makes more sense now
vor 11 Jahren
Ben Kurtovic
eed7c918bf
Implement padding support for Tags completely; open_padding->padding.
vor 11 Jahren
Ben Kurtovic
a58c480639
Fix some usage of attrs; shorten a context, fix some behavior I broke.
vor 11 Jahren
Ben Kurtovic
ca47305074
Fix attribute behavior under certain strange circumstances.
vor 11 Jahren
Ben Kurtovic
26d30f3d1a
Seems to be working for quoted attributes now.
vor 11 Jahren
Ben Kurtovic
d459899649
More attribute stuff.
vor 11 Jahren
Ben Kurtovic
d9f23b8faa
Really basic, messy, and fragile tag attribute support.
vor 11 Jahren
Ben Kurtovic
252cc13a99
Move repeated context checks into one block in Tokenizer._parse().
vor 11 Jahren
Ben Kurtovic
827c544721
Should correctly handle closing tags with strange spacing.
vor 11 Jahren
Ben Kurtovic
7e46601b1d
Tags should fully work now in tokenizer and builder.
Still need to do attributes.
vor 11 Jahren
Ben Kurtovic
05ec7a1a92
Improve padding support for Tags; more code for tags in tokenizer.
vor 11 Jahren
Ben Kurtovic
d1a9ba9a34
Starting tag work.
- Translation dict, contexts, parse_* and handle_* hooks in tokenizer.
vor 11 Jahren
Ben Kurtovic
dab6cc39ef
Fix handling of errors when parsing template param keys ( closes #13 )
vor 11 Jahren
Ben Kurtovic
1f47e10f04
Start some Py3k compatibility stuff.
vor 11 Jahren
Ben Kurtovic
ca11d77efd
Shorten some longer lines.
vor 11 Jahren
Ben Kurtovic
4a725b7ac5
Fix another couple bugs regarding template contexts and verify_safe().
vor 11 Jahren
Ben Kurtovic
1abdb478c9
Fix a couple bugs.
vor 11 Jahren
Ben Kurtovic
88a2b95030
Remove a bunch of white space.
vor 11 Jahren
Ben Kurtovic
3a6335d969
Clean up init_tokenizer().
vor 11 Jahren
Ben Kurtovic
06f02b9753
Clean up whitespace / newlines.
vor 11 Jahren
Ben Kurtovic
0e78571672
Forgot to check numeric/hexadecimal entities for string chars.
vor 11 Jahren
Ben Kurtovic
a1e6dfcef6
Ensure that there is null terminator at the end of entitydefs.
vor 11 Jahren
Ben Kurtovic
19e7c3b6ac
Fix type.
vor 11 Jahren
Ben Kurtovic
06b20dd8c0
More updates.
vor 11 Jahren
Ben Kurtovic
16024494cf
Mostly implement Tokenizer_really_parse_entity().
vor 11 Jahren
Ben Kurtovic
087d606097
Recover failing contexts when due to a template or link opening.
vor 11 Jahren
Ben Kurtovic
7de34ed5a6
Rewrite verify_safe completely.
vor 11 Jahren
Ben Kurtovic
b2f933dddc
Fix memory leak.
vor 11 Jahren
Ben Kurtovic
c5fea8ea34
Render the entire textbuffer correctly.
vor 11 Jahren
Ben Kurtovic
cdef073a9b
Replace textbuffer with our own datastructure.
vor 11 Jahren