#NEWLINE# def call( self , request ) : #NEWLINE# #INDENT# match = self . match_routing ( request . environ [ 'PATH_INFO' ] . lstrip ( '/' ) , request . environ [ 'REQUEST_METHOD' ] ) #NEWLINE# if ( not match ) : #NEWLINE# #INDENT# return self . render_not_found ( request ) #NEWLINE# #UNINDENT# ( cmd , path , reqfile , rpc ) = match #NEWLINE# request . rpc = rpc #NEWLINE# request . reqfile = reqfile #NEWLINE# if ( cmd == 'not_allowed' ) : #NEWLINE# #INDENT# return self . render_method_not_allowed ( request ) #NEWLINE# #UNINDENT# if hasattr ( self , '_has_permission_handler' ) : #NEWLINE# #INDENT# need_perm = self . get_permission ( cmd , rpc , request . environ [ 'QUERY_STRING' ] ) #NEWLINE# has_perm = self . _has_permission_handler ( request . environ , path , need_perm ) #NEWLINE# if ( not has_perm ) : #NEWLINE# #INDENT# return self . render_no_access ( request ) #NEWLINE# #UNINDENT# #UNINDENT# if hasattr ( self , '_get_repo_path_handler' ) : #NEWLINE# #INDENT# request . dir = self . _get_repo_path_handler ( request . environ , path ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# request . dir = self . get_git_dir ( path ) #NEWLINE# #UNINDENT# if ( not request . dir ) : #NEWLINE# #INDENT# return self . render_not_found ( cmd ) #NEWLINE# #UNINDENT# func = getattr ( self , cmd ) #NEWLINE# return func ( request )