Author: justi9
Date: 2009-03-19 11:12:52 -0400 (Thu, 19 Mar 2009)
New Revision: 3174
Modified:
mgmt/trunk/basil/python/basil/server.py
mgmt/trunk/cumin/python/cumin/__init__.py
mgmt/trunk/wooly/python/wooly/__init__.py
mgmt/trunk/wooly/python/wooly/server.py
Log:
Make resource page a default feature of Application
Modified: mgmt/trunk/basil/python/basil/server.py
===================================================================
--- mgmt/trunk/basil/python/basil/server.py 2009-03-19 14:17:09 UTC (rev 3173)
+++ mgmt/trunk/basil/python/basil/server.py 2009-03-19 15:12:52 UTC (rev 3174)
@@ -24,9 +24,6 @@
self.add_resource_dir("/home/jross/checkouts/mgmt/trunk/cumin-test-0/resources-wooly")
# XXX
- page = ResourcePage(self, "resource")
- self.add_page(page)
-
self.enable_debug()
def init(self):
Modified: mgmt/trunk/cumin/python/cumin/__init__.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/__init__.py 2009-03-19 14:17:09 UTC (rev 3173)
+++ mgmt/trunk/cumin/python/cumin/__init__.py 2009-03-19 15:12:52 UTC (rev 3174)
@@ -35,6 +35,7 @@
self.enable_debug()
self.home = self.config.home
+
self.add_resource_dir(os.path.join(self.home, "resources-wooly"))
self.add_resource_dir(os.path.join(self.home, "resources"))
@@ -55,15 +56,12 @@
unprotected.add(self.main_page.css_page)
unprotected.add(self.main_page.javascript_page)
+ unprotected.add(self.resource_page)
self.login_page = LoginPage(self, "login")
self.add_page(self.login_page)
unprotected.add(self.login_page)
- page = ResourcePage(self, "resource")
- self.add_page(page)
- unprotected.add(page)
-
self.unprotected_pages = unprotected
self.user_sessions_by_id = dict()
Modified: mgmt/trunk/wooly/python/wooly/__init__.py
===================================================================
--- mgmt/trunk/wooly/python/wooly/__init__.py 2009-03-19 14:17:09 UTC (rev 3173)
+++ mgmt/trunk/wooly/python/wooly/__init__.py 2009-03-19 15:12:52 UTC (rev 3174)
@@ -410,9 +410,12 @@
class Application(object):
def __init__(self):
- self.pages = dict()
- self.default_page = None
+ self.pages = list()
+ self.pages_by_name = dict()
+ self.resource_page = ResourcePage(self, "resource")
+ self.add_page(self.resource_page)
+
self.finder = ResourceFinder()
self.debug = None
@@ -430,17 +433,18 @@
if page.parent:
raise Exception("Page '%s' is not a root widget" %
page.name)
- if page.name in self.pages:
+ if page.name in self.pages_by_name:
raise Exception \
("A page called '%s' has already been added" %
page.name)
- self.pages[page.name] = page
+ self.pages.append(page)
+ self.pages_by_name[page.name] = page
# XXX I don't think this should be triggered here
page.init()
def set_default_page(self, page):
- self.pages[""] = page
+ self.pages_by_name[""] = page
def add_resource_dir(self, dir):
self.finder.add_dir(dir)
@@ -449,7 +453,7 @@
return self.finder.find(name)
def __repr__(self):
- return "%s(default_page=%s)" % (self.__class__.__name__,
self.default_page)
+ return self.__class__.__name__
class Session(object):
http_date_gmt = "%a, %d %b %Y %H:%M:%S GMT"
@@ -597,7 +601,7 @@
if name.startswith("/"):
name = name[1:]
- page = app.pages[name]
+ page = app.pages_by_name[name]
except KeyError:
raise Exception("Page '%s' not found" % name)
@@ -863,3 +867,5 @@
for call in self.callees:
call.write(writer)
+
+from pages import ResourcePage
Modified: mgmt/trunk/wooly/python/wooly/server.py
===================================================================
--- mgmt/trunk/wooly/python/wooly/server.py 2009-03-19 14:17:09 UTC (rev 3173)
+++ mgmt/trunk/wooly/python/wooly/server.py 2009-03-19 15:12:52 UTC (rev 3174)
@@ -41,7 +41,7 @@
name = env["PATH_INFO"][1:]
try:
- page = self.app.pages[name]
+ page = self.app.pages_by_name[name]
except KeyError:
return self.not_found(respond, headers)
@@ -50,7 +50,7 @@
if "HTTP_USER_AGENT" in env:
page.set_agent(session, env["HTTP_USER_AGENT"])
-
+
if env["REQUEST_METHOD"] == "POST":
if env["CONTENT_TYPE"] ==
"application/x-www-form-urlencoded":
length = int(env["CONTENT_LENGTH"])
@@ -78,7 +78,7 @@
return self.redirect(respond, headers, url)
else:
return self.unauthorized(respond, headers)
-
+
try:
page.process(session)
except:
Show replies by date