Author: novalis
Date: 2007-11-19 14:24:32 -0500 (Mon, 19 Nov 2007)
New Revision: 11105

Modified:
   Twirlip/trunk/twirlip/controllers/page.py
Log:
canonicalization, more

Modified: Twirlip/trunk/twirlip/controllers/page.py
===================================================================
--- Twirlip/trunk/twirlip/controllers/page.py   2007-11-19 19:18:41 UTC (rev 
11104)
+++ Twirlip/trunk/twirlip/controllers/page.py   2007-11-19 19:24:32 UTC (rev 
11105)
@@ -5,6 +5,8 @@
 import re
 class PageController(BaseController):
     canonicalize_url_re = re.compile('(http://[^/]+):80')
+    def _canonicalize(self, url):
+        return self.canonicalize_url_re.sub('\\1', url)
     
     @dispatch_on(POST='do_create')
     def index(self):
@@ -19,8 +21,7 @@
     def do_create(self):
         """Called from cabochon when a page is created."""
         context = SecurityContext.byUrl(self.params['context'])
-        url = self.params['url']
-        url = self.canonicalize_url_re.sub('\\1', url)
+        url = self._canonicalize(self.params['url'])
 
         try:
             page = Page(url=url, 
@@ -40,11 +41,12 @@
     def edit(self):
         """Called from cabochon when a page is edited."""        
         context = SecurityContext.byUrl(self.params['context'])
+        url = self._canonicalize(self.params['url'])
         try:
-            page = Page.selectBy(url=self.params['url'])[0]
+            page = Page.selectBy(url=url)[0]
             page.set(title = self.params['title'], securityContext = context)  
          
         except IndexError:
-            page = Page(url=self.params['url'], 
+            page = Page(url=url, 
                         title=self.params['title'],
                         securityContext=context)
 
@@ -78,9 +80,10 @@
 
     @jsonify
     def delete(self):
-        """Called from cabochon when a page is deleted."""                
+        """Called from cabochon when a page is deleted."""
+        url = self._canonicalize(self.params['url'])
         try:
-            page = Page.selectBy(url=self.params['url'])[0]
+            page = Page.selectBy(url=url)[0]
             page.notify('delete')            
             page.destroySelf()
         except IndexError:



--
Archive: 
http://www.openplans.org/projects/opencore/lists/openplans-svn/archive/2007/11/1195500274055
To unsubscribe send an email with subject unsubscribe to [EMAIL PROTECTED]  
Please contact [EMAIL PROTECTED] for questions.

Reply via email to