コード例 #1
0
ファイル: middleware.py プロジェクト: Robert77168/reddit
 def __call__(self, environ, start_response):
     if not environ.has_key('subreddit'):
         path = environ['PATH_INFO']
         domain, rest = path_info_split(path)
         if domain == "domain" and rest:
             domain, rest = path_info_split(rest)
             environ['domain'] = domain
             environ['PATH_INFO'] = rest or '/'
     return self.app(environ, start_response)
コード例 #2
0
ファイル: middleware.py プロジェクト: znanl/reddit
 def __call__(self, environ, start_response):
     if not environ.has_key('subreddit'):
         path = environ['PATH_INFO']
         domain, rest = path_info_split(path)
         if domain == "domain" and rest:
             domain, rest = path_info_split(rest)
             environ['domain'] = domain
             environ['PATH_INFO'] = rest or '/'
     return self.app(environ, start_response)
コード例 #3
0
ファイル: middleware.py プロジェクト: Liwink/reddit
 def __call__(self, environ, start_response):
     if not environ.has_key("subreddit"):
         path = environ["PATH_INFO"]
         domain, rest = path_info_split(path)
         if domain == "domain" and rest:
             domain, rest = path_info_split(rest)
             environ["domain"] = domain
             environ["PATH_INFO"] = rest or "/"
     return self.app(environ, start_response)
コード例 #4
0
ファイル: middleware.py プロジェクト: mewald55/Blockpath
 def __call__(self, environ, start_response):
     if not environ.has_key('subreddit'):
         path = environ['PATH_INFO']
         try:
             domain, rest = path_info_split(path)
         except:
             domain, rest = (
                 '', ''
             )  #users/robots spamming false domains are redirected to homepage.
         if domain == "domain" and rest:
             domain, rest = path_info_split(rest)
             environ['domain'] = domain
             environ['PATH_INFO'] = rest or '/'
     return self.app(environ, start_response)
コード例 #5
0
ファイル: urlparser.py プロジェクト: 10sr/hue
 def find_application(self, environ):
     if (self.init_module
         and getattr(self.init_module, 'application', None)
         and not environ.get('paste.urlparser.init_application') == environ['SCRIPT_NAME']):
         environ['paste.urlparser.init_application'] = environ['SCRIPT_NAME']
         return self.init_module.application, None
     name, rest_of_path = request.path_info_split(environ['PATH_INFO'])
     environ['PATH_INFO'] = rest_of_path
     if name is not None:
         environ['SCRIPT_NAME'] = environ.get('SCRIPT_NAME', '') + '/' + name
     if not name:
         names = self.index_names
         for index_name in names:
             filename = self.find_file(environ, index_name)
             if filename:
                 break
         else:
             # None of the index files found
             filename = None
     else:
         filename = self.find_file(environ, name)
     if filename is None:
         return None, filename
     else:
         return self.get_application(environ, filename), filename
コード例 #6
0
 def find_application(self, environ):
     if (self.init_module and getattr(self.init_module, 'application', None)
             and not environ.get('paste.urlparser.init_application')
             == environ['SCRIPT_NAME']):
         environ['paste.urlparser.init_application'] = environ[
             'SCRIPT_NAME']
         return self.init_module.application, None
     name, rest_of_path = request.path_info_split(environ['PATH_INFO'])
     environ['PATH_INFO'] = rest_of_path
     if name is not None:
         environ['SCRIPT_NAME'] = environ.get('SCRIPT_NAME',
                                              '') + '/' + name
     if not name:
         names = self.index_names
         for index_name in names:
             filename = self.find_file(environ, index_name)
             if filename:
                 break
         else:
             # None of the index files found
             filename = None
     else:
         filename = self.find_file(environ, name)
     if filename is None:
         return None, filename
     else:
         return self.get_application(environ, filename), filename
