diff --git a/attic/config/__init__.py b/attic/config/__init__.py deleted file mode 100644 index 7900219..0000000 --- a/attic/config/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service config package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/attic/config/deployment.ini_tmpl b/attic/config/deployment.ini_tmpl deleted file mode 100644 index 116ca29..0000000 --- a/attic/config/deployment.ini_tmpl +++ /dev/null @@ -1,60 +0,0 @@ -# -# Debian Member Portfolio Service - Pylons configuration -# -# The %(here)s variable will be replaced with the parent directory of this file -# -[DEFAULT] -debug = true -email_to = you@yourdomain.com -smtp_server = localhost -error_email_from = paste@localhost - -[server:main] -use = egg:Paste#http -host = 0.0.0.0 -port = 5000 - -[app:main] -use = egg:debianmemberportfolio -full_stack = true -static_files = true - -cache_dir = %(here)s/data -beaker.session.key = debianmemberportfolio -beaker.session.secret = ${app_instance_secret} -app_instance_uuid = ${app_instance_uuid} - -# If you'd like to fine-tune the individual locations of the cache data dirs -# for the Cache data, or the Session saves, un-comment the desired settings -# here: -#beaker.cache.data_dir = %(here)s/data/cache -#beaker.session.data_dir = %(here)s/data/sessions - -# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* -# Debug mode will enable the interactive debugging tool, allowing ANYONE to -# execute malicious code after an exception is raised. -set debug = false - - -# Logging configuration -[loggers] -keys = root - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = INFO -handlers = console - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(asctime)s %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s diff --git a/attic/config/environment.py b/attic/config/environment.py deleted file mode 100644 index feabd91..0000000 --- a/attic/config/environment.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service environment configuration -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Pylons environment configuration - -""" - -import os - -from mako.lookup import TemplateLookup -from pylons.configuration import PylonsConfig -from pylons.error import handle_mako_error - -import debianmemberportfolio.lib.app_globals as app_globals -import debianmemberportfolio.lib.helpers -from debianmemberportfolio.config.routing import make_map - - -def load_environment(global_conf, app_conf): - """ - Configures 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, - controllers=os.path.join(root, 'controllers'), - static_files=os.path.join(root, 'public'), - templates=[os.path.join(root, 'templates')]) - - # Initialize config with the basic options - config.init_app( - global_conf, app_conf, package='debianmemberportfolio', paths=paths) - - config['routes.map'] = make_map(config) - config['pylons.app_globals'] = app_globals.Globals(config) - config['pylons.h'] = debianmemberportfolio.lib.helpers - - # Setup cache object as early as possible - import pylons - pylons.cache._push_object(config['pylons.app_globals'].cache) - - # Create the Mako TemplateLookup, with the default auto-escaping - config['pylons.app_globals'].mako_lookup = TemplateLookup( - directories=paths['templates'], - error_handler=handle_mako_error, - module_directory=os.path.join(app_conf['cache_dir'], 'templates'), - input_encoding='utf-8', default_filters=['escape'], - imports=['from webhelpers.html import escape']) - - # CONFIGURATION OPTIONS HERE (note: all config options will override - # any Pylons config options) - - return config diff --git a/attic/config/middleware.py b/attic/config/middleware.py deleted file mode 100644 index 9dd80ae..0000000 --- a/attic/config/middleware.py +++ /dev/null @@ -1,95 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service middleware configuration -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Pylons middleware initialization - -""" - -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.middleware import ErrorHandler, StatusCodeRedirect -from pylons.wsgiapp import PylonsApp -from routes.middleware import RoutesMiddleware - -from debianmemberportfolio.config.environment import load_environment - - -def make_app(global_conf, full_stack=True, static_files=True, **app_conf): - """ - Create a Pylons WSGI application and return it - - ``global_conf`` - The inherited configuration for this application. Normally from - the [DEFAULT] section of the Paste ini file. - - ``full_stack`` - Whether this application provides a full WSGI stack (by default, - meaning it handles its own exceptions and errors). Disable - full_stack when this application is "managed" by another WSGI - middleware. - - ``static_files`` - Whether this application serves its own static files; disable - when another web server is responsible for serving them. - - ``app_conf`` - The application's local configuration. Normally specified in - the [app:] section of the Paste ini file (where - defaults to main). - - """ - # Configure the Pylons environment - config = load_environment(global_conf, app_conf) - - # The Pylons WSGI app - app = PylonsApp(config=config) - - # Routing/Session/Cache Middleware - app = RoutesMiddleware(app, config['routes.map']) - app = SessionMiddleware(app, config) - - # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) - - if asbool(full_stack): - # Handle Python exceptions - app = ErrorHandler(app, global_conf, **config['pylons.errorware']) - - # Display error documents for 401, 403, 404 status codes (and - # 500 when debug is disabled) - if asbool(config['debug']): - app = StatusCodeRedirect(app) - else: - app = StatusCodeRedirect(app, [400, 401, 403, 404, 500]) - - # Establish the Registry for this application - app = RegistryManager(app) - - if asbool(static_files): - # Serve static files - static_app = StaticURLParser(config['pylons.paths']['static_files']) - app = Cascade([static_app, app]) - app.config = config - return app diff --git a/attic/config/routing.py b/attic/config/routing.py deleted file mode 100644 index 39a9d38..0000000 --- a/attic/config/routing.py +++ /dev/null @@ -1,58 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service routing configuration -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Routes configuration - -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 https://routes.readthedocs.org/ - -""" - -from routes import Mapper - - -def make_map(config): - """ - Create, configure and return the routes Mapper - - """ - map = Mapper(directory=config['pylons.paths']['controllers'], - always_scan=config['debug'], explicit=True) - map.minimization = False - - # The ErrorController route (handles 404/500 error pages); it should - # likely stay at the top, ensuring it can always be resolved - map.connect('/error/{action}', controller='error') - map.connect('/error/{action}/{id}', controller='error') - - # CUSTOM ROUTES HERE - map.connect('/', controller='portfolio', action='index') - map.connect('/result', controller='portfolio', action='urllist') - map.connect('/htmlformhelper.js', controller='showformscripts', - action='index') - - map.connect('/{controller}/{action}') - map.connect('/{controller}/{action}/{id}') - - return map diff --git a/debianmemberportfolio/controllers/__init__.py b/debianmemberportfolio/controllers/__init__.py deleted file mode 100644 index eda4d33..0000000 --- a/debianmemberportfolio/controllers/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service controllers package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/debianmemberportfolio/controllers/error.py b/debianmemberportfolio/controllers/error.py deleted file mode 100644 index 4047bb5..0000000 --- a/debianmemberportfolio/controllers/error.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service ErrorController -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -import cgi - -from paste.urlparser import PkgResourcesParser -from pylons import request -from pylons.controllers.util import forward -from pylons.middleware import error_document_template -from webhelpers.html.builder import literal - -from debianmemberportfolio.lib.base import BaseController - - -class ErrorController(BaseController): - """Generates error documents as and when they are required. - - The ErrorDocuments middleware forwards to ErrorController when error - related status codes are returned from the application. - - This behaviour can be altered by changing the parameters to the - ErrorDocuments middleware in your config/middleware.py file. - """ - - def document(self): - """Render the error document""" - resp = request.environ.get('pylons.original_response') - content = literal(resp.body) or cgi.escape( - request.GET.get('message', '')) - page = error_document_template % \ - dict(prefix=request.environ.get('SCRIPT_NAME', ''), - code=cgi.escape( - request.GET.get('code', str(resp.status_int))), - message=content) - return page - - def img(self, id): - """Serve Pylons' stock images""" - return self._serve_file('/'.join(['media/img', id])) - - def style(self, id): - """Serve Pylons' stock stylesheets""" - return self._serve_file('/'.join(['media/style', id])) - - def _serve_file(self, path): - """ - Call Paste's FileApp (a WSGI application) to serve the file at - the specified path - """ - request.environ['PATH_INFO'] = '/%s' % path - return forward(PkgResourcesParser('pylons', 'pylons')) diff --git a/debianmemberportfolio/controllers/portfolio.py b/debianmemberportfolio/controllers/portfolio.py deleted file mode 100644 index 5539edc..0000000 --- a/debianmemberportfolio/controllers/portfolio.py +++ /dev/null @@ -1,212 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service PortfolioController -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This module defines the PortfolioController class used to render the portfolio -of a person. -""" - -import logging -import simplejson - -from pylons import request, response, tmpl_context as c -from pylons.i18n import N_, _ -import formencode.api -import formencode.validators - -from debianmemberportfolio.lib.base import BaseController, render -from debianmemberportfolio.model.form import DDDataRequest, DeveloperData -from debianmemberportfolio.model.urlbuilder import build_urls -from debianmemberportfolio.model import dddatabuilder - -log = logging.getLogger(__name__) - - -class PortfolioController(BaseController): - """ - Main controller for the Debian Member Portfolio Service. - """ - #: This dictionary defines groups of labeled portfolio items. - _LABELS = { - 'overview': { - 'label': N_('Overview'), - 'ddpo': N_("Debian Member's Package Overview"), - 'alladdresses': N_("""Debian Member's Package Overview -... showing all email addresses"""), - }, - 'bugs': { - 'label': N_('Bugs'), - 'received': N_('''bugs received -(note: co-maintainers not listed, see \ -#430986)'''), - 'reported': N_('bugs reported'), - 'usertags': N_('user tags'), - 'searchall': N_('all messages (i.e., full text search for \ -developer name on all bug logs)'), - 'wnpp': N_('WNPP'), - 'correspondent': N_('correspondent for bugs'), - 'graph': N_('one year open bug history graph'), - }, - 'build': { - 'label': N_('Build'), - 'buildd': N_('buildd.d.o'), - 'igloo': N_('igloo'), - }, - 'qa': { - 'label': N_('Quality Assurance'), - 'dmd': N_('maintainer dashboard'), - 'lintian': N_('lintian reports'), - 'lintianfull': N_('full lintian reports (i.e. including \ -"info"-level messages)'), - 'piuparts': N_('piuparts'), - 'patchtracker': N_('Debian patch tracking system'), - 'duck': N_('Debian Url ChecKer'), - }, - 'lists': { - 'label': N_('Mailing Lists'), - 'dolists': N_('lists.d.o'), - 'adolists': N_('lists.a.d.o'), - 'gmane': N_('gmane'), - }, - 'files': { - 'label': N_('Files'), - 'people': N_('people.d.o'), - 'oldpeople': N_('oldpeople'), - 'alioth': N_('Alioth'), - }, - 'membership': { - 'label': N_('Membership'), - 'nm': N_('NM'), - 'dbfinger': N_('DB information via finger'), - 'db': N_('DB information via HTTP'), - 'webid': N_('FOAF profile'), - 'alioth': N_('Alioth'), - 'wiki': N_('Wiki'), - 'forum': N_('Forum'), - }, - 'miscellaneous': { - 'label': N_('Miscellaneous'), - 'debtags': N_('debtags'), - 'planetname': N_('Planet Debian (name)'), - 'planetuser': N_('Planet Debian (username)'), - 'links': N_('links'), - 'website': N_('Debian website'), - 'search': N_('Debian search'), - 'gpgfinger': N_('GPG public key via finger'), - 'gpgweb': N_('GPG public key via HTTP'), - 'nm': N_('NM, AM participation'), - 'contrib': N_('Contribution information'), - }, - 'ssh': { - 'label': N_('Information reachable via ssh (for Debian Members)'), - 'owndndoms': N_('owned debian.net domains'), - 'miainfo': N_('MIA database information'), - 'groupinfo': N_('Group membership information'), - }, - 'ubuntu': { - 'label': N_('Ubuntu'), - 'ubuntudiff': N_('Available patches from Ubuntu'), - }, - } - - #: list of field name tuples for Debian Maintainers - DM_TUPLES = (('name', 'name'), - ('gpgfp', 'gpgfp'), - ('nonddemail', 'email')) - - #: list of field name tuples for Debian Developers - DD_TUPLES = (('username', 'username'), - ('aliothusername', 'username')) - - def _get_label(self, section, url=None): - if section in self._LABELS: - if url: - if url in self._LABELS[section]: - return self._LABELS[section][url] - elif 'label' in self._LABELS[section]: - return self._LABELS[section]['label'] - if url: - return "%s.%s" % (section, url) - return section - - def index(self): - """ - Render the input form. - """ - return render('/showform.mako') - - def _build_request_params(self): - schema = DDDataRequest() - formencode.api.set_stdtranslation( - domain="FormEncode", - languages=[lang[0:2] for lang in request.languages]) - form_result = schema.to_python(request.params) - fields = dddatabuilder.build_data(form_result['email']) - rp = request.params.copy() - - if fields['type'] in (dddatabuilder.TYPE_DD, dddatabuilder.TYPE_DM): - for tuple in self.DM_TUPLES: - if not tuple[0] in rp or not rp[tuple[0]]: - rp[tuple[0]] = fields[tuple[1]] - if fields['type'] == dddatabuilder.TYPE_DD: - for tuple in self.DD_TUPLES: - if not tuple[0] in rp or not rp[tuple[0]]: - rp[tuple[0]] = fields[tuple[1]] - - return rp - - def urllist(self): - """Handle the actual data.""" - try: - rp = self._build_request_params() - except formencode.validators.Invalid as error: - c.messages = {'errors': error.unpack_errors()} - return render('/showform.mako') - - schema = DeveloperData() - try: - formencode.api.set_stdtranslation( - domain="FormEncode", - languages=[lang[0:2] for lang in request.languages]) - form_result = schema.to_python(rp) - except formencode.validators.Invalid, error: - c.messages = {'errors': error.unpack_errors()} - return render('/showform.mako') - if form_result['wikihomepage'] is None: - log.debug('generate wikihomepage from name') - form_result['wikihomepage'] = "".join( - [part.capitalize() for part in form_result['name'].split()]) - data = build_urls(form_result) - if form_result['mode'] == 'json': - response.headers['Content-Type'] = 'text/javascript' - return simplejson.dumps( - dict([("%s.%s" % (entry[1], entry[2].name), entry[3]) - for entry in data if entry[0] == 'url'])) - for entry in data: - if entry[0] in ('url', 'error'): - entry.append(_(self._get_label(entry[1], entry[2].name))) - elif entry[0] == 'section': - entry.append(_(self._get_label(entry[1]))) - c.urldata = data - return render('/showurls.mako') diff --git a/debianmemberportfolio/controllers/showformscripts.py b/debianmemberportfolio/controllers/showformscripts.py deleted file mode 100644 index 1e906a2..0000000 --- a/debianmemberportfolio/controllers/showformscripts.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service ShowformscriptsController. -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This file defines the ShowformscriptsController used to generate the JavaScript -code in forms. -""" - -import logging -import simplejson - -from pylons import request, response -from pylons.controllers.util import abort - -import formencode.api -import formencode.validators - -from debianmemberportfolio.lib.base import BaseController, render -from debianmemberportfolio.model.form import DDDataRequest -from debianmemberportfolio.model import dddatabuilder - -log = logging.getLogger(__name__) - - -class ShowformscriptsController(BaseController): - """This controller is used to support data entry in showform. - - It provides code for generating JavaScript as well as JSON - responses for autocompletion of fields.""" - - def index(self): - """ - This action generates the helper script for the showform page. - """ - response.headers['Content-Type'] = 'text/javascript; charset=utf-8' - return render('/showformscript.mako') - - def fetchdddata(self): - """ - This action fetches the data for a given mail address and - returns them as JSON. - """ - schema = DDDataRequest() - try: - formencode.api.set_stdtranslation( - domain="FormEncode", - languages=[lang[0:2] for lang in request.languages]) - form_result = schema.to_python(request.params) - except formencode.validators.Invalid, error: - errors = error.unpack_errors() - abort(400, "\n".join( - ["%s: %s" % (key, errors[key]) for key in errors])) - fields = dddatabuilder.build_data(form_result['email']) - log.debug(fields) - response.headers['Content-Type'] = 'text/plain' - return simplejson.dumps(fields) diff --git a/debianmemberportfolio/controllers/template.py b/debianmemberportfolio/controllers/template.py deleted file mode 100644 index b1f53e1..0000000 --- a/debianmemberportfolio/controllers/template.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service TemplateController -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This file contains the TemplateController used to render templates. -""" - -from debianmemberportfolio.lib.base import BaseController -from pylons.controllers.util import abort - - -class TemplateController(BaseController): - - def view(self, url): - """By default, the final controller tried to fulfill the request - when no other routes match. It may be used to display a template - when all else fails, e.g.:: - - def view(self, url): - return render('/%s' % url) - - Or if you're using Mako and want to explicitly send a 404 (Not - Found) response code when the requested template doesn't exist:: - - import mako.exceptions - - def view(self, url): - try: - return render('/%s' % url) - except mako.exceptions.TopLevelLookupException: - abort(404) - - By default this controller aborts the request with a 404 (Not - Found) - """ - abort(404) diff --git a/debianmemberportfolio/lib/__init__.py b/debianmemberportfolio/lib/__init__.py deleted file mode 100644 index 4937320..0000000 --- a/debianmemberportfolio/lib/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service lib package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/debianmemberportfolio/lib/app_globals.py b/debianmemberportfolio/lib/app_globals.py deleted file mode 100644 index cb4ea2b..0000000 --- a/debianmemberportfolio/lib/app_globals.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service application Globals -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -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 - life of the application - """ - - 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/debianmemberportfolio/lib/base.py b/debianmemberportfolio/lib/base.py deleted file mode 100644 index 7746e92..0000000 --- a/debianmemberportfolio/lib/base.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service base controller -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -The base Controller API - -Provides the BaseController class for subclassing. -""" -from pylons import tmpl_context as c, request -from pylons.controllers import WSGIController -from pylons.i18n import add_fallback -from pylons.templating import render_mako as render - - -class BaseController(WSGIController): - - def __call__(self, environ, start_response): - """Invoke the Controller""" - # WSGIController.__call__ dispatches to the Controller method - # the request is routed to. This routing information is - # available in environ['pylons.routes_dict'] - # set language environment - try: - languages = request.languages - for lang in languages: - try: - add_fallback(lang.replace('-', '_')) - except: - pass - except: - pass - c.messages = {'errors': [], 'messages': []} - return WSGIController.__call__(self, environ, start_response) - - -__all__ = ['BaseController', 'render'] diff --git a/debianmemberportfolio/lib/helpers.py b/debianmemberportfolio/lib/helpers.py deleted file mode 100644 index 9bcb5e2..0000000 --- a/debianmemberportfolio/lib/helpers.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service webhelpers -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -# pymode:lint_ignore=W0611 -# -"""Helper functions - -Consists of functions to typically be used within templates, but also -available to Controllers. This module is available to templates as 'h'. -""" -from webhelpers.html.builder import escape, literal -from webhelpers.html.tags import stylesheet_link, javascript_link, image, \ - form, text, radio, submit, end_form, link_to, checkbox -from webhelpers.text import truncate -from webhelpers.textile import textile -from pylons import url diff --git a/debianmemberportfolio/model/form.py b/debianmemberportfolio/model/form.py deleted file mode 100644 index b10ad95..0000000 --- a/debianmemberportfolio/model/form.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service form handling model -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This file contains the form definitions used in the controllers. -""" - -import formencode - - -class DeveloperData(formencode.Schema): - """Validation schema for DeveloperData.""" - allow_extra_fields = True - filter_extra_fields = True - email = formencode.validators.Email(not_empty=True) - name = formencode.validators.String(not_empty=True) - gpgfp = formencode.All(formencode.validators.PlainText(), - formencode.validators.MinLength(32), - formencode.validators.MaxLength(40)) - username = formencode.validators.PlainText() - nonddemail = formencode.validators.Email() - aliothusername = formencode.validators.PlainText() - mode = formencode.validators.OneOf([u'json', u'html'], if_missing=u'html') - forumsid = formencode.validators.Int(if_missing=None) - wikihomepage = formencode.validators.String(if_missing=None) - - -class DDDataRequest(formencode.Schema): - """Validation schema for DDData request.""" - allow_extra_fields = True - filter_extra_fields = False - email = formencode.validators.Email(not_empty=True) diff --git a/debianmemberportfolio/templates/base.mako b/debianmemberportfolio/templates/base.mako deleted file mode 100644 index 4df882f..0000000 --- a/debianmemberportfolio/templates/base.mako +++ /dev/null @@ -1,52 +0,0 @@ -## -*- coding: utf-8 -*- \ - -<%doc> -Base template for XHTML templates. -Copyright © 2009-2014 Jan Dittberner - -This file is part of the Debian Member Portfolio service. - -Debian Member Portfolio service is free software: you can redistribute it -and/or modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Debian Member Portfolio service is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -General Public License for more details. - -You should have received a copy of the GNU Affero General Public License along -with this program. If not, see . - - - - ${_('Debian Member Portfolio Service')}${self.titleaddon()} - ${h.stylesheet_link(h.url('/stylesheets/style.css'))} - ${self.extrahead()} - - - -
- ${self.body()} -
- - - - - -<%def name="extrahead()"> diff --git a/debianmemberportfolio/templates/showformscript.mako b/debianmemberportfolio/templates/showformscript.mako deleted file mode 100644 index 9cac439..0000000 --- a/debianmemberportfolio/templates/showformscript.mako +++ /dev/null @@ -1,122 +0,0 @@ -## -*- coding: utf-8 -*- \ -<%doc> -Helper JavaScript for the data input form. -Copyright © 2009, 2010, 2015 Jan Dittberner - -This file is part of DDPortfolio service. - -DDPortfolio service is free software: you can redistribute it and/or -modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the -License, or (at your option) any later version. - -DDPortfolio service is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public -License along with this program. If not, see -. -\ - -var defaulthiddendivs = new Array( - '#namefield', '#gpgfpfield', '#usernamefield', '#nonddemailfield', - '#aliothusernamefield', '#wikihomepagefield', '#forumsidfield'); -var maskedfielddivs = new Array( - '#namefield', '#gpgfpfield', '#usernamefield', '#nonddemailfield', - '#aliothusernamefield', '#wikihomepagefield', '#forumsidfield'); -var allfielddivs = new Array( - '#namefield', '#gpgfpfield', '#usernamefield', '#nonddemailfield', - '#aliothusernamefield', '#wikihomepagefield', '#forumsidfield'); - -function updateFields(data, textStatus) { - if (data.type == 2) { // DD - $('#name').attr('value', data.name).attr('readonly', 'readonly'); - $('#gpgfp').attr('value', data.gpgfp); - $('#username').attr('value', data.username).attr( - 'readonly', 'readonly'); - $('#nonddemail').attr('value', data.email).focus(); - $('#aliothusername').attr('value', data.username); - $('#wikihomepage').attr('value', data.wikihomepage); - - $('#namefield').show(); - $('#gpgfpfield').show(); - $('#usernamefield').show(); - $('#nonddemailfield').show(); - $('#aliothusernamefield').show(); - $('#wikihomepagefield').show(); - $('#forumsidfield').show(); - - $('#nonddemail').focus().select(); - } else if (data.type == 1) { // DM - $('#name').attr('value', data.name).attr('readonly', 'readonly'); - $('#gpgfp').attr('value', data.gpgfp); - $('#username').attr('value', ''); - $('#nonddemail').attr('value', data.email).focus(); - $('#wikihomepage').attr('value', data.wikihomepage); - - $('#namefield').show(); - $('#gpgfpfield').show(); - $('#usernamefield').hide(); - $('#nonddemailfield').hide(); - $('#aliothusernamefield').show(); - $('#wikihomepagefield').show(); - $('#forumsidfield').show(); - - $('#aliothusername').focus().select(); - } else { - $('#nonddemail').attr('value', data.email); - $('#name').removeAttr('readonly'); - $('#username').removeAttr('readonly').attr('value', ''); - $('#gpgfp').attr('value', ''); - - $('#usernamefield').hide(); - $('#gpgfpfield').hide(); - $('#nonddemailfield').hide(); - $('#namefield').show(); - $('#aliothusernamefield').show(); - $('#wikihomepagefield').show(); - $('#forumsidfield').show(); - - $('#name').focus().select(); - } -} - -function onChangeShowAll(event) { - if ($('#showall').prop('checked')) { - for (var fielddiv in allfielddivs) { - $(allfielddivs[fielddiv]).show(); - } - } else { - for (var fielddiv in maskedfielddivs) { - $(maskedfielddivs[fielddiv]).hide(); - } - } -} - -function onBlurEmail() { - if ($.trim($('#email').prop('value')).length > 0) { - $.ajax({ - 'url' : '${h.url(controller="showformscripts", action="fetchdddata")}', - 'data' : {'email' : $('#email').prop('value')}, - 'dataType' : 'json', - 'success' : updateFields, - 'error' : function(request, textStatus, errorThrown) { - $('#email').focus(); - } - }); - } -} - -$(document).ready(function() { - for (var index in defaulthiddendivs) { - if (!$(defaulthiddendivs[index]).hasClass('witherrors')) { - $(defaulthiddendivs[index]).hide(); - } - } - - $('#showall').attr('checked', false).change(onChangeShowAll); - $('#showallfield').show(); - $('#email').blur(onBlurEmail).focus(); -}); diff --git a/debianmemberportfolio/templates/showurls.mako b/debianmemberportfolio/templates/showurls.mako deleted file mode 100644 index 65358fd..0000000 --- a/debianmemberportfolio/templates/showurls.mako +++ /dev/null @@ -1,67 +0,0 @@ -## -*- coding: utf-8 -*- -<%inherit file="base.mako" />\ -<%doc> -Template for the url output page. -Copyright © 2009-2014 Jan Dittberner - -This file is part of Debian Member Portfolio Service. - -Debian Member Portfolio Service is free software: you can redistribute it -and/or modify it under the terms of the GNU Affero General Public License as -published by the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -Debian Member Portfolio Service is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -General Public License for more details. - -You should have received a copy of the GNU Affero General Public License along -with this program. If not, see . -\ -<%def name="titleaddon()"> - - ${_('Your personal links')} - -% if c.urldata: -
- ${_('Debian Member Portfolio')} - - - - - - % for row in c.urldata: - % if row[0] == 'section': - - <% urlclass = 'odd' %> - % elif row[0] == 'error': - - - - - % else: - - - - - <% - if urlclass == 'odd': - urlclass = 'even' - else: - urlclass = 'odd' - %> - % endif - % endfor - -
${_('Usage')}${_('URL')}
${h.literal(h.textile(row[4]))}${_('Error during URL creation:')} - ${row[3].replace("\n", - '
')}
${h.literal(h.textile(row[4]))} - % if row[2].type == 'url': - ${h.link_to(h.truncate(row[3], length=120), row[3])} - % else: - ${row[3]} - % endif -
-
-% endif -

${h.link_to(_('Restart'), h.url(controller='portfolio', action='index'))}

diff --git a/debianmemberportfolio/tests/__init__.py b/debianmemberportfolio/tests/__init__.py deleted file mode 100644 index 31fbc54..0000000 --- a/debianmemberportfolio/tests/__init__.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service tests package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -Pylons application test package - -When the test runner finds and executes tests within this directory, this file -will be loaded to setup the test environment. - -It registers the root directory of the project in sys.path and pkg_resources, -in case the project hasn't been installed with setuptools. It also initializes -the application via websetup (paster setup-app) with the project's test.ini -configuration file. -""" - -from unittest import TestCase - -from paste.script.appinstall import SetupCommand -from pylons import url -from routes.util import URLGenerator -from webtest import TestApp - -import pylons.test - -__all__ = ['environ', 'url', 'TestController'] - -# Invoke websetup with the current config file -SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']]) - -environ = {} - - -class TestController(TestCase): - - def __init__(self, *args, **kwargs): - wsgiapp = pylons.test.pylonsapp - config = wsgiapp.config - self.app = TestApp(wsgiapp) - url._push_object(URLGenerator(config['routes.map'], environ)) - TestCase.__init__(self, *args, **kwargs) diff --git a/debianmemberportfolio/tests/functional/__init__.py b/debianmemberportfolio/tests/functional/__init__.py deleted file mode 100644 index 75697f6..0000000 --- a/debianmemberportfolio/tests/functional/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service functional tests package -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/debianmemberportfolio/tests/functional/test_portfolio.py b/debianmemberportfolio/tests/functional/test_portfolio.py deleted file mode 100644 index bebdbc8..0000000 --- a/debianmemberportfolio/tests/functional/test_portfolio.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service PortfolioController test -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This module defines test cases for the PortfolioController. -""" - -from debianmemberportfolio.tests import TestController, url - - -class TestPortfolioController(TestController): - """ - Test cases for PortfolioController. - """ - - def test_index(self): - """ - Test for the controller's index action. - """ - response = self.app.get(url(controller='portfolio', action='index')) - # Test response... - assert response.status_int == 200 - assert response.content_type == "text/html" - assert "Debian Member Portfolio Service" in response diff --git a/debianmemberportfolio/tests/functional/test_showformscripts.py b/debianmemberportfolio/tests/functional/test_showformscripts.py deleted file mode 100644 index d3da82a..0000000 --- a/debianmemberportfolio/tests/functional/test_showformscripts.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service ShowformscriptsController test -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -""" -This module defines test cases for the ShowformscriptsController. -""" - -from debianmemberportfolio.tests import TestController, url - - -class TestShowformscriptsController(TestController): - """ - Test cases for ShowformscriptsController. - """ - - def test_index(self): - """ - Test for the controller's index action. - """ - response = self.app.get( - url(controller='showformscripts', action='index')) - # Test response... - assert response.status_int == 200 - assert response.content_type == "text/javascript" - assert "function updateField" in response diff --git a/debianmemberportfolio/tests/test_models.py b/debianmemberportfolio/tests/test_models.py deleted file mode 100644 index 6d9b913..0000000 --- a/debianmemberportfolio/tests/test_models.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- python -*- -# -*- coding: utf-8 -*- -# -# Debian Member Portfolio Service model tests -# -# Copyright © 2009-2014 Jan Dittberner -# -# This file is part of the Debian Member Portfolio Service. -# -# Debian Member Portfolio Service is free software: you can redistribute it -# and/or modify it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the License, -# or (at your option) any later version. -# -# Debian Member Portfolio Service is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero -# General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# diff --git a/development.ini b/development.ini deleted file mode 100644 index db8dcc7..0000000 --- a/development.ini +++ /dev/null @@ -1,73 +0,0 @@ -# -# Debian Member Portfolio Service - Pylons development environment -# configuration -# -# The %(here)s variable will be replaced with the parent directory of this file -# -[DEFAULT] -debug = true -# Uncomment and replace with the address which should receive any error reports -#email_to = you@yourdomain.com -smtp_server = localhost -error_email_from = paste@localhost - -[server:main] -use = egg:Paste#http -host = 127.0.0.1 -port = 5000 - -[app:main] -use = egg:debianmemberportfolio -full_stack = true -static_files = true - -cache_dir = %(here)s/data -beaker.session.key = debianmemberportfolio -beaker.session.secret = somesecret - -# If you'd like to fine-tune the individual locations of the cache data dirs -# for the Cache data, or the Session saves, un-comment the desired settings -# here: -#beaker.cache.data_dir = %(here)s/data/cache -#beaker.session.data_dir = %(here)s/data/sessions - -# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* -# Debug mode will enable the interactive debugging tool, allowing ANYONE to -# execute malicious code after an exception is raised. -#set debug = false - - -# Logging configuration -[loggers] -keys = root, routes, debianmemberportfolio - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = INFO -handlers = console - -[logger_routes] -level = INFO -handlers = -qualname = routes.middleware -# "level = DEBUG" logs the route matched and routing variables. - -[logger_debianmemberportfolio] -level = DEBUG -handlers = -qualname = debianmemberportfolio - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s -datefmt = %H:%M:%S diff --git a/jessiereq.pip b/jessiereq.pip deleted file mode 100644 index ecb99be..0000000 --- a/jessiereq.pip +++ /dev/null @@ -1,29 +0,0 @@ -Flask==0.10.1 -Jinja2==2.7.3 -MarkupSafe==0.23 -Werkzeug==0.9.6 -itsdangerous==0.24 -Babel==1.3 -Flask-Babel==0.9 -pytz==2012c -speaklater==1.3 -Flask-WTF==0.10.2 -WTForms==2.0.1 -#Babel==1.3 -#Beaker==1.6.4 -#FormEncode==1.2.6 -#Mako==1.0.0 -#MarkupSafe==0.23 -#Paste==1.7.5.1 -#PasteDeploy==1.5.2 -#PasteScript==1.7.5 -#Pygments==2.0.1 -#Pylons==1.0.1 -#Routes==2.0 -#Tempita==0.5.2 -#WebError==0.10.3 -#WebHelpers==1.3 -#WebOb==1.4 -#WebTest==2.0.16 -#nose==1.3.4 -#simplejson==3.6.5 diff --git a/test.ini b/test.ini deleted file mode 100644 index bbef5d2..0000000 --- a/test.ini +++ /dev/null @@ -1,21 +0,0 @@ -# -# Debian Member Portfolio Service - Pylons testing environment configuration -# -# The %(here)s variable will be replaced with the parent directory of this file -# -[DEFAULT] -debug = true -# Uncomment and replace with the address which should receive any error reports -#email_to = you@yourdomain.com -smtp_server = localhost -error_email_from = paste@localhost - -[server:main] -use = egg:Paste#http -host = 127.0.0.1 -port = 5000 - -[app:main] -use = config:development.ini - -# Add additional test specific configuration options as necessary.