From cbe792618a1e6b1aeddd8d751dbeefe6a981ba23 Mon Sep 17 00:00:00 2001 From: Allan Saddi Date: Tue, 5 Jun 2007 09:42:39 -0700 Subject: Remove publisher and middleware packages. Add cgi server for completeness. --- flup/resolver/module.py | 86 ------------------------------------------------- 1 file changed, 86 deletions(-) delete mode 100644 flup/resolver/module.py (limited to 'flup/resolver/module.py') diff --git a/flup/resolver/module.py b/flup/resolver/module.py deleted file mode 100644 index 79171d6..0000000 --- a/flup/resolver/module.py +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2002, 2005 Allan Saddi -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $Id$ - -__author__ = 'Allan Saddi ' -__version__ = '$Revision$' - -from flup.resolver.resolver import * - -__all__ = ['ModuleResolver'] - -class NoDefault(object): - pass - -class ModuleResolver(Resolver): - """ - Exposes all top-level callables within a module. The module's __all__ - attribute is respected, if it exists. Names beginning with underscore - are ignored. - - Uses the first component of PATH_INFO as the callable's name and if - empty, will instead use self.index_page. - - Upon successful resolution, appends the callable's name to SCRIPT_NAME - and updates PATH_INFO as the remaining components of the path. - - NB: I would recommend explicitly setting the module's __all__ list. - Otherwise, be sure all the names of module-level callables that you - don't want exported begin with underscore. - """ - index_page = 'index' - - def __init__(self, module, index=NoDefault): - self.module = module - if index is not NoDefault: - self.index_page = index - - def resolve(self, request, redirect=False): - path_info = request.pathInfo.split(';')[0] - path_info = path_info.split('/') - - assert len(path_info) > 0 - assert not path_info[0] - - if len(path_info) < 2: - path_info.append('') - - func_name = path_info[1] - - if func_name: - if func_name[0] == '_' and not redirect: - func_name = None - else: - func_name = self.index_page - - if func_name: - module_all = getattr(self.module, '__all__', None) - if module_all is None or func_name in module_all or redirect: - func = getattr(self.module, func_name, None) - if callable(func): - self._updatePath(request, 1) - return func - - return None -- cgit v1.2.1