[Checkins] SVN: zope3org/trunk/src/zorg/wikification/browser/ Fixed some additional encoding problems in the WikiLink processor.

Uwe Oestermeier uwe_oestermeier at iwm-kmrc.de
Wed Mar 22 09:22:17 EST 2006


Log message for revision 66118:
  Fixed some additional encoding problems in the WikiLink processor.

Changed:
  U   zope3org/trunk/src/zorg/wikification/browser/templates/linkmenu.pt
  U   zope3org/trunk/src/zorg/wikification/browser/wikilink.py
  U   zope3org/trunk/src/zorg/wikification/browser/wikipage.py

-=-
Modified: zope3org/trunk/src/zorg/wikification/browser/templates/linkmenu.pt
===================================================================
--- zope3org/trunk/src/zorg/wikification/browser/templates/linkmenu.pt	2006-03-22 13:02:51 UTC (rev 66117)
+++ zope3org/trunk/src/zorg/wikification/browser/templates/linkmenu.pt	2006-03-22 14:22:16 UTC (rev 66118)
@@ -2,7 +2,7 @@
     <div class="anylinkcss" tal:attributes="id view/menu_id" >
         <span class="anylinkheader">Edit this Link</span>
         <div class="anylinkitem" onclick="editPlaceholderLabel();"
-             tal:attributes="onclick string:editPlaceholderLabel('${view/link_id}', '${view/menu_id}', '${view/editableLabel}');">
+             tal:attributes="onclick string:editPlaceholderLabel('${view/link_id}', '${view/menu_id}', '${view/unicodeLabel}');">
             Rename
         </div>
         <a class="anylinkitem" href="#" tal:attributes="href view/link">
@@ -81,7 +81,7 @@
                         Name:
                     </td>
                     <td valign="top" >
-                        <input id="folder_name" name="name" type="text" size="40" value="FolderName" tal:attributes="value python: view.upload_name or view.editableLabel()" />
+                        <input id="folder_name" name="name" type="text" size="40" value="FolderName" tal:attributes="value python: view.upload_name or view.unicodeLabel()" />
                     </td>
                 </tr>
                 <tr>

Modified: zope3org/trunk/src/zorg/wikification/browser/wikilink.py
===================================================================
--- zope3org/trunk/src/zorg/wikification/browser/wikilink.py	2006-03-22 13:02:51 UTC (rev 66117)
+++ zope3org/trunk/src/zorg/wikification/browser/wikilink.py	2006-03-22 14:22:16 UTC (rev 66118)
@@ -102,7 +102,10 @@
             label = label[:-1]
         return label
         
+    def unicodeLabel(self) :
+        return unicode(self.editableLabel(), encoding='utf-8')
         
+        
 class BaseLinkProcessor(BaseHTMLProcessor) :
     """ A link processor that wikifies the links by modifying the
         href and other attributes of a link.
@@ -205,24 +208,22 @@
         if link.startswith(site_url) :
             link = link[len(site_url)+1:]
             node = page.site
-            url = site_url
         elif self.isAbsoluteURL(link) :
             return False, link
         elif link.startswith("#") :
             return False, link
         else :
             node = page.container
-            url = self.absoluteLink(node)
-        
+            
         remaining = urllib.unquote(link)
         path = [x for x in remaining.split("/") if x]        
         while path :         
             try :
                 name = path[0]
+                name = unicode(name, encoding='utf-8')
                 node = zapi.traverseName(node, name)
-                url += "/" + name
                 name = path.pop(0)
-            except TraversalError :
+            except (TraversalError, UnicodeEncodeError) :
                 break
         
         if path :

Modified: zope3org/trunk/src/zorg/wikification/browser/wikipage.py
===================================================================
--- zope3org/trunk/src/zorg/wikification/browser/wikipage.py	2006-03-22 13:02:51 UTC (rev 66117)
+++ zope3org/trunk/src/zorg/wikification/browser/wikipage.py	2006-03-22 14:22:16 UTC (rev 66118)
@@ -196,7 +196,8 @@
                 
         body = self.getBody()
         if body is not None :
-            return self.wikify(unicode(body, encoding="utf-8"))
+            wikified = self.wikify(body)
+            return unicode(wikified, encoding="utf-8")
             
         return self._noindex()
        
@@ -488,7 +489,7 @@
         """
         processor = ILinkProcessor(self)
         processor.command = cmd
-        processor.link_id = link_id
+        processor.link_id = str(link_id)
         body = self.getBody()
         processor.feed(body)
         file = self.getFile()



More information about the Checkins mailing list