[Checkins] SVN: grok/trunk/doc/design/traversal.py Add some design notes.

Martijn Faassen faassen at infrae.com
Fri Oct 20 06:57:21 EDT 2006


Log message for revision 70839:
  Add some design notes.
  

Changed:
  U   grok/trunk/doc/design/traversal.py

-=-
Modified: grok/trunk/doc/design/traversal.py
===================================================================
--- grok/trunk/doc/design/traversal.py	2006-10-20 09:57:52 UTC (rev 70838)
+++ grok/trunk/doc/design/traversal.py	2006-10-20 10:57:20 UTC (rev 70839)
@@ -5,19 +5,30 @@
 
 class Day(grok.Model):
 
-    @grok.traverse
     def getAppointment(self, number):
         if number in self.appointments:
             return Appointment(number)
         return None # try to look up views then
 
+    def traverse(self, name):
+        return self.getAppointment(int(number))
+    
 class Calendar(grok.Model):
-
-    @grok.traverse
     def getYear(self, year):
         return Year(year)
 
+    def traverse(self, name):
+        return self.getYear(int(number))
 
+# interpretation of traverse:
+
+# * do the traverse traversal first
+
+# * if this raises an error, propagate exception, do not swallow it (test)
+
+# * if this returns None, fall back on "normal" traversal for the
+    object (i.e. container traversal)
+
 """
 http://.../calendar/2006/10/13/1/
            ^^^^^^^^ ^^^^ ^^ ^^ ^



More information about the Checkins mailing list