From 498f8057b742a7ceb9146db113644ae50b80cc76 Mon Sep 17 00:00:00 2001 From: philipp Date: Mon, 23 Aug 2010 22:03:05 +0000 Subject: [PATCH] Updated wradmin to use Pylons 0.10 instead of Pylons 0.9.7. git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/trunk/wradmin@582 7aebc617-e5e2-0310-91dc-80fb5f6d2477 --- wradmin/setup.py | 4 ++-- wradmin/wradmin/config/deployment.ini_tmpl | 2 +- wradmin/wradmin/config/environment.py | 16 ++++++++++++---- wradmin/wradmin/config/middleware.py | 12 +++++------- wradmin/wradmin/config/routing.py | 6 +++--- wradmin/wradmin/controllers/bericht.py | 6 +++--- wradmin/wradmin/controllers/coordtool.py | 10 +++++----- wradmin/wradmin/controllers/gasthaus.py | 6 +++--- wradmin/wradmin/controllers/map.py | 4 ++-- wradmin/wradmin/controllers/rodelbahn.py | 6 +++--- wradmin/wradmin/controllers/wrgpxtool.py | 4 ++-- wradmin/wradmin/lib/app_globals.py | 6 +++++- wradmin/wradmin/lib/base.py | 6 +++--- wradmin/wradmin/lib/helpers.py | 2 +- wradmin/wradmin/templates/bericht_list.html | 2 +- wradmin/wradmin/templates/bericht_view.html | 4 ++-- wradmin/wradmin/templates/coordtool.html | 2 +- wradmin/wradmin/templates/gasthaus_list.html | 4 ++-- wradmin/wradmin/templates/index.html | 12 ++++++------ wradmin/wradmin/templates/maptool.html | 16 ++++++++-------- wradmin/wradmin/templates/master.html | 18 +++++++++--------- wradmin/wradmin/templates/rodelbahn_list.html | 4 ++-- wradmin/wradmin/templates/rodelbahn_view.html | 2 +- wradmin/wradmin/templates/wrgpxtool.html | 6 +++--- wradmin/wradmin/tests/__init__.py | 11 +++++------ wradmin/wradmin/websetup.py | 6 ++++-- 26 files changed, 94 insertions(+), 83 deletions(-) diff --git a/wradmin/setup.py b/wradmin/setup.py index 6e8a485..2af8630 100644 --- a/wradmin/setup.py +++ b/wradmin/setup.py @@ -13,11 +13,11 @@ setup( author_email='philipp.spitzer@winterrodeln.org', url='http://www.winterrodeln.org/', install_requires=[ - "Pylons>=0.9.7", + "Pylons>=0.10", + "SQLAlchemy>=0.5", "Genshi>=0.4", "MySQL-python>=1.2", "AuthKit>=0.4.3,<=0.4.99", - "SQLAlchemy>=0.5", "lxml>=2.2", # "matplotlib>=0.9", "Babel>=0.9" diff --git a/wradmin/wradmin/config/deployment.ini_tmpl b/wradmin/wradmin/config/deployment.ini_tmpl index 8fd5e05..095acad 100644 --- a/wradmin/wradmin/config/deployment.ini_tmpl +++ b/wradmin/wradmin/config/deployment.ini_tmpl @@ -67,4 +67,4 @@ level = NOTSET formatter = generic [formatter_generic] -format = %(asctime)s %(levelname)-5.5s [%(name)s] %(message)s +format = %(asctime)s %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s diff --git a/wradmin/wradmin/config/environment.py b/wradmin/wradmin/config/environment.py index 843b198..7594302 100644 --- a/wradmin/wradmin/config/environment.py +++ b/wradmin/wradmin/config/environment.py @@ -2,7 +2,7 @@ import os from genshi.template import TemplateLoader -from pylons import config +from pylons.configuration import PylonsConfig from sqlalchemy import engine_from_config import wradmin.lib.app_globals as app_globals @@ -14,6 +14,8 @@ def load_environment(global_conf, app_conf): """Configure the Pylons environment via the ``pylons.config`` object """ + config = PylonsConfig() + # Pylons paths root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) paths = dict(root=root, @@ -24,9 +26,14 @@ def load_environment(global_conf, app_conf): # Initialize config with the basic options config.init_app(global_conf, app_conf, package='wradmin', paths=paths) - config['routes.map'] = make_map() - config['pylons.app_globals'] = app_globals.Globals() + config['routes.map'] = make_map(config) + config['pylons.app_globals'] = app_globals.Globals(config) config['pylons.h'] = wradmin.lib.helpers + + # Setup cache object as early as possible + import pylons + pylons.cache._push_object(config['pylons.app_globals'].cache) + # Create the Genshi TemplateLoader config['pylons.app_globals'].genshi_loader = TemplateLoader( @@ -38,4 +45,5 @@ def load_environment(global_conf, app_conf): # CONFIGURATION OPTIONS HERE (note: all config options will override # any Pylons config options) - config['pylons.strict_c'] = True \ No newline at end of file + + return config diff --git a/wradmin/wradmin/config/middleware.py b/wradmin/wradmin/config/middleware.py index 4f8a31e..cc2ccb3 100644 --- a/wradmin/wradmin/config/middleware.py +++ b/wradmin/wradmin/config/middleware.py @@ -1,10 +1,9 @@ """Pylons middleware initialization""" -from beaker.middleware import CacheMiddleware, SessionMiddleware +from beaker.middleware import SessionMiddleware from paste.cascade import Cascade from paste.registry import RegistryManager from paste.urlparser import StaticURLParser from paste.deploy.converters import asbool -from pylons import config from pylons.middleware import ErrorHandler, StatusCodeRedirect from pylons.wsgiapp import PylonsApp from routes.middleware import RoutesMiddleware @@ -38,15 +37,14 @@ def make_app(global_conf, full_stack=True, static_files=True, **app_conf): """ # Configure the Pylons environment - load_environment(global_conf, app_conf) + config = load_environment(global_conf, app_conf) # The Pylons WSGI app - app = PylonsApp() + app = PylonsApp(config=config) - # Routing/Session/Cache Middleware + # Routing/Session Middleware app = RoutesMiddleware(app, config['routes.map']) app = SessionMiddleware(app, config) - app = CacheMiddleware(app, config) # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) @@ -74,5 +72,5 @@ def make_app(global_conf, full_stack=True, static_files=True, **app_conf): # Serve static files static_app = StaticURLParser(config['pylons.paths']['static_files']) app = Cascade([static_app, app]) - + app.config = config return app diff --git a/wradmin/wradmin/config/routing.py b/wradmin/wradmin/config/routing.py index 2c038fb..8dfa3dc 100644 --- a/wradmin/wradmin/config/routing.py +++ b/wradmin/wradmin/config/routing.py @@ -4,14 +4,14 @@ The more specific and detailed routes should be defined first so they may take precedent over the more generic routes. For more information refer to the routes manual at http://routes.groovie.org/docs/ """ -from pylons import config from routes import Mapper -def make_map(): +def make_map(config): """Create, configure and return the routes Mapper""" map = Mapper(directory=config['pylons.paths']['controllers'], - always_scan=config['debug'], explicit=True) + always_scan=config['debug']) map.minimization = False + map.explicit = False # The ErrorController route (handles 404/500 error pages); it should # likely stay at the top, ensuring it can always be resolved diff --git a/wradmin/wradmin/controllers/bericht.py b/wradmin/wradmin/controllers/bericht.py index a004d2b..a4464fa 100644 --- a/wradmin/wradmin/controllers/bericht.py +++ b/wradmin/wradmin/controllers/bericht.py @@ -1,8 +1,8 @@ # -*- coding: iso-8859-15 -*- import logging -from pylons import request, response, session, tmpl_context as c -from pylons.controllers.util import abort, redirect_to +from pylons import request, response, session, url, tmpl_context as c +from pylons.controllers.util import abort, redirect import webhelpers.paginate as paginate from wradmin.lib.base import BaseController, render @@ -80,7 +80,7 @@ class BerichtController(BaseController): model.meta.Session.commit() session['flash'] = u'Datum wurde erfolgreich geändert' session.save() - return redirect_to(controller='bericht', action='view', id=id) + return redirect(url(controller='bericht', action='view', id=id)) def new(self, id): diff --git a/wradmin/wradmin/controllers/coordtool.py b/wradmin/wradmin/controllers/coordtool.py index 1933637..7dc1145 100644 --- a/wradmin/wradmin/controllers/coordtool.py +++ b/wradmin/wradmin/controllers/coordtool.py @@ -3,8 +3,8 @@ import logging -from pylons import request, response, session, tmpl_context as c -from pylons.controllers.util import abort, redirect_to +from pylons import request, response, session, url, tmpl_context as c +from pylons.controllers.util import abort, redirect import formencode from wradmin.lib.base import BaseController, render @@ -31,14 +31,14 @@ class CoordtoolController(BaseController): if input is None or len(input.strip()) == 0: c.result = None - return redirect_to(controller='coordtool', action='index') + return redirect(url(controller='coordtool', action='index')) geo = wradmin.model.validators.MultiGeo() try: c.result = geo.to_python(input) except formencode.Invalid, e: session['flash'] = unicode(e) session.save() - return redirect_to(controller='coordtool', action='index') + return redirect(url(controller='coordtool', action='index')) if swap_latlon: c.result = [(latitude, longitude, elevation) for (longitude, latitude, elevation) in c.result] @@ -51,4 +51,4 @@ class CoordtoolController(BaseController): c.geo_gpx = wradmin.model.validators.MultiGeo(output_format = geo.FORMAT_GPX) c.geo_geocaching = wradmin.model.validators.MultiGeo(output_format = geo.FORMAT_GEOCACHING) - return render('coordtool.html') \ No newline at end of file + return render('coordtool.html') diff --git a/wradmin/wradmin/controllers/gasthaus.py b/wradmin/wradmin/controllers/gasthaus.py index 0381379..83d20d2 100644 --- a/wradmin/wradmin/controllers/gasthaus.py +++ b/wradmin/wradmin/controllers/gasthaus.py @@ -2,8 +2,8 @@ # -*- coding: iso-8859-15 -*- import logging -from pylons import request, response, session, tmpl_context as c -from pylons.controllers.util import abort, redirect_to +from pylons import request, response, session, url, tmpl_context as c +from pylons.controllers.util import abort, redirect import webhelpers.paginate as paginate from wradmin.lib.base import BaseController, render @@ -98,4 +98,4 @@ class GasthausController(BaseController): if error_msg == '': session['flash'] = u'Die Gasthausliste wurde erfolgreich aktualisiert.' else: session['flash'] = error_msg session.save() - return redirect_to(controller='gasthaus', action='list') + return redirect(url(controller='gasthaus', action='list')) diff --git a/wradmin/wradmin/controllers/map.py b/wradmin/wradmin/controllers/map.py index 8d64208..2c2ffe0 100644 --- a/wradmin/wradmin/controllers/map.py +++ b/wradmin/wradmin/controllers/map.py @@ -1,7 +1,7 @@ #!/usr/bin/python2.5 # -*- coding: iso-8859-15 -*- -from pylons import request, response, session, tmpl_context as c -from pylons.controllers.util import abort, redirect_to +from pylons import request, response, session, url, tmpl_context as c +from pylons.controllers.util import abort, redirect from wradmin.lib.base import BaseController, render import wradmin.model as model diff --git a/wradmin/wradmin/controllers/rodelbahn.py b/wradmin/wradmin/controllers/rodelbahn.py index 4a5ffb1..93fb478 100644 --- a/wradmin/wradmin/controllers/rodelbahn.py +++ b/wradmin/wradmin/controllers/rodelbahn.py @@ -2,8 +2,8 @@ # -*- coding: iso-8859-15 -*- import logging -from pylons import request, response, session, tmpl_context as c -from pylons.controllers.util import abort, redirect_to +from pylons import request, response, session, url, tmpl_context as c +from pylons.controllers.util import abort, redirect import webhelpers.paginate as paginate from wradmin.lib.base import BaseController, render @@ -122,4 +122,4 @@ class RodelbahnController(BaseController): if error_msg == '': session['flash'] = u'Die Rodelbahnliste wurde erfolgreich aktualisiert.' else: session['flash'] = error_msg session.save() - return redirect_to(controller='rodelbahn', action='list') + return redirect(url(controller='rodelbahn', action='list')) diff --git a/wradmin/wradmin/controllers/wrgpxtool.py b/wradmin/wradmin/controllers/wrgpxtool.py index 26f564f..fe49fe5 100644 --- a/wradmin/wradmin/controllers/wrgpxtool.py +++ b/wradmin/wradmin/controllers/wrgpxtool.py @@ -3,8 +3,8 @@ import logging -from pylons import request, response, session, tmpl_context as c -from pylons.controllers.util import abort, redirect_to +from pylons import request, response, session, url, tmpl_context as c +from pylons.controllers.util import abort, redirect from pylons.decorators.rest import restrict from wradmin.lib.base import BaseController, render diff --git a/wradmin/wradmin/lib/app_globals.py b/wradmin/wradmin/lib/app_globals.py index 8e62241..2366bba 100644 --- a/wradmin/wradmin/lib/app_globals.py +++ b/wradmin/wradmin/lib/app_globals.py @@ -1,5 +1,8 @@ """The application's Globals object""" +from beaker.cache import CacheManager +from beaker.util import parse_cache_config_options + class Globals(object): """Globals acts as a container for objects available throughout the @@ -7,9 +10,10 @@ class Globals(object): """ - def __init__(self): + def __init__(self, config): """One instance of Globals is created during application initialization and is available during requests via the 'app_globals' variable """ + self.cache = CacheManager(**parse_cache_config_options(config)) diff --git a/wradmin/wradmin/lib/base.py b/wradmin/wradmin/lib/base.py index c1a36dc..13647d2 100644 --- a/wradmin/wradmin/lib/base.py +++ b/wradmin/wradmin/lib/base.py @@ -4,7 +4,8 @@ Provides the BaseController class for subclassing. """ from pylons.controllers import WSGIController from pylons.templating import render_genshi as render -from wradmin.model import meta + +from wradmin.model.meta import Session class BaseController(WSGIController): @@ -16,5 +17,4 @@ class BaseController(WSGIController): try: return WSGIController.__call__(self, environ, start_response) finally: - meta.Session.remove() - + Session.remove() diff --git a/wradmin/wradmin/lib/helpers.py b/wradmin/wradmin/lib/helpers.py index 585cd44..a5c4413 100644 --- a/wradmin/wradmin/lib/helpers.py +++ b/wradmin/wradmin/lib/helpers.py @@ -6,7 +6,7 @@ available to Controllers. This module is available to templates as 'h'. # Import helpers as desired, or define your own, ie: #from webhelpers.html.tags import checkbox, password -from routes import url_for +from pylons import url import wradmin.model.validators from webhelpers.html.tags import file, form, end_form, submit diff --git a/wradmin/wradmin/templates/bericht_list.html b/wradmin/wradmin/templates/bericht_list.html index e5d91e1..c444005 100644 --- a/wradmin/wradmin/templates/bericht_list.html +++ b/wradmin/wradmin/templates/bericht_list.html @@ -28,7 +28,7 @@ Gelöscht - ${r.id} + ${r.id} ${r.page_title} ${r.date_entry} ${r.date_invalid} diff --git a/wradmin/wradmin/templates/bericht_view.html b/wradmin/wradmin/templates/bericht_view.html index a78ef7b..a4ac5ec 100644 --- a/wradmin/wradmin/templates/bericht_view.html +++ b/wradmin/wradmin/templates/bericht_view.html @@ -26,7 +26,7 @@ Der Bericht wurde am ${c.wrreport.date_report} abgegeben. Seiten-ID (Rodelbahn-ID) - ${c.wrreport.page_id} + ${c.wrreport.page_id} Datum für Bericht @@ -99,7 +99,7 @@ Der Bericht wurde am ${c.wrreport.date_report} abgegeben.

Anzeigedauer des Rodelbahnberichts ändern

-
+ diff --git a/wradmin/wradmin/templates/coordtool.html b/wradmin/wradmin/templates/coordtool.html index afd3e27..6d1e6ed 100644 --- a/wradmin/wradmin/templates/coordtool.html +++ b/wradmin/wradmin/templates/coordtool.html @@ -36,7 +36,7 @@ ${c.geo_geocaching.from_python([line])}

- +
Enddatum
Beispiel