コード例 #7
0
ファイル: urlparser.py プロジェクト: dineshkummarc/Bespin
 def find_application(self, environ):
     if (
         self.init_module
         and getattr(self.init_module, "application", None)
         and not environ.get("paste.urlparser.init_application") == environ["SCRIPT_NAME"]
     ):
         environ["paste.urlparser.init_application"] = environ["SCRIPT_NAME"]
         return self.init_module.application, None
     name, rest_of_path = request.path_info_split(environ["PATH_INFO"])
     environ["PATH_INFO"] = rest_of_path
     if name is not None:
         environ["SCRIPT_NAME"] = environ.get("SCRIPT_NAME", "") + "/" + name
     if not name:
         names = self.index_names
         for index_name in names:
             filename = self.find_file(environ, index_name)
             if filename:
                 break
         else:
             # None of the index files found
             filename = None
     else:
         filename = self.find_file(environ, name)
     if filename is None:
         return None, filename
     else:
         return self.get_application(environ, filename), filename
コード例 #8
0
def urlparser_hook(environ):
    first, rest = request.path_info_split(environ.get('PATH_INFO', ''))
    if not first:
        # No username
        return
    environ['app.user'] = first
    environ['SCRIPT_NAME'] += '/' + first
    environ['PATH_INFO'] = rest
コード例 #9
0
ファイル: __init__.py プロジェクト: shobull/hue
def not_found_hook(environ, start_response):
    urlparser = environ["paste.urlparser.not_found_parser"]
    first, rest = request.path_info_split(environ.get("PATH_INFO", ""))
    if not first:
        # No username
        return
    environ["app.user"] = first
    environ["SCRIPT_NAME"] += "/" + first
    environ["PATH_INFO"] = rest
    return urlparser(environ, start_response)
コード例 #10
0
def not_found_hook(environ, start_response):
    urlparser = environ['paste.urlparser.not_found_parser']
    first, rest = request.path_info_split(environ.get('PATH_INFO', ''))
    if not first:
        # No username
        return
    environ['app.user'] = first
    environ['SCRIPT_NAME'] += '/' + first
    environ['PATH_INFO'] = rest
    return urlparser(environ, start_response)
コード例 #11
0
    def __call__(self, environ, start_response):
        environ['paste.urlparser.base_python_name'] = self.base_python_name
        if self.init_module is NoDefault:
            self.init_module = self.find_init_module(environ)
        path_info = environ.get('PATH_INFO', '')
        if not path_info:
            return self.add_slash(environ, start_response)
        if (self.init_module
                and getattr(self.init_module, 'urlparser_hook', None)):
            self.init_module.urlparser_hook(environ)
        orig_path_info = environ['PATH_INFO']
        orig_script_name = environ['SCRIPT_NAME']
        application, filename = self.find_application(environ)
        if not application:
            if (self.init_module
                    and getattr(self.init_module, 'not_found_hook', None)
                    and environ.get('paste.urlparser.not_found_parser')
                    is not self):
                not_found_hook = self.init_module.not_found_hook
                environ['paste.urlparser.not_found_parser'] = self
                environ['PATH_INFO'] = orig_path_info
                environ['SCRIPT_NAME'] = orig_script_name
                return not_found_hook(environ, start_response)
            if filename is None:
                name, rest_of_path = request.path_info_split(
                    environ['PATH_INFO'])
                if not name:
                    name = 'one of %s' % ', '.join(
                        self.index_names or ['(no index_names defined)'])

                return self.not_found(
                    environ, start_response,
                    'Tried to load %s from directory %s' %
                    (name, self.directory))
            else:
                environ['wsgi.errors'].write(
                    'Found resource %s, but could not construct application\n'
                    % filename)
                return self.not_found(
                    environ, start_response,
                    'Tried to load %s from directory %s' %
                    (filename, self.directory))
        if (self.init_module
                and getattr(self.init_module, 'urlparser_wrap', None)):
            return self.init_module.urlparser_wrap(environ, start_response,
                                                   application)
        else:
            return application(environ, start_response)
