aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Bentley <abentley@panoramicfeedback.com>2006-04-11 09:23:30 -0400
committerAaron Bentley <abentley@panoramicfeedback.com>2006-04-11 09:23:30 -0400
commit162c3a3783555a11aed72a30369b6dff5e4e0cef (patch)
treef8d118d80f70ccfc7a6487d1127b84276397909c
parent4d61b78146f12a93d4c3a0c3657439102ed8f63d (diff)
parent3747b40e76b3497da1ad081767e5d64a242deccf (diff)
downloadbugseverywhere-162c3a3783555a11aed72a30369b6dff5e4e0cef.tar.gz
Merge from home (TurboGears 0.9)
-rw-r--r--.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/body21
-rw-r--r--.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/values21
-rw-r--r--.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/values35
-rw-r--r--.bzrignore2
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/PKG-INFO15
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/SOURCES.txt36
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/not-zip-safe (renamed from beweb/beweb/__init__.py)0
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/requires.txt1
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/sqlobject.txt (renamed from beweb/Bugs-Everywhere-Web.egg-info/sqlobject.txt)0
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/top_level.txt2
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/PKG-INFO1
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/paster_plugins.txt2
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/requires.txt (renamed from beweb/Bugs-Everywhere-Web.egg-info/requires.txt)0
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/sqlobject.txt2
-rw-r--r--Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/top_level.txt (renamed from beweb/Bugs-Everywhere-Web.egg-info/top_level.txt)0
-rw-r--r--Bugs-Everywhere-Web/README.txt4
-rw-r--r--Bugs-Everywhere-Web/beweb/__init__.py (renamed from beweb/beweb/templates/__init__.py)0
-rw-r--r--Bugs-Everywhere-Web/beweb/app.cfg120
-rw-r--r--Bugs-Everywhere-Web/beweb/config.py.example (renamed from beweb/beweb/config.py.example)0
-rw-r--r--Bugs-Everywhere-Web/beweb/controllers.py (renamed from beweb/beweb/controllers.py)32
-rw-r--r--Bugs-Everywhere-Web/beweb/formatting.py (renamed from beweb/beweb/formatting.py)0
-rw-r--r--Bugs-Everywhere-Web/beweb/model.py (renamed from beweb/beweb/model.py)2
-rw-r--r--Bugs-Everywhere-Web/beweb/prest.py (renamed from beweb/beweb/prest.py)0
-rw-r--r--Bugs-Everywhere-Web/beweb/release.py13
-rw-r--r--Bugs-Everywhere-Web/beweb/static/css/style.css (renamed from beweb/beweb/static/css/style.css)0
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-b.png (renamed from beweb/beweb/static/images/ds-b.png)bin213 -> 213 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-bl.png (renamed from beweb/beweb/static/images/ds-bl.png)bin327 -> 327 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-br.png (renamed from beweb/beweb/static/images/ds-br.png)bin365 -> 365 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-l.png (renamed from beweb/beweb/static/images/ds-l.png)bin197 -> 197 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-r.png (renamed from beweb/beweb/static/images/ds-r.png)bin214 -> 214 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-t.png (renamed from beweb/beweb/static/images/ds-t.png)bin200 -> 200 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-tl.png (renamed from beweb/beweb/static/images/ds-tl.png)bin240 -> 240 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds-tr.png (renamed from beweb/beweb/static/images/ds-tr.png)bin311 -> 311 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds2-b.png (renamed from beweb/beweb/static/images/ds2-b.png)bin206 -> 206 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/ds2-r.png (renamed from beweb/beweb/static/images/ds2-r.png)bin204 -> 204 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/favicon.ico (renamed from beweb/beweb/static/images/favicon.ico)bin318 -> 318 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/favicon.png (renamed from beweb/beweb/static/images/favicon.png)bin267 -> 267 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/half-spiral.png (renamed from beweb/beweb/static/images/half-spiral.png)bin1112 -> 1112 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-b.png (renamed from beweb/beweb/static/images/is-b.png)bin200 -> 200 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-bl.png (renamed from beweb/beweb/static/images/is-bl.png)bin408 -> 408 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-br.png (renamed from beweb/beweb/static/images/is-br.png)bin304 -> 304 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-l.png (renamed from beweb/beweb/static/images/is-l.png)bin214 -> 214 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-r.png (renamed from beweb/beweb/static/images/is-r.png)bin197 -> 197 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-t.png (renamed from beweb/beweb/static/images/is-t.png)bin213 -> 213 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-tl.png (renamed from beweb/beweb/static/images/is-tl.png)bin413 -> 413 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/is-tr.png (renamed from beweb/beweb/static/images/is-tr.png)bin414 -> 414 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/shadows.png (renamed from beweb/beweb/static/images/shadows.png)bin3960 -> 3960 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/static/images/spiral.png (renamed from beweb/beweb/static/images/spiral.png)bin2120 -> 2120 bytes
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/__init__.py0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/about.kid (renamed from beweb/beweb/templates/about.kid)0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/bugs.kid (renamed from beweb/beweb/templates/bugs.kid)0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/edit_bug.kid (renamed from beweb/beweb/templates/edit_bug.kid)0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/edit_comment.kid (renamed from beweb/beweb/templates/edit_comment.kid)0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/error.kid (renamed from beweb/beweb/templates/error.kid)0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/login.kid113
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/master.kid (renamed from beweb/beweb/templates/master.kid)28
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/projects.kid (renamed from beweb/beweb/templates/projects.kid)0
-rw-r--r--Bugs-Everywhere-Web/beweb/templates/welcome.kid33
-rw-r--r--Bugs-Everywhere-Web/beweb/tests/__init__.py0
-rw-r--r--Bugs-Everywhere-Web/beweb/tests/test_controllers.py16
-rw-r--r--Bugs-Everywhere-Web/beweb/tests/test_model.py24
-rw-r--r--Bugs-Everywhere-Web/dev.cfg37
l---------Bugs-Everywhere-Web/libbe (renamed from beweb/libbe)0
-rw-r--r--Bugs-Everywhere-Web/prod.cfg41
-rw-r--r--Bugs-Everywhere-Web/server.log (renamed from beweb/server.log)0
-rw-r--r--Bugs-Everywhere-Web/setup.py60
-rwxr-xr-xBugs-Everywhere-Web/start-beweb.py (renamed from beweb/beweb-start.py)13
-rw-r--r--beweb/Bugs-Everywhere-Web.egg-info/PKG-INFO10
-rw-r--r--beweb/common.cfg9
-rw-r--r--beweb/dev.cfg34
-rw-r--r--beweb/prod.cfg33
-rw-r--r--beweb/setup.py18
72 files changed, 663 insertions, 115 deletions
diff --git a/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/body b/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/body
new file mode 100644
index 0000000..0a004ac
--- /dev/null
+++ b/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/body
@@ -0,0 +1,21 @@
+Err, perhaps we should use revision ids. Or status. Or something...
+
+
+$ be diff
+Traceback (most recent call last):
+ File "/usr/bin/be", line 55, in ?
+ sys.exit(execute(sys.argv[1], sys.argv[2:]))
+ File "/usr/lib/python2.4/site-packages/libbe/cmdutil.py", line 105, in execute return get_command(cmd).execute([a.decode(encoding) for a in args])
+ File "/usr/lib/python2.4/site-packages/becommands/diff.py", line 33, in execute
+ diff.diff_report(diff.reference_diff(tree, spec), tree)
+ File "/usr/lib/python2.4/site-packages/libbe/diff.py", line 41, in reference_diff
+ return diff(bugdir.get_reference_bugdir(spec), bugdir)
+ File "/usr/lib/python2.4/site-packages/libbe/diff.py", line 22, in diff
+ old_bug_map = old_tree.bug_map()
+ File "/usr/lib/python2.4/site-packages/libbe/bugdir.py", line 169, in bug_map
+ for bug in self.list():
+ File "/usr/lib/python2.4/site-packages/libbe/bugdir.py", line 164, in list
+ for uuid in self.list_uuids():
+ File "/usr/lib/python2.4/site-packages/libbe/bugdir.py", line 177, in list_uuids
+ for uuid in os.listdir(self.bugs_path):
+OSError: [Errno 2] No such file or directory: '/home/abentley/.bzrrevs/None/.be/bugs'
diff --git a/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/values b/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/values
new file mode 100644
index 0000000..8e0fad6
--- /dev/null
+++ b/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/comments/b0e7165b-7099-45ca-9513-412225f7bd52/values
@@ -0,0 +1,21 @@
+
+
+
+Content-type=text/plain
+
+
+
+
+
+
+Date=Mon, 10 Apr 2006 23:23:25 +0000
+
+
+
+
+
+
+From=abentley
+
+
+
diff --git a/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/values b/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/values
new file mode 100644
index 0000000..b745597
--- /dev/null
+++ b/.be/bugs/a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2/values
@@ -0,0 +1,35 @@
+
+
+
+creator=abentley
+
+
+
+
+
+
+severity=minor
+
+
+
+
+
+
+status=open
+
+
+
+
+
+
+summary=be diff doesn't work with bzr in directories that have no commits
+
+
+
+
+
+
+time=Mon, 10 Apr 2006 23:22:17 +0000
+
+
+
diff --git a/.bzrignore b/.bzrignore
index 7565778..0670f57 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -1,2 +1,2 @@
-beweb/beweb/config.py
+Bugs-Everywhere-Web/beweb/config.py
./build
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/PKG-INFO b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/PKG-INFO
new file mode 100644
index 0000000..6cb6ad2
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/PKG-INFO
@@ -0,0 +1,15 @@
+Metadata-Version: 1.0
+Name: Bugs-Everywhere-Web
+Version: 1.0
+Summary: UNKNOWN
+Home-page: UNKNOWN
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: UNKNOWN
+Description: UNKNOWN
+Platform: UNKNOWN
+Classifier: Development Status :: 3 - Alpha
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Framework :: TurboGears
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/SOURCES.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/SOURCES.txt
new file mode 100644
index 0000000..def18b1
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/SOURCES.txt
@@ -0,0 +1,36 @@
+README.txt
+setup.py
+start-beweb.py
+Bugs-Everywhere-Web.egg-info/PKG-INFO
+Bugs-Everywhere-Web.egg-info/SOURCES.txt
+Bugs-Everywhere-Web.egg-info/not-zip-safe
+Bugs-Everywhere-Web.egg-info/requires.txt
+Bugs-Everywhere-Web.egg-info/sqlobject.txt
+Bugs-Everywhere-Web.egg-info/top_level.txt
+beweb/__init__.py
+beweb/config.py
+beweb/controllers.py
+beweb/formatting.py
+beweb/model.py
+beweb/prest.py
+beweb/release.py
+beweb/config/__init__.py
+beweb/templates/__init__.py
+beweb/tests/__init__.py
+beweb/tests/test_controllers.py
+beweb/tests/test_model.py
+libbe/__init__.py
+libbe/arch.py
+libbe/bugdir.py
+libbe/bzr.py
+libbe/cmdutil.py
+libbe/config.py
+libbe/diff.py
+libbe/mapfile.py
+libbe/names.py
+libbe/no_rcs.py
+libbe/plugin.py
+libbe/rcs.py
+libbe/restconvert.py
+libbe/tests.py
+libbe/utility.py
diff --git a/beweb/beweb/__init__.py b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/not-zip-safe
index e69de29..e69de29 100644
--- a/beweb/beweb/__init__.py
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/not-zip-safe
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/requires.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/requires.txt
new file mode 100644
index 0000000..88b15cb
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/requires.txt
@@ -0,0 +1 @@
+TurboGears >= 0.9a4 \ No newline at end of file
diff --git a/beweb/Bugs-Everywhere-Web.egg-info/sqlobject.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/sqlobject.txt
index 7f7cbad..7f7cbad 100644
--- a/beweb/Bugs-Everywhere-Web.egg-info/sqlobject.txt
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/sqlobject.txt
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/top_level.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/top_level.txt
new file mode 100644
index 0000000..6455be9
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/Bugs-Everywhere-Web.egg-info/top_level.txt
@@ -0,0 +1,2 @@
+beweb
+libbe
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/PKG-INFO b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/PKG-INFO
new file mode 100644
index 0000000..78b12a6
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/PKG-INFO
@@ -0,0 +1 @@
+Version: 0.0
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/paster_plugins.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/paster_plugins.txt
new file mode 100644
index 0000000..14fec70
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/paster_plugins.txt
@@ -0,0 +1,2 @@
+TurboGears
+PasteScript
diff --git a/beweb/Bugs-Everywhere-Web.egg-info/requires.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/requires.txt
index b4e1d25..b4e1d25 100644
--- a/beweb/Bugs-Everywhere-Web.egg-info/requires.txt
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/requires.txt
diff --git a/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/sqlobject.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/sqlobject.txt
new file mode 100644
index 0000000..7f7cbad
--- /dev/null
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/sqlobject.txt
@@ -0,0 +1,2 @@
+db_module=beweb.model
+history_dir=$base/beweb/sqlobject-history
diff --git a/beweb/Bugs-Everywhere-Web.egg-info/top_level.txt b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/top_level.txt
index 74a8358..74a8358 100644
--- a/beweb/Bugs-Everywhere-Web.egg-info/top_level.txt
+++ b/Bugs-Everywhere-Web/Bugs_Everywhere_Web.egg-info/top_level.txt
diff --git a/Bugs-Everywhere-Web/README.txt b/Bugs-Everywhere-Web/README.txt
new file mode 100644
index 0000000..efde8ff
--- /dev/null
+++ b/Bugs-Everywhere-Web/README.txt
@@ -0,0 +1,4 @@
+Bugs-Everywhere-Web
+
+This is a TurboGears (http://www.turbogears.org) project. It can be
+started by running the start-beweb.py script. \ No newline at end of file
diff --git a/beweb/beweb/templates/__init__.py b/Bugs-Everywhere-Web/beweb/__init__.py
index e69de29..e69de29 100644
--- a/beweb/beweb/templates/__init__.py
+++ b/Bugs-Everywhere-Web/beweb/__init__.py
diff --git a/Bugs-Everywhere-Web/beweb/app.cfg b/Bugs-Everywhere-Web/beweb/app.cfg
new file mode 100644
index 0000000..0035ffb
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/app.cfg
@@ -0,0 +1,120 @@
+[global]
+# The settings in this file should not vary depending on the deployment
+# environment. devcfg.py and prodcfg.py are the locations for
+# the different deployment settings. Settings in this file will
+# be overridden by settings in those other files.
+
+# The commented out values below are the defaults
+
+# VIEW
+
+# which view (template engine) to use if one is not specified in the
+# template name
+# tg.defaultview = "kid"
+
+# kid.outputformat="html"
+# kid.encoding="utf-8"
+
+# The sitetemplate is used for overall styling of a site that
+# includes multiple TurboGears applications
+# tg.sitetemplate="<packagename.templates.templatename>"
+
+# Allow every exposed function to be called as json,
+# tg.allow_json = False
+
+# Set to True if you'd like all of your pages to include MochiKit
+# tg.mochikit_all = False
+
+# VISIT TRACKING
+# Each visit to your application will be assigned a unique visit ID tracked via
+# a cookie sent to the visitor's browser.
+# --------------
+
+# Enable Visit tracking
+# visit.on=False
+
+# Number of minutes a visit may be idle before it expires.
+# visit.timeout=20
+
+# The name of the cookie to transmit to the visitor's browser.
+# visit.cookie.name="tg-visit"
+
+# Domain name to specify when setting the cookie (must begin with . according to
+# RFC 2109). The default (None) should work for most cases and will default to
+# the machine to which the request was made. NOTE: localhost is NEVER a valid
+# value and will NOT WORK.
+# visit.cookie.domain=None
+
+# Specific path for the cookie
+# visit.cookie.path="/"
+
+# The name of the VisitManager plugin to use for visitor tracking.
+# visit.manager="sqlobject"
+
+
+# IDENTITY
+# General configuration of the TurboGears Identity management module
+# --------
+
+# Switch to turn on or off the Identity management module
+# identity.on=False
+
+# [REQUIRED] URL to which CherryPy will internally redirect when an access
+# control check fails. If Identity management is turned on, a value for this
+# option must be specified.
+# identity.failure_url=None
+
+# The IdentityProvider to use -- defaults to the SqlObjectIdentityProvider which
+# pulls User, Group, and Permission data out of your model database.
+# identity.provider="sqlobject"
+
+# The names of the fields on the login form containing the visitor's user ID
+# and password. In addition, the submit button is specified simply so its
+# existence may be stripped out prior to passing the form data to the target
+# controller.
+# identity.form.user_name="user_name"
+# identity.form.password="password"
+# identity.form.submit="login"
+
+# What sources should the identity provider consider when determining the
+# identity associated with a request? Comma separated list of identity sources.
+# Valid sources: form, visit, http_auth
+# identity.source="form,http_auth,visit"
+
+
+# SqlObjectIdentityProvider
+# Configuration options for the default IdentityProvider
+# -------------------------
+
+# The classes you wish to use for your Identity model. Leave these commented out
+# to use the default classes for SqlObjectIdentityProvider. Or set them to the
+# classes in your model. NOTE: These aren't TG_* because the TG prefix is
+# reserved for classes created by TurboGears.
+# identity.soprovider.model.user="beweb.model.User"
+# identity.soprovider.model.group="beweb.model.Group"
+# identity.soprovider.model.permission="beweb.model.Permission"
+
+# The password encryption algorithm used when comparing passwords against what's
+# stored in the database. Valid values are 'md5' or 'sha1'. If you do not
+# specify an encryption algorithm, passwords are expected to be clear text.
+#
+# The SqlObjectProvider *will* encrypt passwords supplied as part of your login
+# form. If you set the password through the password property, like:
+# my_user.password = 'secret'
+# the password will be encrypted in the database, provided identity is up and
+# running, or you have loaded the configuration specifying what encryption to
+# use (in situations where identity may not yet be running, like tests).
+
+# identity.soprovider.encryption_algorithm=None
+
+[/static]
+static_filter.on = True
+static_filter.dir = "."
+
+[/favicon.ico]
+static_filter.on = True
+static_filter.file = "images/favicon.ico"
+
+[/]
+decodingFilter.on = True
+static_filter.root = '%(package_dir)s/static'
diff --git a/beweb/beweb/config.py.example b/Bugs-Everywhere-Web/beweb/config.py.example
index 8745c6d..8745c6d 100644
--- a/beweb/beweb/config.py.example
+++ b/Bugs-Everywhere-Web/beweb/config.py.example
diff --git a/beweb/beweb/controllers.py b/Bugs-Everywhere-Web/beweb/controllers.py
index fc505ed..9231030 100644
--- a/beweb/beweb/controllers.py
+++ b/Bugs-Everywhere-Web/beweb/controllers.py
@@ -1,5 +1,5 @@
import turbogears
-from turbogears import controllers
+from turbogears import controllers, expose, redirect, identity
import cherrypy
from libbe.bugdir import (tree_root, cmp_severity, new_bug, new_comment,
NoRootEntry)
@@ -166,6 +166,34 @@ class Root(controllers.Root):
def index(self):
raise cherrypy.HTTPRedirect(project_url())
+ @expose(template="beweb.templates.login")
+ def login(self, forward_url=None, previous_url=None, *args, **kw):
+
+ if not identity.current.anonymous and identity.was_login_attempted():
+ raise redirect(forward_url)
+
+ forward_url=None
+ previous_url= cherrypy.request.path
+
+ if identity.was_login_attempted():
+ msg=_("The credentials you supplied were not correct or "\
+ "did not grant access to this resource.")
+ elif identity.get_identity_errors():
+ msg=_("You must provide your credentials before accessing "\
+ "this resource.")
+ else:
+ msg=_("Please log in.")
+ forward_url= cherrypy.request.headers.get("Referer", "/")
+ cherrypy.response.status=403
+ return dict(message=msg, previous_url=previous_url, logging_in=True,
+ original_parameters=cherrypy.request.params,
+ forward_url=forward_url)
+
+ @expose()
+ def logout(self):
+ identity.current.logout()
+ raise redirect("/")
+
@turbogears.expose('beweb.templates.about')
def about(self, *paths, **kwargs):
return {}
@@ -174,7 +202,7 @@ class Root(controllers.Root):
def default(self, *args, **kwargs):
return self.prest.default(*args, **kwargs)
- def _cpOnError(self):
+ def _cp_on_error(self):
import traceback, StringIO
bodyFile = StringIO.StringIO()
traceback.print_exc(file = bodyFile)
diff --git a/beweb/beweb/formatting.py b/Bugs-Everywhere-Web/beweb/formatting.py
index 44ed849..44ed849 100644
--- a/beweb/beweb/formatting.py
+++ b/Bugs-Everywhere-Web/beweb/formatting.py
diff --git a/beweb/beweb/model.py b/Bugs-Everywhere-Web/beweb/model.py
index 208f5bb..e20d1ce 100644
--- a/beweb/beweb/model.py
+++ b/Bugs-Everywhere-Web/beweb/model.py
@@ -1,5 +1,7 @@
from sqlobject import *
from turbogears.database import PackageHub
+# Uncomment the following line if you wish to use Identity and SO_Provider
+# from turbogears.identity.soprovider import TG_User, TG_Group, TG_Permission
hub = PackageHub("beweb")
__connection__ = hub
diff --git a/beweb/beweb/prest.py b/Bugs-Everywhere-Web/beweb/prest.py
index e6b7cdf..e6b7cdf 100644
--- a/beweb/beweb/prest.py
+++ b/Bugs-Everywhere-Web/beweb/prest.py
diff --git a/Bugs-Everywhere-Web/beweb/release.py b/Bugs-Everywhere-Web/beweb/release.py
new file mode 100644
index 0000000..0232912
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/release.py
@@ -0,0 +1,13 @@
+# Release information about Bugs-Everywhere-Web
+
+version = "1.0"
+
+# description = "Your plan to rule the world"
+# author = "Your Name Here"
+# email = "YourEmail@YourDomain"
+# copyright = "Vintage 2006 - a good year indeed"
+
+# if it's open source, you might want to specify these
+# url = "http://yourcool.site/"
+# download_url = "http://yourcool.site/download"
+# license = "MIT"
diff --git a/beweb/beweb/static/css/style.css b/Bugs-Everywhere-Web/beweb/static/css/style.css
index 986950f..986950f 100644
--- a/beweb/beweb/static/css/style.css
+++ b/Bugs-Everywhere-Web/beweb/static/css/style.css
diff --git a/beweb/beweb/static/images/ds-b.png b/Bugs-Everywhere-Web/beweb/static/images/ds-b.png
index 790e438..790e438 100644
--- a/beweb/beweb/static/images/ds-b.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-b.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-bl.png b/Bugs-Everywhere-Web/beweb/static/images/ds-bl.png
index 5b43259..5b43259 100644
--- a/beweb/beweb/static/images/ds-bl.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-bl.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-br.png b/Bugs-Everywhere-Web/beweb/static/images/ds-br.png
index 6cfd62c..6cfd62c 100644
--- a/beweb/beweb/static/images/ds-br.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-br.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-l.png b/Bugs-Everywhere-Web/beweb/static/images/ds-l.png
index a6ce3ce..a6ce3ce 100644
--- a/beweb/beweb/static/images/ds-l.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-l.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-r.png b/Bugs-Everywhere-Web/beweb/static/images/ds-r.png
index 1ffd6f8..1ffd6f8 100644
--- a/beweb/beweb/static/images/ds-r.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-r.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-t.png b/Bugs-Everywhere-Web/beweb/static/images/ds-t.png
index 0129b0c..0129b0c 100644
--- a/beweb/beweb/static/images/ds-t.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-t.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-tl.png b/Bugs-Everywhere-Web/beweb/static/images/ds-tl.png
index d616b77..d616b77 100644
--- a/beweb/beweb/static/images/ds-tl.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-tl.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds-tr.png b/Bugs-Everywhere-Web/beweb/static/images/ds-tr.png
index 18e542e..18e542e 100644
--- a/beweb/beweb/static/images/ds-tr.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds-tr.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds2-b.png b/Bugs-Everywhere-Web/beweb/static/images/ds2-b.png
index 05a190e..05a190e 100644
--- a/beweb/beweb/static/images/ds2-b.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds2-b.png
Binary files differ
diff --git a/beweb/beweb/static/images/ds2-r.png b/Bugs-Everywhere-Web/beweb/static/images/ds2-r.png
index 0c3ea4c..0c3ea4c 100644
--- a/beweb/beweb/static/images/ds2-r.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/ds2-r.png
Binary files differ
diff --git a/beweb/beweb/static/images/favicon.ico b/Bugs-Everywhere-Web/beweb/static/images/favicon.ico
index 339d09c..339d09c 100644
--- a/beweb/beweb/static/images/favicon.ico
+++ b/Bugs-Everywhere-Web/beweb/static/images/favicon.ico
Binary files differ
diff --git a/beweb/beweb/static/images/favicon.png b/Bugs-Everywhere-Web/beweb/static/images/favicon.png
index 6dc53ee..6dc53ee 100644
--- a/beweb/beweb/static/images/favicon.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/favicon.png
Binary files differ
diff --git a/beweb/beweb/static/images/half-spiral.png b/Bugs-Everywhere-Web/beweb/static/images/half-spiral.png
index cb4b56c..cb4b56c 100644
--- a/beweb/beweb/static/images/half-spiral.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/half-spiral.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-b.png b/Bugs-Everywhere-Web/beweb/static/images/is-b.png
index 25d3cfa..25d3cfa 100644
--- a/beweb/beweb/static/images/is-b.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-b.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-bl.png b/Bugs-Everywhere-Web/beweb/static/images/is-bl.png
index f496223..f496223 100644
--- a/beweb/beweb/static/images/is-bl.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-bl.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-br.png b/Bugs-Everywhere-Web/beweb/static/images/is-br.png
index 74cbd91..74cbd91 100644
--- a/beweb/beweb/static/images/is-br.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-br.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-l.png b/Bugs-Everywhere-Web/beweb/static/images/is-l.png
index dd567fa..dd567fa 100644
--- a/beweb/beweb/static/images/is-l.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-l.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-r.png b/Bugs-Everywhere-Web/beweb/static/images/is-r.png
index 9ac4486..9ac4486 100644
--- a/beweb/beweb/static/images/is-r.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-r.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-t.png b/Bugs-Everywhere-Web/beweb/static/images/is-t.png
index fbb06c8..fbb06c8 100644
--- a/beweb/beweb/static/images/is-t.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-t.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-tl.png b/Bugs-Everywhere-Web/beweb/static/images/is-tl.png
index 9336290..9336290 100644
--- a/beweb/beweb/static/images/is-tl.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-tl.png
Binary files differ
diff --git a/beweb/beweb/static/images/is-tr.png b/Bugs-Everywhere-Web/beweb/static/images/is-tr.png
index de74808..de74808 100644
--- a/beweb/beweb/static/images/is-tr.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/is-tr.png
Binary files differ
diff --git a/beweb/beweb/static/images/shadows.png b/Bugs-Everywhere-Web/beweb/static/images/shadows.png
index 9ddc676..9ddc676 100644
--- a/beweb/beweb/static/images/shadows.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/shadows.png
Binary files differ
diff --git a/beweb/beweb/static/images/spiral.png b/Bugs-Everywhere-Web/beweb/static/images/spiral.png
index b4bcb1e..b4bcb1e 100644
--- a/beweb/beweb/static/images/spiral.png
+++ b/Bugs-Everywhere-Web/beweb/static/images/spiral.png
Binary files differ
diff --git a/Bugs-Everywhere-Web/beweb/templates/__init__.py b/Bugs-Everywhere-Web/beweb/templates/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/templates/__init__.py
diff --git a/beweb/beweb/templates/about.kid b/Bugs-Everywhere-Web/beweb/templates/about.kid
index 45d0093..45d0093 100644
--- a/beweb/beweb/templates/about.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/about.kid
diff --git a/beweb/beweb/templates/bugs.kid b/Bugs-Everywhere-Web/beweb/templates/bugs.kid
index b83a593..b83a593 100644
--- a/beweb/beweb/templates/bugs.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/bugs.kid
diff --git a/beweb/beweb/templates/edit_bug.kid b/Bugs-Everywhere-Web/beweb/templates/edit_bug.kid
index c31d660..c31d660 100644
--- a/beweb/beweb/templates/edit_bug.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/edit_bug.kid
diff --git a/beweb/beweb/templates/edit_comment.kid b/Bugs-Everywhere-Web/beweb/templates/edit_comment.kid
index 551db9d..551db9d 100644
--- a/beweb/beweb/templates/edit_comment.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/edit_comment.kid
diff --git a/beweb/beweb/templates/error.kid b/Bugs-Everywhere-Web/beweb/templates/error.kid
index bc55615..bc55615 100644
--- a/beweb/beweb/templates/error.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/error.kid
diff --git a/Bugs-Everywhere-Web/beweb/templates/login.kid b/Bugs-Everywhere-Web/beweb/templates/login.kid
new file mode 100644
index 0000000..2c150db
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/templates/login.kid
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:py="http://purl.org/kid/ns#"
+ py:extends="'master.kid'">
+
+<head>
+ <meta content="text/html; charset=UTF-8"
+ http-equiv="content-type" py:replace="''"/>
+ <title>Login</title>
+ <style>
+ #loginBox
+ {
+ width: 30%;
+ margin: auto;
+ margin-top: 10%;
+ padding-left: 10%;
+ padding-right: 10%;
+ padding-top: 5%;
+ padding-bottom: 5%;
+ font-family: verdana;
+ font-size: 10px;
+ background-color: #eee;
+ border: 2px solid #ccc;
+ }
+
+ #loginBox h1
+ {
+ font-size: 42px;
+ font-family: "Trebuchet MS";
+ margin: 0;
+ color: #ddd;
+ }
+
+ #loginBox p
+ {
+ position: relative;
+ top: -1.5em;
+ padding-left: 4em;
+ font-size: 12px;
+ margin: 0;
+ color: #666;
+ }
+
+ #loginBox table
+ {
+ table-layout: fixed;
+ border-spacing: 0;
+ width: 100%;
+ }
+
+ #loginBox td.label
+ {
+ width: 33%;
+ text-align: right;
+ }
+
+ #loginBox td.field
+ {
+ width: 66%;
+ }
+
+ #loginBox td.field input
+ {
+ width: 100%;
+ }
+
+ #loginBox td.buttons
+ {
+ text-align: right;
+ }
+
+ </style>
+</head>
+
+<body>
+ <div id="loginBox">
+ <h1>Login</h1>
+ <p>${message}</p>
+ <form action="${previous_url}" method="POST">
+ <table>
+ <tr>
+ <td class="label">
+ <label for="user_name">User Name:</label>
+ </td>
+ <td class="field">
+ <input type="text" id="user_name" name="user_name"/>
+ </td>
+ </tr>
+ <tr>
+ <td class="label">
+ <label for="password">Password:</label>
+ </td>
+ <td class="field">
+ <input type="password" id="password" name="password"/>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="buttons">
+ <input type="submit" value="Login"/>
+ </td>
+ </tr>
+ </table>
+
+ <input py:if="forward_url" type="hidden" name="forward_url"
+ value="${forward_url}"/>
+
+ <input py:for="name,value in original_parameters.items()"
+ type="hidden" name="${name}" value="${value}"/>
+ </form>
+ </div>
+</body>
+</html>
diff --git a/beweb/beweb/templates/master.kid b/Bugs-Everywhere-Web/beweb/templates/master.kid
index 6610d00..54f6bad 100644
--- a/beweb/beweb/templates/master.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/master.kid
@@ -2,18 +2,38 @@
<?python import sitetemplate ?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#" py:extends="sitetemplate">
-<head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'">
+<head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'" py:attrs="item.items()">
<meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
<title py:if="False">Your title goes here</title>
<link rel="stylesheet" type="text/css" href="/static/css/style.css"/>
- <div py:replace="item[:]"/>
+ <meta py:replace="item[:]"/>
+ <style>
+ #pageLogin
+ {
+ font-size: 10px;
+ font-family: verdana;
+ text-align: right;
+ }
+ </style>
</head>
-<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'">
+<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
<div id="header"><div style="float: left">b u g s e v r y w h e r e</div><ul class="navoption"><li><a href="/about/">About</a></li></ul>&#160;</div>
+ <div py:if="tg.config('identity.on',False) and not 'logging_in' in locals()"
+ id="pageLogin">
+ <span py:if="tg.identity.anonymous">
+ <a href="/login">Login</a>
+ </span>
+ <span py:if="not tg.identity.anonymous">
+ Welcome ${tg.identity.user.displayName}.
+ <a href="/logout">Logout</a>
+ </span>
+ </div>
+
<div py:if="tg_flash" class="flash" py:content="tg_flash"></div>
-
+
<div py:replace="item[:]"/>
+
</body>
<table py:match="item.tag=='{http://www.w3.org/1999/xhtml}insetbox'" cellspacing="0" cellpadding="0" border="0" class="insetbox">
<tr height="19"><td background="/static/images/is-tl.png" width="19"/>
diff --git a/beweb/beweb/templates/projects.kid b/Bugs-Everywhere-Web/beweb/templates/projects.kid
index 09bde77..09bde77 100644
--- a/beweb/beweb/templates/projects.kid
+++ b/Bugs-Everywhere-Web/beweb/templates/projects.kid
diff --git a/Bugs-Everywhere-Web/beweb/templates/welcome.kid b/Bugs-Everywhere-Web/beweb/templates/welcome.kid
new file mode 100644
index 0000000..0d3cf3e
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/templates/welcome.kid
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
+ py:extends="'master.kid'">
+
+<head>
+ <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
+ <title>Welcome to TurboGears</title>
+</head>
+
+<body>
+ <p>Congratulations, your TurboGears application is running as of <span py:replace="now">now</span>.</p>
+
+ <h2>Are you ready to Gear Up?</h2>
+
+ <p>Take the following steps to dive right in:</p>
+
+ <ol>
+ <li>Edit your project's model.py to create SQLObjects representing the data you're working with</li>
+ <li>Edit your dev.cfg file to point to the database you'll be using</li>
+ <li>Run "<code>tg-admin sql create</code>" to create the tables in the database</li>
+ <li>Edit controllers.py to add the functionality to your webapp</li>
+ <li>Change the master.kid template to have the headers and footers for your application.</li>
+ <li>Change welcome.kid (this template) or create a new one to display your data</li>
+ <li>Repeat steps 4-6 until done.</li>
+ <li><b>Profit!</b></li>
+ </ol>
+
+ <p>If you haven't already, you might check out some of the <a href="http://www.turbogears.org/docs/" >documentation</a>.</p>
+
+ <p>Thanks for using TurboGears! See you on the <a href="http://groups.google.com/group/turbogears" >mailing list</a> and the "turbogears" channel on irc.freenode.org!</p>
+
+</body>
+</html>
diff --git a/Bugs-Everywhere-Web/beweb/tests/__init__.py b/Bugs-Everywhere-Web/beweb/tests/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/tests/__init__.py
diff --git a/Bugs-Everywhere-Web/beweb/tests/test_controllers.py b/Bugs-Everywhere-Web/beweb/tests/test_controllers.py
new file mode 100644
index 0000000..0c77afe
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/tests/test_controllers.py
@@ -0,0 +1,16 @@
+from turbogears import testutil
+from beweb.controllers import Root
+import cherrypy
+
+cherrypy.root = Root()
+
+def test_method():
+ "the index method should return a string called now"
+ import types
+ result = testutil.call(cherrypy.root.index)
+ assert type(result["now"]) == types.StringType
+
+def test_indextitle():
+ "The mainpage should have the right title"
+ testutil.createRequest("/")
+ assert "<TITLE>Welcome to TurboGears</TITLE>" in cherrypy.response.body[0]
diff --git a/Bugs-Everywhere-Web/beweb/tests/test_model.py b/Bugs-Everywhere-Web/beweb/tests/test_model.py
new file mode 100644
index 0000000..5346f8b
--- /dev/null
+++ b/Bugs-Everywhere-Web/beweb/tests/test_model.py
@@ -0,0 +1,24 @@
+# If your project uses a database, you can set up database tests
+# similar to what you see below. Be sure to set the db_uri to
+# an appropriate uri for your testing database. sqlite is a good
+# choice for testing, because you can use an in-memory database
+# which is very fast.
+
+from turbogears import testutil
+#from beweb.model import YourDataClass
+#from turbogears.identity.soprovider import TG_User
+
+# database.set_db_uri("sqlite:///:memory:")
+
+# class testTG_User(testutil.DBTest):
+# def get_model(self):
+# return TG_User
+#
+# def test_creation(self):
+# "Object creation should set the name"
+# obj = TG_User(userId = "creosote",
+# emailAddress = "spam@python.not",
+# displayName = "Mr Creosote",
+# password = "Wafer-thin Mint")
+# assert obj.displayName == "Mr Creosote"
+
diff --git a/Bugs-Everywhere-Web/dev.cfg b/Bugs-Everywhere-Web/dev.cfg
new file mode 100644
index 0000000..e985b4b
--- /dev/null
+++ b/Bugs-Everywhere-Web/dev.cfg
@@ -0,0 +1,37 @@
+[global]
+# This is where all of your settings go for your development environment
+# Settings that are the same for both development and production
+# (such as template engine, encodings, etc.) all go in
+# yourpackage/config/app.cfg
+
+# DATABASE
+
+# pick the form for your database
+# sqlobject.dburi="postgres://username@hostname/databasename"
+# sqlobject.dburi="mysql://username:password@hostname:port/databasename"
+# sqlobject.dburi="sqlite:///file_name_and_path"
+
+# if you are using a database or table type without transactions
+# (MySQL default, for example), you should turn off transactions
+# by prepending notrans_ on the uri
+# sqlobject.dburi="notrans_mysql://username:password@hostname:port/databasename"
+
+# for Windows users, sqlite URIs look like:
+# sqlobject.dburi="sqlite:///drive_letter|/path/to/file"
+
+
+# SERVER
+
+# Some server parameters that you may want to tweak
+# server.socket_port=8080
+
+# Enable the debug output at the end on pages.
+# log_debug_info_filter.on = False
+
+server.environment="development"
+autoreload.package="beweb"
+
+# Set to True if you'd like to abort execution if a controller gets an
+# unexpected parameter. False by default
+tg.strict_parameters = True
+
diff --git a/beweb/libbe b/Bugs-Everywhere-Web/libbe
index 6081eee..6081eee 120000
--- a/beweb/libbe
+++ b/Bugs-Everywhere-Web/libbe
diff --git a/Bugs-Everywhere-Web/prod.cfg b/Bugs-Everywhere-Web/prod.cfg
new file mode 100644
index 0000000..c0d4aca
--- /dev/null
+++ b/Bugs-Everywhere-Web/prod.cfg
@@ -0,0 +1,41 @@
+[global]
+# This is where all of your settings go for your production environment.
+# You'll copy this file over to your production server and provide it
+# as a command-line option to your start script.
+# Settings that are the same for both development and production
+# (such as template engine, encodings, etc.) all go in
+# yourpackage/config/app.cfg
+
+# DATABASE
+
+# pick the form for your database
+# sqlobject.dburi="postgres://username@hostname/databasename"
+# sqlobject.dburi="mysql://username:password@hostname:port/databasename"
+# sqlobject.dburi="sqlite:///file_name_and_path"
+
+# if you are using a database or table type without transactions
+# (MySQL default, for example), you should turn off transactions
+# by prepending notrans_ on the uri
+# sqlobject.dburi="notrans_mysql://username:password@hostname:port/databasename"
+
+# for Windows users, sqlite URIs look like:
+# sqlobject.dburi="sqlite:///drive_letter|/path/to/file"
+
+
+# SERVER
+
+server.environment="production"
+server.log_file="server.log"
+server.log_to_screen=False
+
+# Sets the number of threads the server uses
+# server.thread_pool = 1
+
+# if this is part of a larger site, you can set the path
+# to the TurboGears instance here
+# server.webpath=""
+
+# Set to True if you'd like to abort execution if a controller gets an
+# unexpected parameter. False by default
+# tg.strict_parameters = False
+
diff --git a/beweb/server.log b/Bugs-Everywhere-Web/server.log
index fe02ade..fe02ade 100644
--- a/beweb/server.log
+++ b/Bugs-Everywhere-Web/server.log
diff --git a/Bugs-Everywhere-Web/setup.py b/Bugs-Everywhere-Web/setup.py
new file mode 100644
index 0000000..29f1d6f
--- /dev/null
+++ b/Bugs-Everywhere-Web/setup.py
@@ -0,0 +1,60 @@
+from setuptools import setup, find_packages
+from turbogears.finddata import find_package_data
+
+import os
+execfile(os.path.join("beweb", "release.py"))
+
+setup(
+ name="Bugs-Everywhere-Web",
+ version=version,
+
+ # uncomment the following lines if you fill them out in release.py
+ #description=description,
+ #author=author,
+ #author_email=email,
+ #url=url,
+ #download_url=download_url,
+ #license=license,
+
+ install_requires = ["TurboGears >= 0.9a4"],
+ scripts = ["start-beweb.py"],
+ zip_safe=False,
+ packages=find_packages(),
+ package_data = find_package_data(where='beweb',
+ package='beweb'),
+ keywords = [
+ # Use keywords if you'll be adding your package to the
+ # Python Cheeseshop
+
+ # if this has widgets, uncomment the next line
+ # 'turbogears.widgets',
+
+ # if this has a tg-admin command, uncomment the next line
+ # 'turbogears.command',
+
+ # if this has identity providers, uncomment the next line
+ # 'turbogears.identity.provider',
+
+ # If this is a template plugin, uncomment the next line
+ # 'python.templating.engines',
+
+ # If this is a full application, uncomment the next line
+ # 'turbogears.app',
+ ],
+ classifiers = [
+ 'Development Status :: 3 - Alpha',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Topic :: Software Development :: Libraries :: Python Modules',
+ 'Framework :: TurboGears',
+ # if this is an application that you'll distribute through
+ # the Cheeseshop, uncomment the next line
+ # 'Framework :: TurboGears :: Applications',
+
+ # if this is a package that includes widgets that you'll distribute
+ # through the Cheeseshop, uncomment the next line
+ # 'Framework :: TurboGears :: Widgets',
+ ],
+ test_suite = 'nose.collector',
+ )
+
diff --git a/beweb/beweb-start.py b/Bugs-Everywhere-Web/start-beweb.py
index 3f0f0a6..6eba527 100755
--- a/beweb/beweb-start.py
+++ b/Bugs-Everywhere-Web/start-beweb.py
@@ -2,7 +2,10 @@
import pkg_resources
pkg_resources.require("TurboGears")
+import turbogears
import cherrypy
+cherrypy.lowercase_api = True
+
from os.path import *
import sys
@@ -10,13 +13,15 @@ import sys
# if it's not on the command line, then
# look for setup.py in this directory. If it's not there, this script is
# probably installed
-cherrypy.config.update(file="common.cfg")
if len(sys.argv) > 1:
- cherrypy.config.update(file=sys.argv[1])
+ turbogears.update_config(configfile=sys.argv[1],
+ modulename="beweb.config.app")
elif exists(join(dirname(__file__), "setup.py")):
- cherrypy.config.update(file="dev.cfg")
+ turbogears.update_config(configfile="dev.cfg",
+ modulename="beweb.config.app")
else:
- cherrypy.config.update(file="prod.cfg")
+ turbogears.update_config(configfile="prod.cfg",
+ modulename="beweb.config.app")
from beweb.controllers import Root
diff --git a/beweb/Bugs-Everywhere-Web.egg-info/PKG-INFO b/beweb/Bugs-Everywhere-Web.egg-info/PKG-INFO
deleted file mode 100644
index 30070c9..0000000
--- a/beweb/Bugs-Everywhere-Web.egg-info/PKG-INFO
+++ /dev/null
@@ -1,10 +0,0 @@
-Metadata-Version: 1.0
-Name: Bugs-Everywhere-Web
-Version: 1.0
-Summary: UNKNOWN
-Home-page: UNKNOWN
-Author: UNKNOWN
-Author-email: UNKNOWN
-License: UNKNOWN
-Description: UNKNOWN
-Platform: UNKNOWN
diff --git a/beweb/common.cfg b/beweb/common.cfg
deleted file mode 100644
index de0d84f..0000000
--- a/beweb/common.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-# This is where all of your settings go for your development environment
-[/static]
-staticFilter.on = True
-staticFilter.dir = "static"
-[/favicon.ico]
-staticFilter.on = True
-staticFilter.file = "static/images/favicon.ico"
-[/]
-decodingFilter.on = True
diff --git a/beweb/dev.cfg b/beweb/dev.cfg
deleted file mode 100644
index 4fd8903..0000000
--- a/beweb/dev.cfg
+++ /dev/null
@@ -1,34 +0,0 @@
-# This is where all of your settings go for your development environment
-
-[global]
-
-# DATABASE
-
-# pick the form for your database
-# sqlobject.dburi="postgres://username@hostname/databasename"
-# sqlobject.dburi="mysql://username:password@hostname:port/databasename"
-# sqlobject.dburi="sqlite:///file_name_and_path"
-
-# for Windows users, sqlite URIs look like:
-# sqlobject.dburi="sqlite:///drive_letter|/path/to/file"
-
-
-# VIEW
-
-# kid.outputformat="html"
-
-# The sitetemplate is used for overall styling of a site that
-# includes multiple TurboGears applications
-# tg.sitetemplate="<packagename.templates.templatename>"
-
-
-# SERVER
-
-# Some server parameters that you may want to tweak
-# server.socketPort=8080
-
-# Disable the debug output at the end on pages.
-# logDebugInfoFilter.on = False
-
-server.environment="development"
-autoreload.package="beweb"
diff --git a/beweb/prod.cfg b/beweb/prod.cfg
deleted file mode 100644
index 21eb08e..0000000
--- a/beweb/prod.cfg
+++ /dev/null
@@ -1,33 +0,0 @@
-# This is where all of your settings go for your development environment
-
-[global]
-
-# DATABASE
-
-# pick the form for your database
-# sqlobject.dburi="postgres://username@hostname/databasename"
-# sqlobject.dburi="mysql://username:password@hostname:port/databasename"
-# sqlobject.dburi="sqlite:///file_name_and_path"
-
-# for Windows users, sqlite URIs look like:
-# sqlobject.dburi="sqlite:///drive_letter|/path/to/file"
-
-
-# VIEW
-
-# kid.outputformat="html"
-
-# The sitetemplate is used for overall styling of a site that
-# includes multiple TurboGears applications
-# tg.sitetemplate="<packagename.templates.templatename>"
-
-
-# Server configuration
-server.environment="production"
-server.logFile="server.log"
-server.logToScreen=False
-
-# if this is part of a larger site, you can set the path
-# to the TurboGears instance here
-# server.webpath=""
-
diff --git a/beweb/setup.py b/beweb/setup.py
deleted file mode 100644
index a382ed9..0000000
--- a/beweb/setup.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from setuptools import setup, find_packages
-from turbogears.finddata import find_package_data
-
-setup(
- name="Bugs Everywhere Web",
- version="1.0",
- #description="",
- #author="",
- #author_email="",
- #url="",
- install_requires = ["TurboGears >= 0.8a4"],
- scripts = ["beweb-start.py"],
- zip_safe=False,
- packages=find_packages(),
- package_data = find_package_data(where='beweb',
- package='beweb'),
- )
-