Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# http://www.wikicreole.org/wiki/AbbreviationAndAcronyms
def __init__(self):
super(AbbrAcronym,self).__init__('abbr', ['^','^'])
def _build(self,mo,element_store, environ):
try:
abbr, title = mo.group(1).split(":", 1)
except ValueError:
abbr = mo.group(1)
title = None
return creoleparser.core.bldr.tag.__getattr__('abbr')(
creoleparser.core.fragmentize(abbr,
self.child_elements,
element_store, environ), title=title)
class HTMLEntity(creoleparser.elements.InlineElement):
# Allows HTML elements to be passed through
def __init__(self):
super(HTMLEntity, self).__init__('span', ['&',';'])
self.regexp = re.compile(self.re_string())
def re_string(self):
return '&([A-Za-z]\w{1,24}|#\d{2,7}|#[Xx][0-9a-zA-Z]{2,6});'
def _build(self,mo,element_store, environ):
content = mo.group(1)
return creoleparser.core.bldr.tag.__getattr__('span')(Markup('&' + content + ';'))
class CodeBlock(creoleparser.elements.BlockElement):
"""
A block of code that gets syntax-highlited
def __init__(self):
super(AbbrAcronym, self).__init__('abbr', ['^', '^'])
def _build(self, mo, element_store, environ):
try:
abbr, title = mo.group(1).split(":", 1)
except ValueError:
abbr = mo.group(1)
title = None
return creoleparser.core.bldr.tag.__getattr__('abbr')(
creoleparser.core.fragmentize(abbr,
self.child_elements,
element_store, environ), title=title)
class HTMLEntity(creoleparser.elements.InlineElement):
# Allows HTML elements to be passed through
def __init__(self):
super(HTMLEntity, self).__init__('span', ['&', ';'])
self.regexp = re.compile(self.re_string())
def re_string(self):
return '&([A-Za-z]\w{1,24}|#\d{2,7}|#[Xx][0-9a-zA-Z]{2,6});'
def _build(self, mo, element_store, environ):
content = mo.group(1)
return creoleparser.core.bldr.tag.__getattr__('span')(Markup('&' + content + ';'))
class CodeBlock(creoleparser.elements.BlockElement):
"""
A block of code that gets syntax-highlited
defaults = {}
class Meta:
unique_together = (('offering', 'person'), )
# custom creoleparser Parser class:
import genshi
from brush_map import brush_code
from genshi.core import Markup
brushre = r"[\w\-#]+"
brush_class_re = re.compile(r'brush:\s+(' + brushre + ')')
class AbbrAcronym(creoleparser.elements.InlineElement):
# handles a subset of the abbreviation/acronym extension
# http://www.wikicreole.org/wiki/AbbreviationAndAcronyms
def __init__(self):
super(AbbrAcronym,self).__init__('abbr', ['^','^'])
def _build(self,mo,element_store, environ):
try:
abbr, title = mo.group(1).split(":", 1)
except ValueError:
abbr = mo.group(1)
title = None
return creoleparser.core.bldr.tag.__getattr__('abbr')(
creoleparser.core.fragmentize(abbr,
self.child_elements,
element_store, environ), title=title)
if self.offering:
nb_macros = {
'duedate': duedate_macro,
'duedatetime': duedatetime_macro,
'pagelist': pagelist_macro,
'activitylink': activitylink_macro,
}
else:
nb_macros = None
CreoleBase = creoleparser.creole11_base(non_bodied_macros=nb_macros, add_heading_ids='h-')
class CreoleDialect(CreoleBase):
codeblock = CodeBlock()
abbracronym = AbbrAcronym()
htmlentity = HTMLEntity()
strikethrough = creoleparser.elements.InlineElement('del', '--')
def __init__(self):
self.custom_elements = [self.abbracronym, self.strikethrough]
super(CreoleDialect, self).__init__()
@property
def inline_elements(self):
inline = super(CreoleDialect, self).inline_elements
inline.append(self.abbracronym)
inline.append(self.strikethrough)
inline.append(self.htmlentity)
return inline
@property
def block_elements(self):
blocks = super(CreoleDialect, self).block_elements