コード例 #12
0
ファイル: urlparser.py プロジェクト: 10sr/hue
    def __call__(self, environ, start_response):
        environ['paste.urlparser.base_python_name'] = self.base_python_name
        if self.init_module is NoDefault:
            self.init_module = self.find_init_module(environ)
        path_info = environ.get('PATH_INFO', '')
        if not path_info:
            return self.add_slash(environ, start_response)
        if (self.init_module
            and getattr(self.init_module, 'urlparser_hook', None)):
            self.init_module.urlparser_hook(environ)
        orig_path_info = environ['PATH_INFO']
        orig_script_name = environ['SCRIPT_NAME']
        application, filename = self.find_application(environ)
        if not application:
            if (self.init_module
                and getattr(self.init_module, 'not_found_hook', None)
                and environ.get('paste.urlparser.not_found_parser') is not self):
                not_found_hook = self.init_module.not_found_hook
                environ['paste.urlparser.not_found_parser'] = self
                environ['PATH_INFO'] = orig_path_info
                environ['SCRIPT_NAME'] = orig_script_name
                return not_found_hook(environ, start_response)
            if filename is None:
                name, rest_of_path = request.path_info_split(environ['PATH_INFO'])
                if not name:
                    name = 'one of %s' % ', '.join(
                        self.index_names or
                        ['(no index_names defined)'])

                return self.not_found(
                    environ, start_response,
                    'Tried to load %s from directory %s'
                    % (name, self.directory))
            else:
                environ['wsgi.errors'].write(
                    'Found resource %s, but could not construct application\n'
                    % filename)
                return self.not_found(
                    environ, start_response,
                    'Tried to load %s from directory %s'
                    % (filename, self.directory))
        if (self.init_module
            and getattr(self.init_module, 'urlparser_wrap', None)):
            return self.init_module.urlparser_wrap(
                environ, start_response, application)
        else:
            return application(environ, start_response)
コード例 #13
0
ファイル: urlparser.py プロジェクト: dineshkummarc/Bespin
    def __call__(self, environ, start_response):
        environ["paste.urlparser.base_python_name"] = self.base_python_name
        if self.init_module is NoDefault:
            self.init_module = self.find_init_module(environ)
        path_info = environ.get("PATH_INFO", "")
        if not path_info:
            return self.add_slash(environ, start_response)
        if self.init_module and getattr(self.init_module, "urlparser_hook", None):
            self.init_module.urlparser_hook(environ)
        orig_path_info = environ["PATH_INFO"]
        orig_script_name = environ["SCRIPT_NAME"]
        application, filename = self.find_application(environ)
        if not application:
            if (
                self.init_module
                and getattr(self.init_module, "not_found_hook", None)
                and environ.get("paste.urlparser.not_found_parser") is not self
            ):
                not_found_hook = self.init_module.not_found_hook
                environ["paste.urlparser.not_found_parser"] = self
                environ["PATH_INFO"] = orig_path_info
                environ["SCRIPT_NAME"] = orig_script_name
                return not_found_hook(environ, start_response)
            if filename is None:
                name, rest_of_path = request.path_info_split(environ["PATH_INFO"])
                if not name:
                    name = "one of %s" % ", ".join(self.index_names or ["(no index_names defined)"])

                return self.not_found(
                    environ, start_response, "Tried to load %s from directory %s" % (name, self.directory)
                )
            else:
                environ["wsgi.errors"].write("Found resource %s, but could not construct application\n" % filename)
                return self.not_found(
                    environ, start_response, "Tried to load %s from directory %s" % (filename, self.directory)
                )
        if self.init_module and getattr(self.init_module, "urlparser_wrap", None):
            return self.init_module.urlparser_wrap(environ, start_response, application)
        else:
            return application(environ, start_response)