Page Object Access
It isa often handy to be able to access the page object for other pages (in my case, so I can build a nav bar). You can't do this easily in standard Albatross, because the Page Objects are stored in the PageObjectMixin in a class-local variable. So I had to wrap page_resgister() in my Application class and duplicate the __page_objects map.
Or we could expose the Page Objects a bit more directly:
--- albatross/app.py.DIST Sun Jul 13 16:41:28 2003 +++ albatross/app.py Thu Jul 24 11:04:07 2003 @@ -429,6 +429,12 @@ def register_page(self, name, obj): self.__page_objects[name] = obj + def page_object(self, name): + return self.__page_objects[name] + + def list_pages(self): + return self.__page_objects.keys() + def load_page(self, ctx): if ctx.locals.__page__: name = ctx.locals.__page__
(beware the whitepsace munching!)