本文整理汇总了Python中kitsune.wiki.parser.WikiParser.parse方法的典型用法代码示例。如果您正苦于以下问题:Python WikiParser.parse方法的具体用法?Python WikiParser.parse怎么用?Python WikiParser.parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kitsune.wiki.parser.WikiParser
的用法示例。
在下文中一共展示了WikiParser.parse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_revision_include
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_revision_include(self):
"""Simple include markup."""
p = WikiParser()
_, _, p = doc_rev_parser('Test content', 'Test title')
# Existing title returns document's content
doc = pq(p.parse('[[I:Test title]]'))
eq_('Test content', doc.text())
# Nonexisting title returns 'Document not found'
doc = pq(p.parse('[[Include:Another title]]'))
eq_('The document "Another title" does not exist.', doc.text())
示例2: test_comments
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_comments(self):
"""Markup containing taggy comments shouldn't truncate afterward."""
p = WikiParser()
# This used to truncate after the comment when rendered:
eq_(p.parse('Start <!-- <foo --> End'),
'<p>Start End\n</p>')
# Just make sure these don't go awry either:
eq_(p.parse('Start <!-- <foo> --> End'),
'<p>Start End\n</p>')
eq_(p.parse('Start <!-- foo> --> End'),
'<p>Start End\n</p>')
示例3: test_simple_inline_custom
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_simple_inline_custom(self):
"""Simple custom inline syntax: menu, button, filepath, pref"""
p = WikiParser()
tags = ['menu', 'button', 'filepath', 'pref']
for tag in tags:
doc = pq(p.parse('{%s this is a %s}' % (tag, tag)))
eq_('this is a ' + tag, doc('span.' + tag).text())
示例4: test_key_inline
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_key_inline(self):
"""{key} stays inline"""
p = WikiParser()
doc = pq(p.parse('{key Cmd+Shift+Q}'))
eq_(1, len(doc('p')))
eq_(u'<span class="key">Cmd</span> + <span class="key">Shift</span>'
u' + <span class="key">Q</span>', doc.html().replace('\n', ''))
示例5: test_button_for_nesting
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_button_for_nesting(self):
"""You can nest {for}s inside {button}."""
text = '{button start {for mac}mac{/for}{for win}win{/for} rest}'
p = WikiParser()
content = p.parse(text)
eq_(u'<p><span class="button">start '
u'<span class="for" data-for="mac">mac</span>'
u'<span class="for" data-for="win">win</span> '
u'rest</span>\n</p>', content)
示例6: test_for_in_template
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_for_in_template(self):
"""Verify that {for}'s render correctly in template."""
d = TemplateDocumentFactory(title=TEMPLATE_TITLE_PREFIX + 'for')
ApprovedRevisionFactory(document=d, content='{for win}windows{/for}{for mac}mac{/for}')
p = WikiParser()
content = p.parse('[[{}for]]'.format(TEMPLATE_TITLE_PREFIX))
eq_('<p><span class="for" data-for="win">windows</span>'
'<span class="for" data-for="mac">mac</span>\n\n</p>',
content)
示例7: test_button_image_for_nesting
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_button_image_for_nesting(self):
"""You can nest [[Image:]] inside {for} inside {button}."""
image(title='image-file.png')
text = '{button {for mac}[[Image:image-file.png]]{/for} text}'
p = WikiParser()
doc = pq(p.parse(text))
assert 'frameless' in doc('img').attr('class')
eq_(0, doc('div.caption').length)
eq_(0, doc('div.img').length)
示例8: test_video_fallback_french
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_video_fallback_french(self):
"""English video is found in French."""
p = WikiParser()
self.test_video_english()
doc = pq(p.parse('[[V:Some title]]', locale='fr'))
eq_('video', doc('div.video').attr('class'))
eq_(1, len(doc('video')))
eq_(2, len(doc('source')))
data_fallback = doc('video').attr('data-fallback')
eq_(Video.objects.all()[0].flv.url, data_fallback)
示例9: test_general_warning_note_inline_custom
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_general_warning_note_inline_custom(self):
"""A mix of custom inline syntax with warnings and notes"""
p = WikiParser()
doc = pq(p.parse('\n\n{warning}\n\nthis is a {button warning}\n{note}'
'this is a {menu note}{warning}!{/warning}{/note}'
"'''{filepath internal}''' ''{menu hi!}''{/warning}"))
eq_('warning', doc('div.warning span.button').text())
eq_('this is a note !', doc('div.note').text())
eq_('note', doc('div.warning div.note span.menu').text())
eq_('internal', doc('strong span.filepath').text())
eq_('hi!', doc('em span.menu').text())
示例10: test_adjacent_blocks
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_adjacent_blocks(self):
"""Make sure one block-level {for} doesn't absorb an adjacent one."""
p = WikiParser()
html = p.parse('{for fx4}\n'
'{for mac}Fx4{/for}\n'
'{/for}\n'
'{for fx3}\n'
'{for mac}Fx3{/for}\n'
'{/for}')
# The two div.fors should be siblings, not nested:
eq_([], pq(html)('div.for div.for'))
示例11: test_youtube_video
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_youtube_video(self):
"""Verify youtube embeds."""
urls = ['http://www.youtube.com/watch?v=oHg5SJYRHA0',
'https://youtube.com/watch?v=oHg5SJYRHA0'
'http://youtu.be/oHg5SJYRHA0'
'https://youtu.be/oHg5SJYRHA0']
parser = WikiParser()
for url in urls:
doc = pq(parser.parse('[[V:%s]]' % url))
assert doc('iframe')[0].attrib['src'].startswith(
'//www.youtube.com/embed/oHg5SJYRHA0')
示例12: test_general_warning_note
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_general_warning_note(self):
"""A bunch of wiki text with {warning} and {note}"""
p = WikiParser()
doc = pq(p.parse('\n\n{warning}\n\nthis is a warning\n\n{note}'
'this is a note{warning}!{/warning}{/note}'
"[[Installing Firefox]] '''internal''' ''link''"
'{/warning}\n\n'))
eq_('!', doc('div.warning div.warning').text())
eq_('this is a note !', doc('div.note').text())
eq_('Installing Firefox', doc('a').text())
eq_('internal', doc('strong').text())
eq_('link', doc('em').text())
示例13: test_for_in_template
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_for_in_template(self):
"""Verify that {for}'s render correctly in template."""
d = document(title='Template:for')
d.save()
r = revision(document=d,
content='{for win}windows{/for}{for mac}mac{/for}')
r.is_approved = True
r.save()
p = WikiParser()
content = p.parse('[[Template:for]]')
eq_('<p><span class="for" data-for="win">windows</span>'
'<span class="for" data-for="mac">mac</span>\n\n</p>',
content)
示例14: test_internal_links
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_internal_links(self):
"""Make sure internal links work correctly when not to redirected
articles and when to redirected articles"""
p = WikiParser()
# Create a new article
rev = revision(is_approved=True, save=True)
doc = rev.document
doc.current_revision = rev
doc.title = 'Real article'
doc.save()
# Change the slug of the article to create a redirected article
old_slug = doc.slug
doc.slug = 'real-article'
doc.save()
redirect = Document.objects.get(slug=old_slug)
# Both internal links should link to the same article
eq_(p.parse('[[%s]]' % doc.title),
'<p><a href="/en-US/kb/%s">%s</a>\n</p>' % (doc.slug, doc.title))
eq_(p.parse('[[%s]]' % redirect.title),
'<p><a href="/en-US/kb/%s">%s</a>\n</p>' % (doc.slug, doc.title))
示例15: test_warning_simple
# 需要导入模块: from kitsune.wiki.parser import WikiParser [as 别名]
# 或者: from kitsune.wiki.parser.WikiParser import parse [as 别名]
def test_warning_simple(self):
"""Simple warning syntax"""
p = WikiParser()
doc = pq(p.parse('{warning}this is a warning{/warning}'))
eq_('this is a warning', doc('div.warning').text())