Exemplo n.º 1
0
    def getToken(self):
        tableCell = Regex(r"(?P<text>(.|(\\\n))*?)\|\|")
        tableCell.setParseAction(self.__convertTableCell)

        tableRow = LineStart() + Literal("||") + OneOrMore(tableCell).leaveWhitespace() + Optional(LineEnd())
        tableRow.setParseAction(self.__convertTableRow)

        table = LineStart() + Regex(r"\|\| *(?P<params>.+)?") + LineEnd() + OneOrMore(tableRow)
        table = table.setParseAction(self.__convertTable)("table")

        return table
Exemplo n.º 2
0
    def getToken(self):
        tableCell = Regex(r"(?P<text>(.|(\\\n))*?)(\\\n\s*)*\|\|", re.UNICODE)
        tableCell.setParseAction(self.__convertTableCell)

        tableRow = LineStart() + "||" + OneOrMore(tableCell) + Optional(
            LineEnd())
        tableRow.setParseAction(self.__convertTableRow)

        table = LineStart() + Regex(
            r"\|\| *(?P<params>.+)?",
            re.UNICODE) + LineEnd() + OneOrMore(tableRow)
        table = table.setParseAction(self.__convertTable)("table")

        return table
Exemplo n.º 3
0
    def getToken(self):
        token = Regex(
            r'((?# Начало разбора IP )(?<!\.)(?:25[0-5]|2[0-4]\d|1\d\d|0?[1-9]\d|0{,2}[1-9])(?:\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)){3}(?!\.[0-9])(?!\w)(?# Конец разбора IP )|(((news|telnet|nttp|file|http|ftp|https|page)://)|(www|ftp)\.)[-\w0-9\.]+[-\w0-9]+)(:[0-9]*)?(/([-\w0-9_,\$\.\+\!\*\(\):@|&=\?/~\#\%]*[-\w0-9_\$\+\!\*\(\):@|&=\?/~\#\%])?)?',
            re.IGNORECASE)("url")

        token.setParseAction(self.__convertToUrlLink)
        return token
Exemplo n.º 4
0
    def getToken(self):
        start = Regex("%\\s*(?P<align>left|right|center|justify)\\s*%",
                      re.I | re.U)

        text = Regex(
            r'''(?P<text>
        .*?
        (\(:\s*(?P<name>\w+).*?:\)
        (.*?                           # Контент между (:name:) и (:nameend:)
        \(:\s*(?P=name)end\s*:\))?.*?)*?)
        (?P<end>(\n\n)|\Z)''', re.M | re.S | re.I | re.U | re.X)

        alignText = start + text
        alignText.setParseAction(self._alignText)
        alignText = alignText(u"alignment")

        return alignText
Exemplo n.º 5
0
    def getToken(self):
        token = (
            ItalicToken.start +
            Regex('.*?' + SubscriptToken.start + '.*?' + SubscriptToken.end) +
            ItalicToken.end)("italic_subscript")

        token.setParseAction(self.getAction(u'<i>', u'</i>'))
        return token
Exemplo n.º 6
0
    def getDefaultToken(self, outerStart, outerEnd, innerStart, innerEnd):
        outerEnd_for_RE = escapeTextForRE(outerEnd)
        innerStart_for_RE = escapeTextForRE(innerStart)
        innerEnd_for_RE = escapeTextForRE(innerEnd)

        return (outerStart +
                Regex('(?:(?!' + outerEnd_for_RE + ').)*?' +
                      innerStart_for_RE + '.*?' + innerEnd_for_RE) + outerEnd)
Exemplo n.º 7
0
    def getToken(self):
        token = (
            BoldToken.start +
            Regex('.*?' + SubscriptToken.start + '.*?' + SubscriptToken.end) +
            BoldToken.end)("bold_subscript")

        token.setParseAction(self.getAction(u'<b>', u'</b>'))
        return token
Exemplo n.º 8
0
    def getToken(self):
        regex = "^(?P<level>["

        for param in self.allListsParams:
            regex += param.symbol

        regex += r"]+) *(?P<item>(?:\\\n|.)*?)$\n{0,2}"

        item = Regex(regex,
                     re.MULTILINE).setParseAction(noConvert).leaveWhitespace()

        fullList = OneOrMore(item).setParseAction(self.__convertList)("list")

        return fullList
