Example #1
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
Example #2
0
    def getToken(self):
        SOL = LineStart()
        EOL = LineEnd()
        emptyToken = Empty().setParseAction(self.__initVars)

        tableCell = Regex(r'(?P<text>(.|(?:\\\n))*?)(?:\\\n\s*)*(?P<end>\|\|\|?)%s'
                          % TagAttrsPattern.value)
        tableCell.leaveWhitespace().setParseAction(self.__convertTableCell)

        tableRow = SOL + \
                   Regex(r'\|{2,4}(?!\|)') + Regex(TagAttrsPattern.value) + \
                   OneOrMore(tableCell) + Optional(EOL)
        tableRow.leaveWhitespace().setParseAction(self.__convertTableRow)

        tableCaption = SOL + \
                       Regex(r'(?P<start>\|{5})%s(?P<text>(.|(?:\\\n))*)(?:\\\n\s*)*'
                             % TagAttrsPattern.value) + \
                       Optional(EOL)
        tableCaption.leaveWhitespace().setParseAction(self.__convertTableCaption)

        table = SOL + Regex(r'\|\| *(?P<params>.+)?') + \
                Suppress(EOL) + emptyToken + \
                Suppress(Optional(tableCaption)) + OneOrMore(tableRow)
        table = table.setParseAction(self.__convertTable)('table')

        return table
Example #3
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
Example #4
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
Example #5
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
Example #6
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
Example #7
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
Example #8
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
Example #9
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
Example #10
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
Example #11
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)
Example #12
0
    def getToken (self):
        emptyToken = Empty().setParseAction(self.__initVars)

        tableCell = Regex (r'(?P<text>(.|(?:\\\n))*?)(?:\\\n\s*)*(?P<end>\|\|\|?)' + TagAttrsPattern.value, re.UNICODE)
        tableCell.leaveWhitespace().setParseAction(self.__convertTableCell)

        tableRow = LineStart() + Regex (r'\|{2,4}(?!\|)' + TagAttrsPattern.value, re.UNICODE) + \
                   OneOrMore (tableCell) + Optional (LineEnd())
        tableRow.leaveWhitespace().setParseAction(self.__convertTableRow)

        tableCaption = LineStart() + Regex (r'(?P<start>\|{5})' + TagAttrsPattern.value +
                                            r'(?P<text>(.|(?:\\\n))*)(?:\\\n\s*)*', re.UNICODE) + Optional (LineEnd())
        tableCaption.leaveWhitespace().setParseAction(self.__convertTableCaption)

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

        return table
Example #13
0
    def getToken (self):
        term = Regex (r"(?P<text>(?:(?:\\\n)|.)*)\s*(?=\n)")
        term = LineStart() + Regex (r"\^\^") + Regex(TagAttrsPattern.value) + term + LineEnd()
        term.setParseAction(self.__convertTerm).leaveWhitespace()

        description = Regex (r"(?P<text>(?:(?!(?<!\\)\n(?:<}}|\$\$.|\^\^.)).)*)", re.DOTALL)
        description = LineStart() + Regex (r"\$\$") + Regex(TagAttrsPattern.value) + description + LineEnd()
        description.setParseAction(self.__convertDescription).leaveWhitespace()

        definitionList = LineStart() + Regex (r"{{> *(?P<params>.+)?\s*") + \
                         OneOrMore (term | description) + Suppress("<}}") + Optional (FollowedBy (LineEnd()))
        definitionList.setParseAction(self.__convertDefinitionList)("definitionlist").leaveWhitespace()

        return definitionList
Example #14
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
Example #15
0
    def getToken (self):
        token =  Regex ("([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}|(((news|telnet|nttp|file|http|ftp|https)://)|(www|ftp)\\.)[-\\w0-9\\.]+[-\\w0-9]+)(:[0-9]*)?(/([-\\w0-9_,\\$\\.\\+\\!\\*\\(\\):@|&=\\?/~\\#\\%]*[-\\w0-9_\\$\\+\\!\\*\\(\\):@|&=\\?/~\\#\\%])?)?", re.IGNORECASE | re.UNICODE)("url")

        token.setParseAction(self.__convertToUrlLink)
        return token
Example #16
0
 def getToken(self):
     textRegex = r'(?:(?:\w-\w)|\w)+'
     token = Regex(textRegex, re.UNICODE)('text')
     token.leaveWhitespace()
     return token
Example #17
0
 def _getBeginToken(self):
     return Regex(
         r'%(?P<params>[a-zA-Z_#][\w\s."\'_=:;#(),-]+?)\s*%') + ~LineEnd()
Example #18
0
    def getToken(self):
        token = (BoldToken.start + Regex(".*?'\^.*?\^'") +
                 BoldToken.end)("bold_superscript")

        token.setParseAction(self.getAction(u'<b>', u'</b>'))
        return token
Example #19
0
 def getToken(self):
     token = Regex(r"\\\n")
     token = token.setParseAction(lambda s, l, t: u"")("linejoin")
     return token
Example #20
0
 def getToken (self):
     result = Regex (r"""% *?(((thumb +)?width *?= *?(?P<width>\d+) *?(px)?)|((thumb +)?height *?= *?(?P<height>\d+) *?(px)?)|((thumb +)?maxsize *?= *?(?P<maxsize>\d+) *?(px)?)|(thumb *?)) *?% *?Attach:(?P<fname>.*?\.(jpe?g|bmp|gif|tiff?|png)) *?%%""", re.IGNORECASE)
     result = result.setParseAction (self.__convertThumb)("thumbnail")
     return result
Example #21
0
    def getToken (self):
        token = Regex (ur'((?# Начало разбора 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 | re.UNICODE)("url")

        token.setParseAction(self.__convertToUrlLink)
        return token
Example #22
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
Example #23
0
 def getToken(self):
     return Regex(r"\[(?P<count>\+{1,5})(?P<text>.*?)\1\]",
                  re.MULTILINE | re.UNICODE | re.DOTALL).setParseAction(self.__parse)("big")
Example #24
0
 def getToken(self):
     return Regex(self.regex,
                  flags=re.MULTILINE | re.DOTALL | re.IGNORECASE
                  | re.VERBOSE).setParseAction(self.execute)("command")
Example #25
0
 def getToken(self):
     return Regex(r"\[(?P<count>-{1,4})(?P<text>.*?)\1\]", re.MULTILINE
                  | re.DOTALL).setParseAction(self.__parse)("small")
Example #26
0
 def _getEndToken(self):
     return LineStart() + Regex(r'%%[ \t]*') + LineEnd()
Example #27
0
 def getToken(self):
     token = Regex(r"\\\n")
     token = token.setParseAction(lambda s, l, t: u"")("linejoin")
     return token
Example #28
0
 def getToken(self):
     textRegex = r'(?:(?:[^\W_]-[^\W_])|[^\W_])+'
     token = Regex(textRegex, re.UNICODE)('text')
     token.leaveWhitespace()
     return token
Example #29
0
 def getToken(self):
     """
     Токены для заголовков H1, H2,...
     """
     return Regex(self.heading_Regex, re.MULTILINE).setParseAction(
         self.convertToHeading)("heading")
Example #30
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())
Example #31
0
    def getToken(self):
        token = (ItalicToken.start + Regex(".*?'\^.*?\^'") +
                 ItalicToken.end)("italic_superscript")

        token.setParseAction(self.getAction(u'<i>', u'</i>'))
        return token
Example #32
0
 def getToken (self):
     textRegex = "[\w]+"
     token = Regex (textRegex, re.UNICODE)("text")
     token.leaveWhitespace()
     return token
Example #33
0
 def _getBeginToken(self):
     return (
         LineStart() +
         Regex(r'%(?P<params>[a-zA-Z_#][\w\s."\'_=:;#(),-]+?)\s*%[ \t]*') +
         LineEnd().suppress())
Example #34
0
 def getToken(self):
     return Regex("----+").setParseAction(lambda s, l, t: "<hr>")("horline")
Example #35
0
 def getToken (self):
     textRegex = r'(?:(?:\w-\w)|\w)+'
     token = Regex (textRegex, re.UNICODE)('text')
     token.leaveWhitespace()
     return token