Changeset 1317


Ignore:
Timestamp:
25/07/06 16:40:03 (13 years ago)
Author:
lawrence
Message:

Minor refactoring towards a formal request object

Location:
TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/Utilities.py

    r1286 r1317  
    44import os 
    55import re 
     6import urllib 
    67 
    78class myConfig: 
     
    3132                self.logfile.write('empty log entry\n') 
    3233                 
     34class Request: 
     35    ''' Holds the request URL etc ''' 
     36    def __init__(self,env,cgi): 
     37        ''' Instantiates attributes: 
     38            env: the environment 
     39            URL: a url to recreate the request SANS any security info and selection arguments 
     40            variables: any arguments to the request ... ''' 
     41        self.env=env 
     42        self.URL='http://%s:%s%s'%(env.get('SERVER_NAME'),env.get('SERVER_PORT'), 
     43                                   env.get('SCRIPT_NAME')) 
     44        #qs=env.get('QUERY_STRING') 
     45        #if qs!='': self.URL+='?'+qs 
     46        try: # some apache problems result in nasty errors ... 
     47            self.variables=getURLdict(cgi.FieldStorage()) 
     48            #reconstruct the url carefully, to avoid the selector and any 
     49            #ndg security info if present ... 
     50            tmp={} 
     51            reject=['select','NDG-ID1','NDG-ID2'] 
     52            for i in self.variables: 
     53                if i not in reject: tmp[i]=self.variables[i] 
     54            if tmp!={}: self.URL+='?%s'%urllib.urlencode(tmp) 
     55        except Exception,e: 
     56            #raise e 
     57            self.variables={'Error':'<p> Error in Request, parsing url [%s] </p>'%self.URL} 
     58 
    3359class Response: 
    3460        ''' Holds all the parts of the response to an HTML get or post ''' 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/browseCGI.py

    r1286 r1317  
    111111                    cookie['NDG-ID2']=ndgSec[1] 
    112112                return cookie 
    113          
    114 class Request: 
    115     ''' Holds the request URL etc ''' 
    116     def __init__(self,env): 
    117         self.env=env 
    118         self.URL='http://%s:%s%s'%(env.get('SERVER_NAME'),env.get('SERVER_PORT'), 
    119         env.get('SCRIPT_NAME')) 
    120         qs=env.get('QUERY_STRING') 
    121         if qs!='': self.URL+='?'+qs 
    122113 
    123114class CGIcontroller: 
     
    129120                # Need to refactor all of this to use the request class and then move 
    130121                # the request class out into the utilities ... 
    131                 # 
     122                # (underway) 
     123                 
    132124                self.env=os.environ 
    133                 self.path=self.env.get('PATH_INFO','/') 
    134                 try: # some apache problems result in nasty errors ... 
    135                     self.FieldStorage=getURLdict(cgi.FieldStorage()) 
    136                 except Exception,e: 
    137                     self.FieldStorage={'Error':self.error('Error in url <br/>%s<br/> This is probably a known error :-)'%e)} 
     125                #self.path=self.env.get('PATH_INFO','/') #commented out because I don't think 
     126                #we use it ... 
    138127                self.config=config 
    139128                self.response=Response() 
    140                 self.request=Request(self.env) 
     129                self.request=Request(self.env,cgi) 
     130                self.FieldStorage=self.request.variables 
    141131                self.requestURL=self.request.URL 
    142132                self.selector=selector(self.requestURL,'select',config.get('layout','selectI')) 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/stubB.py

    r1199 r1317  
    123123                self.constraints=AccessControl(self.tree.find('dgMetadataSecurity')) 
    124124                self.abbreviation=wrapGetText(self.tree,'abbreviation') 
    125                 if self.abbreviation=='': self.abbreviation=self.name[0:min(5,len(self.name))] 
     125                if self.abbreviation=='': self.abbreviation=self.name[0:min(15,len(self.name))] 
    126126                 
    127127                elem=self.tree.find('dgDataEntity') 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/sub_orphan.py

    r1164 r1317  
    132132        print s 
    133133        print ss.sub(s) 
    134    
    135  
Note: See TracChangeset for help on using the changeset viewer.