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