def __init__(self, aStructuredString, level=0, paragraph_divider=ts_regex.compile('\(\r?\n *\)+\r?\n'), ): '''Convert a structured text string into a structured text object. Aguments: aStructuredString -- The string to be parsed. level -- The level of top level headings to be created. ''' pat = ' \"([%s0-9-_,./?=@~&]*)\":' % string.letters+ \ '([-:%s0-9_,./?=@#~&]*?)' % string.letters + \ '([.:?;] )' p_reg = re.compile(pat,re.M) aStructuredString = p_reg.sub(r'<a href="\2">\1</a>\3 ' , aStructuredString) pat = ' \"([%s0-9-_,./?=@~&]*)\", ' % string.letters+ \ '([-:%s0-9_,./?=@#~&]*?)' % string.letters + \ '([.:?;] )' p_reg = re.compile(pat,re.M) aStructuredString = p_reg.sub(r'<a href="\2">\1</a>\3 ' , aStructuredString) protoless = aStructuredString.find('<a href=":') if protoless != -1: aStructuredString = re.sub('<a href=":', '<a href="', aStructuredString) self.level=level paragraphs=ts_regex.split(untabify(aStructuredString), paragraph_divider) paragraphs=map(indent_level,paragraphs) self.structure=structure(paragraphs)
def __init__(self, aStructuredString, level=0, paragraph_divider=regex.compile('\(\r?\n *\)+\r?\n'), ): '''Convert a structured text string into a structured text object. Aguments: aStructuredString -- The string to be parsed. level -- The level of top level headings to be created. ''' pat = ' \"([%s0-9-_,./?=@~&]*)\":' % string.letters+ \ '([-:%s0-9_,./?=@#~&]*?)' % string.letters + \ '([.:?;] )' p_reg = re.compile(pat,re.M) aStructuredString = p_reg.sub(r'<a href="\2">\1</a>\3 ' , aStructuredString) pat = ' \"([%s0-9-_,./?=@~&]*)\", ' % string.letters+ \ '([-:%s0-9_,./?=@#~&]*?)' % string.letters + \ '([.:?;] )' p_reg = re.compile(pat,re.M) aStructuredString = p_reg.sub(r'<a href="\2">\1</a>\3 ' , aStructuredString) protoless = aStructuredString.find('<a href=":') if protoless != -1: aStructuredString = re.sub('<a href=":', '<a href="', aStructuredString) self.level=level paragraphs=ts_regex.split(untabify(aStructuredString), paragraph_divider) paragraphs=map(indent_level,paragraphs) self.structure=structure(paragraphs)
def __init__(self, aStructuredString, level=0, paragraph_divider=regex.compile('\(\n *\)+\n'), ): '''Convert a structured text string into a structured text object. Aguments: aStructuredString -- The string to be parsed. level -- The level of top level headings to be created. ''' aStructuredString = gsub( '\"\([^\"\0]+\)\":' # title: <"text":> + ('\([-:a-zA-Z0-9_,./?=@#~]+%s\)' % not_punctuation_or_whitespace) + optional_trailing_punctuation + trailing_space, '<a href="\\2">\\1</a>\\4\\5\\6', aStructuredString) aStructuredString = gsub( '\"\([^\"\0]+\)\",[\0- ]+' # title: <"text", > + ('\([a-zA-Z]*:[-:a-zA-Z0-9_,./?=@#~]*%s\)' % not_punctuation_or_whitespace) + optional_trailing_punctuation + trailing_space, '<a href="\\2">\\1</a>\\4\\5\\6', aStructuredString) protoless = find(aStructuredString, '<a href=":') if protoless != -1: aStructuredString = gsub('<a href=":', '<a href="', aStructuredString) self.level=level paragraphs=ts_regex.split(untabify(aStructuredString), paragraph_divider) paragraphs=map(indent_level,paragraphs) self.structure=structure(paragraphs)