Code: Alles auswählen
from colubrid.application import ObjectApplication
class Blog(object):
def index(self):
self.request.write('Index Page')
def archive(self, year, month, day):
self.request.write('Blog Entries for %s/%s/%s' % (year, month, day))
def article(self, article_id):
self.request.write('Blog Entry %s' % article_id)
def about(self):
self.request.write('The About Page.')
class HelloWorld(object):
def index(self):
self.request.write('Hallo Welt')
class Admin(object):
def index(self):
self.request.write('The Admin Index Page')
class Application(ObjectApplication):
root = HelloWorld()
root.blog = Blog()
root.admin = Admin()
http://www.server.com/
--> root.index()
http://www.server.com/blog/archive/2005/01/18/
--> root.blog.archive('2005', '01', '18')
http://www.server.com/blog/article/481/
--> root.blog.article('481')
http://www.server.com/admin/
--> root.admin.index()
Und jetzt die Preisfrage: Wie komm ich dort hin, wo ich hinwill? Meine Idee ist es den Pfad mal mit strip() so behandeln, dass hinten und vorne keine slashes mehr sind, und dann an den slashes splitten.
Danach für jeden URL Part schauen, obs da mit hilfe von getattr() da was gibt, bei Fehlerfall schaun obs ein index gibt. aber irgendwie ist das alles nicht so einfach