Exemplo n.º 9
0
 def getToken (self):
     result = Regex (r"""%\s*?
                     (?:
                         (?:thumb\s+)?
                         (?:width\s*?=\s*?(?P<width>\d+)
                         |height\s*?=\s*?(?P<height>\d+)
                         |maxsize\s*?=\s*?(?P<maxsize>\d+))\s*?
                         (?:px)?
                         |thumb\s*?
                     )\s*?
                     %\s*?
                     Attach:(?P<fname>.*?\.(?:jpe?g|bmp|gif|tiff?|png))\s*?%%""",
                     re.IGNORECASE | re.VERBOSE)
     result = result.setParseAction (self.__convertThumb)("thumbnail")
     return result
Exemplo n.º 10
0
    def getToken(self):
        token = (ItalicToken.start + Regex(".*?'\^.*?\^'") +
                 ItalicToken.end)("italic_superscript")

        token.setParseAction(self.getAction(u'<i>', u'</i>'))
        return token
Exemplo n.º 11
0
 def getToken(self):
     """
     Токены для заголовков H1, H2,...
     """
     return Regex(self.heading_Regex, re.MULTILINE).setParseAction(
         self.convertToHeading)("heading")
Exemplo n.º 12
0
 def getToken(self):
     token = Regex(
         "(https?|ftp)://[a-z0-9-]+(\.[a-z0-9-]+)+(/[-._\w%+]+)*/[-\w_.%+]+\.(gif|png|jpe?g|bmp|tiff?)",
         re.IGNORECASE).setParseAction(
             lambda s, l, t: '<img src="%s"/>' % t[0])("image")
     return token
Exemplo n.º 13
0
 def getToken(self):
     return Regex(r"\[(?P<count>\+{1,5})(?P<text>.*?)\1\]",
                  re.MULTILINE | re.UNICODE | re.DOTALL).setParseAction(self.__parse)("big")
Exemplo n.º 14
0
 def getToken(self):
     return Regex(self.regex,
                  flags=re.MULTILINE | re.DOTALL | re.IGNORECASE
                  | re.VERBOSE).setParseAction(self.execute)("command")
Exemplo n.º 15
0
 def _getBeginToken(self):
     return Regex(
         r'%(?P<params>[a-zA-Z_#][\w\s."\'_=:;#(),-]+?)\s*%') + ~LineEnd()
Exemplo n.º 16
0
 def getToken(self):
     textRegex = r'(?:(?:\w-\w)|\w)+'
     token = Regex(textRegex, re.UNICODE)('text')
     token.leaveWhitespace()
     return token
Exemplo n.º 17
0
 def getToken(self):
     token = Regex(r"\\\n")
     token = token.setParseAction(lambda s, l, t: u"")("linejoin")
     return token
Exemplo n.º 18
0
 def _getEndToken(self):
     return LineStart() + Regex(r'%%[ \t]*') + LineEnd()
Exemplo n.º 19
0
 def _getBeginToken(self):
     return (
         LineStart() +
         Regex(r'%(?P<params>[a-zA-Z_#][\w\s."\'_=:;#(),-]+?)\s*%[ \t]*') +
         LineEnd().suppress())
Exemplo n.º 20
0
    def getToken(self):
        token = (BoldToken.start + Regex(".*?'\^.*?\^'") +
                 BoldToken.end)("bold_superscript")

        token.setParseAction(self.getAction(u'<b>', u'</b>'))
        return token
Exemplo n.º 21
0
 def getToken(self):
     return Regex(r"\[(?P<count>-{1,4})(?P<text>.*?)\1\]", re.MULTILINE
                  | re.DOTALL).setParseAction(self.__parse)("small")
Exemplo n.º 22
0
 def __init__(self):
     self._token_1 = Regex(r"^#+\s+(\\\n|.)*$", re.M | re.U)
     self._token_2 = (Regex(r'.+', re.M | re.U) + LineEnd() + Regex(
         r'((-+)|(=+))', re.M | re.U).setWhitespaceChars(' \t') + LineEnd())
Exemplo n.º 23
0
 def getToken(self):
     textRegex = r'(?:(?:[^\W_]-[^\W_])|[^\W_])+'
     token = Regex(textRegex, re.UNICODE)('text')
     token.leaveWhitespace()
     return token
Exemplo n.º 24
0
 def getToken(self):
     return Regex("----+").setParseAction(lambda s, l, t: "<hr>")("horline")