|
[Webware-checkins] r2244 - WSGIKit/trunk/examples/todo
From: <ianb@co...> - 2005-03-26 21:29
|
Author: ianb
Date: 2005-03-26 14:29:06 -0700 (Sat, 26 Mar 2005)
New Revision: 2244
Modified:
WSGIKit/trunk/examples/todo/Site.py
WSGIKit/trunk/examples/todo/__init__.py
WSGIKit/trunk/examples/todo/lists.py
Log:
* Added something to __init__.py to detect the base app URL
* Made CSS and other files use absolute paths
* Redirect after POST
Modified: WSGIKit/trunk/examples/todo/Site.py
===================================================================
--- WSGIKit/trunk/examples/todo/Site.py 2005-03-26 21:28:03 UTC (rev 2243)
+++ WSGIKit/trunk/examples/todo/Site.py 2005-03-26 21:29:06 UTC (rev 2244)
@@ -11,6 +11,7 @@
if not hasattr(self, 'manager'):
datadir = trans.request().environ().get('wsgikit.config',{}).get('datadir','.')
self.manager = api.Manager.load(root=datadir)
+ self.baseURL = trans.request().environ()['todo.base_url']
def sleep(self, trans):
super(StandardPage, self).sleep(trans)
@@ -25,8 +26,8 @@
def writeStyleSheet(self):
self.write("""<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1" />\n""")
- self.write("""<link href="main.css" rel="stylesheet"
- type="text/css" media="screen"/>\n""")
+ self.write("""<link href="%s/main.css" rel="stylesheet"
+ type="text/css" media="screen"/>\n""" % self.baseURL)
def writeDocType(self):
self.write("""<?xml version="1.0" encoding="iso-8859-1"?>
@@ -45,8 +46,8 @@
self.writePostContent()
def writePreContent(self):
- self.write("""<h1><img src="check.png" align="absmiddle" />WSGIKit ToDo
- List</h1><hr />""")
+ self.write("""<h1><img src="%s/check.png" align="absmiddle" />WSGIKit ToDo
+ List</h1><hr />""" % self.baseURL)
def writeContent(self):
self.write("Blank Page")
Modified: WSGIKit/trunk/examples/todo/__init__.py
===================================================================
--- WSGIKit/trunk/examples/todo/__init__.py 2005-03-26 21:28:03 UTC (rev 2243)
+++ WSGIKit/trunk/examples/todo/__init__.py 2005-03-26 21:29:06 UTC (rev 2244)
@@ -1,13 +1,17 @@
import os
from wsgikit import wsgilib
+def urlparser_hook(environ):
+ if not environ.has_key('todo.base_url'):
+ environ['todo.base_url'] = environ['SCRIPT_NAME']
+
def not_found_hook(environ, start_response):
p = environ['wsgikit.urlparser.not_found_parser']
username, rest = wsgilib.path_info_split(environ.get('PATH_INFO', ''))
if username is None:
return p.not_found(environ, start_response)
- environ['app.user'] = username
+ environ['todo.username'] = username
environ['SCRIPT_NAME'] += '/' + username
environ['PATH_INFO'] = rest
return p(environ, start_response)
Modified: WSGIKit/trunk/examples/todo/lists.py
===================================================================
--- WSGIKit/trunk/examples/todo/lists.py 2005-03-26 21:28:03 UTC (rev 2243)
+++ WSGIKit/trunk/examples/todo/lists.py 2005-03-26 21:29:06 UTC (rev 2244)
@@ -9,7 +9,7 @@
def awake(self, trans):
StandardPage.awake(self, trans)
- username = self.request().environ()['app.user']
+ username = self.request().environ()['todo.username']
self.user = self.manager.getUser(username)
extra = self.request().extraURLPath()
if extra and \
@@ -46,6 +46,9 @@
<input type="submit" value="new item" />
</p>
</form>
+ <script type="text/javascript">
+ document.forms[0].itemname.focus();
+ </script>
""" % (todolist.name, todolist.name,))
def writeContentForAllLists(self):
@@ -80,5 +83,9 @@
fields = self.request().fields()
currentlist = self.user.getList(fields['listname'])
currentlist.addItem(api.Item(fields['itemname']))
- self.writeHTML()
+ self.sendRedirectAndEnd(
+ '%(baseURL)s/%(username)s/lists/%(listname)s'
+ % {'baseURL': self.baseURL,
+ 'username': self.user.name,
+ 'listname': self.listname})
|
| Thread | Author | Date |
|---|---|---|
| [Webware-checkins] r2244 - WSGIKit/trunk/examples/todo | <ianb@co...> |