Ben Kurtovic
36180a9e47
To clarify usage, emit_text() -> emit_char() and emit_string() -> emit_text()
10 years ago
Ben Kurtovic
c1379d5f21
Add a emit_string() as a shortcut; a bunch of minor cleanup.
10 years ago
Ben Kurtovic
bbcb906f37
handle_dl_term()
10 years ago
Ben Kurtovic
9993ffe8bf
handle_hr()
10 years ago
Ben Kurtovic
c20d3f2a6a
handle_list_marker() and handle_list()
10 years ago
Ben Kurtovic
34b3756285
parse_italics_and_bold() and parse_style()
10 years ago
Ben Kurtovic
22d7ad032a
emit_style_tag, parse_italics, parse_bold
10 years ago
Ben Kurtovic
9b98907751
Add C hooks and prototypes for wiki-markup tags.
10 years ago
Ben Kurtovic
07d49c680a
Fix resetting of fields when doing multiple tokenizations.
11 years ago
Ben Kurtovic
e83f321340
Rearrange functions; remove useless prototypes.
11 years ago
Ben Kurtovic
9a2556b9fa
Actually write to buffer with invalid tag starts.
11 years ago
Ben Kurtovic
41d66a4a7f
Don't decrement refcount with PyList_SetItem().
11 years ago
Ben Kurtovic
bb4cf03e98
Fix unsafe context definitions.
11 years ago
Ben Kurtovic
2f55654f01
Route failure shouldn't be consumed before it reaches Tokenizer_parse_tag().
11 years ago
Ben Kurtovic
90ef3206f3
Properly handle the first space after a tag name.
11 years ago
Ben Kurtovic
e3fc27c9e3
Refactor TagData code into dedicated functions.
11 years ago
Ben Kurtovic
30c3f27b0e
Correctly set TagOpenData's default values.
11 years ago
Ben Kurtovic
e32063ef4a
Reset routes properly.
11 years ago
Ben Kurtovic
fd8a530259
Implement Tokenizer_handle_single_only_tag_end(), Tokenizer_handle_single_tag_end()
11 years ago
Ben Kurtovic
4c5cfe57b8
Implement Tokenizer_handle_invalid_tag_start()
11 years ago
Ben Kurtovic
c0f83fc803
Implement Tokenizer_handle_tag_close_close()
11 years ago
Ben Kurtovic
b900f84420
Implement Tokenizer_handle_tag_open_close()
11 years ago
Ben Kurtovic
e6b5c46d9c
Implement Tokenizer_handle_tag_close_open()
11 years ago
Ben Kurtovic
b3f7728c31
Implement Tokenizer_handle_tag_text(), Tokenizer_handle_blacklisted_tag()
11 years ago
Ben Kurtovic
d02a6da81e
Implement Tokenizer_handle_tag_space(); refactor textbuffer writing.
- Add a test for very long strings of text.
11 years ago
Ben Kurtovic
9365fcf6e4
Implement Tokenizer_handle_tag_data(); add a read-backwards macro.
11 years ago
Ben Kurtovic
e636bf77cf
Implement Tokenizer_push_tag_buffer()
11 years ago
Ben Kurtovic
c42f67ed5e
Implement Tokenizer_parse_tag(), Tokenizer_really_parse_tag()
11 years ago
Ben Kurtovic
653071379b
Finish porting misc changes; add prototypes for remaining functions.
11 years ago
Ben Kurtovic
aca0f78cd7
Port more Python tokenizer updates to C.
11 years ago
Ben Kurtovic
f67cf46900
Start C port of tag tokenization; refactor the init func.
11 years ago
Ben Kurtovic
2596e697ae
Fix a possible compiler warning on some build systems.
11 years ago
Ben
a689467577
Replace broken log2 function; add a missing comment.
11 years ago
Ben Kurtovic
22e869b142
Fix a failing HTML entity test in the C tokenizer.
Remove some extraneous whitespace in string_mixin.py.
11 years ago
Ben Kurtovic
496475c977
Whoops, that should be one larger ( #25 ).
11 years ago
Ben Kurtovic
9ede1121ba
Fix tokenizer.c on Windows; add another template test ( #25 )
Mostly by @gdooms , with tweaks.
11 years ago
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.
11 years ago
Ben Kurtovic
f803269514
Add a USES_C field to the tokenizers; add TestParser.test_use_c()
11 years ago
Ben Kurtovic
054a84afe0
A bit of misc cleanup.
11 years ago
Ben Kurtovic
718fcb24c8
Fix eight failing tests; all template parsing tests now passing ( #25 ).
11 years ago
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.
11 years ago
Ben Kurtovic
0803417901
Port CTokenizer's verify_safe method to Python to solve a failing test.
11 years ago
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.
11 years ago
Ben Kurtovic
11cf5def75
Fix handling of sections headers with equal signs ( closes #20 )
11 years ago
Ben Kurtovic
d1a9ba9a34
Starting tag work.
- Translation dict, contexts, parse_* and handle_* hooks in tokenizer.
11 years ago
Ben Kurtovic
dab6cc39ef
Fix handling of errors when parsing template param keys ( closes #13 )
11 years ago
Ben Kurtovic
1f47e10f04
Start some Py3k compatibility stuff.
11 years ago
Ben Kurtovic
ca11d77efd
Shorten some longer lines.
11 years ago
Ben Kurtovic
4a725b7ac5
Fix another couple bugs regarding template contexts and verify_safe().
11 years ago
Ben Kurtovic
1abdb478c9
Fix a couple bugs.
11 years ago