1b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craikfrom paste import request 2b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik 3b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craikdef not_found_hook(environ, start_response): 4b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik urlparser = environ['paste.urlparser.not_found_parser'] 5b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik first, rest = request.path_info_split(environ.get('PATH_INFO', '')) 6b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik if not first: 7b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik # No username 8b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik return 9b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik environ['app.user'] = first 10b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik environ['SCRIPT_NAME'] += '/' + first 11b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik environ['PATH_INFO'] = rest 12b2cbf1594f8d6e4ba32d384cf379f62a74ed7654Chris Craik return urlparser(environ, start_response) 13