Commit 41a908f5 authored by Andreas Jung's avatar Andreas Jung

reverted checkin of STX i18n patch. This should have gone to a private

branch *damn CVS*
parent e534f9f0
......@@ -304,7 +304,7 @@ class DocumentClass:
'doc_xref',
]
def __call__(self, doc):
def __call__(self, doc):
if type(doc) in StringTypes:
doc=ST.StructuredText(doc)
doc.setSubparagraphs(self.color_paragraphs(
......@@ -786,7 +786,7 @@ class DocumentClass:
def doc_literal(
self, s,
expr = re.compile(r"(\W+|^)'((?:\w|[%s%s\s])+)'([%s]+|$)" % (digits, literal_punc, phrase_delimiters), re.U).search,):
expr = re.compile(r"(\W+|^)'([%s%s%s\s]+)'([%s]+|$)" % (letters, digits, literal_punc, phrase_delimiters)).search,):
# old expr... failed to cross newlines.
# expr=re.compile(
......@@ -804,9 +804,7 @@ class DocumentClass:
def doc_emphasize(
self, s,
# i18nal variant
expr = re.compile(r'\*((?:\w|[%s\s])+?)\*' % (strongem_punc), re.U).search
#expr = re.compile(r'\*([%s%s%s\s]+?)\*' % (letters, digits, strongem_punc)).search
expr = re.compile(r'\*([%s%s%s\s]+?)\*' % (letters, digits, strongem_punc)).search
#expr = re.compile(r'\s*\*([ \n\r%s0-9.:/;,\'\"\?\-\_\/\=\-\>\<\(\)]+)\*(?!\*|-)' % letters).search # old expr, inconsistent punctuation
):
......@@ -852,7 +850,7 @@ class DocumentClass:
def doc_underline(self,
s,
expr=re.compile(r'_((?:\w|[%s\s])+)_([\s%s]|$)' % (under_punc,phrase_delimiters), re.U).search):
expr=re.compile(r'_([%s%s%s\s]+)_([\s%s]|$)' % (letters, digits, under_punc,phrase_delimiters)).search):
result = expr(s)
if result:
......@@ -866,7 +864,7 @@ class DocumentClass:
def doc_strong(self,
s,
expr = re.compile(r'\*\*((?:\w|[%s%s\s])+?)\*\*' % (digits, strongem_punc), re.U).search
expr = re.compile(r'\*\*([%s%s%s\s]+?)\*\*' % (letters, digits, strongem_punc)).search
#expr = re.compile(r'\s*\*\*([ \n\r%s0-9.:/;,\'\"\?\-\_\/\=\-\>\<\(\)]+)\*\*(?!\*|-)' % letters).search, # old expr, inconsistent punc, failed to cross newlines.
):
......@@ -878,7 +876,7 @@ class DocumentClass:
return None
## Some constants to make the doc_href() regex easier to read.
_DQUOTEDTEXT = r'("(?:\w|[ 0-9\n\r%s])+")' % (dbl_quoted_punc) ## double quoted text
_DQUOTEDTEXT = r'("[ %s0-9\n\r%s]+")' % (letters,dbl_quoted_punc) ## double quoted text
_ABSOLUTE_URL=r'((http|https|ftp|mailto|file|about)[:/]+?[%s0-9_\@\.\,\?\!\/\:\;\-\#\~\=\&\%%\+]+)' % letters
_ABS_AND_RELATIVE_URL=r'([%s0-9_\@\.\,\?\!\/\:\;\-\#\~\=\&\%%\+]+)' % letters
......@@ -886,12 +884,12 @@ class DocumentClass:
def doc_href1(self, s,
expr=re.compile(_DQUOTEDTEXT + "(:)" + _ABS_AND_RELATIVE_URL + _SPACES, re.U).search
expr=re.compile(_DQUOTEDTEXT + "(:)" + _ABS_AND_RELATIVE_URL + _SPACES).search
):
return self.doc_href(s, expr)
def doc_href2(self, s,
expr=re.compile(_DQUOTEDTEXT + r'(\,\s+)' + _ABSOLUTE_URL + _SPACES, re.U).search
expr=re.compile(_DQUOTEDTEXT + r'(\,\s+)' + _ABSOLUTE_URL + _SPACES).search
):
return self.doc_href(s, expr)
......
......@@ -30,13 +30,13 @@ class DocumentWithImages(DocumentClass):
def doc_img(
self, s,
expr1=re.compile('\"((?:\w|[ *.:/;,\-\n\~])+)\":img:([a-zA-Z0-9\_\-.:/;,\n\~]+)', re.U).search,
expr2=re.compile('\"((?:\w|[ *.:/;,\-\n\~])+)\":img:([a-zA-Z0-9\_\-.:/;,\n\~]+):([a-zA-Z0-9_\-.:/;,\n\~]+)', re.U).search
expr1=re.compile('\"([ _a-zA-Z0-9*.:/;,\-\n\~]+)\":img:([a-zA-Z0-9\_\-.:/;,\n\~]+)').search,
expr2=re.compile('\"([ _a-zA-Z0-9*.:/;,\-\n\~]+)\":img:([a-zA-Z0-9\_\-.:/;,\n\~]+):([a-zA-Z0-9_\-.:/;,\n\~]+)').search
):
r = expr2(s)
if r:
# Warning: the regex are getting confused when the string after :img:
# is an URL containing ":" (Collector #2276)
# Ugly workaround: check if have an absolute URL here. Not a cool solution,
......
......@@ -115,9 +115,6 @@ def StructuredText(paragraphs, delimiter=re.compile(para_delim)):
which mimics the structure of the paragraphs.
Structure => [paragraph,[sub-paragraphs]]
"""
if type(paragraphs) == type(''):
paragraphs = unicode(paragraphs, 'utf-8')
currentlevel = 0
currentindent = 0
......
......@@ -210,17 +210,13 @@ class BasicTests(unittest.TestCase):
'<code>"literal":http://www.zope.org/.</code>')
def testUnicodeContent(self):
self._test(u"h\xe9 **y\xe9** xx",
u"h\xe9 <strong>y\xe9</strong> xx")
self._test(u"h\xe9 *y\xe9* xx",
u"h\xe9 <em>y\xe9</em> xx")
self._test(u"h\xe9 _y\xe9_ xx",
u"h\xe9 <u>y\xe9</u> xx")
self._test(u"h\xe9 'y\xe9' xx",
u"h\xe9 <code>y\xe9</code> xx")
self._test(u"h\xe9 \"y\xe9\":http://zope.org xx",
u"h\xe9 <a href=\"http://zope.org\">y\xe9</a> xx")
def XXXtestUnicodeContent(self):
# This fails because ST uses the default locale to get "letters"
# whereas it should use \w+ and re.U if the string is Unicode.
#self._test(u"h\xe9 **y\xe9** xx",
# u"h\xe9 <strong>y\xe9</strong> xx")
pass
def test_suite():
suite = unittest.TestSuite()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment