Changeset 1868


Ignore:
Timestamp:
14/12/06 17:30:40 (13 years ago)
Author:
lawrence
Message:

Discovery Gui now supports author and parameter searches properly.

Location:
TI07-MOLES/trunk/PythonCode/browse/portal/cgi
Files:
1 added
5 edited

Legend:

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

    r1850 r1868  
    6969            self.__checkform(expected) 
    7070            if self.message!='': return 
    71              
    72             if self.inputs['timeLimit']=="0" and self.inputs['spaceLimit']=="0":  
    73                 if int(self.inputs['sourceLimit']): 
    74                     scope=[] 
    75                     if 'sourceMDIP' in self.inputs: 
    76                         if self.inputs['sourceMDIP']: scope.append('MDIP') 
    77                     if 'sourceNERC' in self.inputs: 
    78                         if self.inputs['sourceNERC']: scope.append('NERC') 
    79                 else: 
    80                     scope=None 
    81                     #it's a simple text search from the advanced box 
    82                 self.doText(self.inputs['searchString'],self.inputs['textTarget'], 
    83                             self.inputs['start'],self.inputs['howmany'],scope) 
    84             else : 
    85                 #it's more complicated 
    86                 self.doGeoSpatial() 
     71              
     72            if int(self.inputs['sourceLimit']): 
     73                scope=[] 
     74                if 'sourceMDIP' in self.inputs: 
     75                    if self.inputs['sourceMDIP']: scope.append('MDIP') 
     76                if 'sourceNERC' in self.inputs: 
     77                    if self.inputs['sourceNERC']: scope.append('NERC') 
     78            else: 
     79                scope=None 
     80                 
     81            if int(self.inputs['spaceLimit']): 
     82                bbox=[self.inputs['bboxN'],self.inputs['bboxS'],self.inputs['bboxW'],self.inputs['bboxE']] 
     83            else: 
     84                bbox=None 
     85                 
     86            if int(self.inputs['timeLimit']): 
     87                dateRange=[(self.inputs['startDateDay'],self.inputs['startDateMon'],self.inputs['startDateYear']), 
     88                           (self.inputs['endDateDay'],self.inputs['endDateMon'],self.inputs['endDateYear'])] 
     89            else: 
     90                dateRange=None 
     91                 
     92            self.doText(self.inputs['searchString'],self.inputs['textTarget'], 
     93                        self.inputs['start'],self.inputs['howmany'],scope=scope,dateRange=dateRange,bbox=bbox) 
     94            
    8795        return 
    8896             
     
    99107        return DiscoveryState(id,self.request,hits,offset,stride) 
    100108         
    101     def doText(self,searchString,textTarget,start,howmany,scope=None): 
    102         ''' Carry out a text search for <searchString> without geospatial elements,  
     109    def doText(self,searchString,textTarget,start,howmany,scope=None,dateRange=None,bbox=None): 
     110        ''' Carry out a text search for <searchString>  
    103111        in the <textTarget> where the accepted text target values are controlled 
    104112        by the DiscoveryTemplate GUI, and are: All, Authors, Parameters ''' 
    105         # although at the moment we only support ALL 
    106113         
    107114        start,howmany=int(start),int(howmany)  # url arguments need conversion ... 
    108115         
    109116        ws=NS.ndgSearch(logger=self.logger) 
    110         documents=ws.search(searchString,start=start,howmany=howmany,scope=scope) 
     117        documents=ws.search(searchString,start=start,howmany=howmany,target=textTarget, 
     118                            scope=scope,dateRange=dateRange,bbox=bbox) 
     119        if ws.error !=None: 
     120            for i in ws.error: 
     121                self.html+='<p>%s</p>'%i 
     122            return 
    111123         
    112124        hits=ws.hits 
     
    124136        self.standardInterface() 
    125137        return 
    126      
    127     def doGeoSpatial(self): 
    128         self.html+='Geospatial and Time limiting not yet implemented' 
    129         return 
    130      
     138 
    131139    def standardInterface(self): 
    132140         
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/browse/ndgSearch.py

    r1853 r1868  
    1313 
    1414from xml.dom import expatbuilder 
     15 
     16 
    1517 
    1618class ExpatReaderClass: 
     
    3234        self.serverSessionID=None 
    3335        self.logger=logger 
     36        self.error=None 
    3437 
    3538     
    36     def search(self,term,start=1,howmany=20,scope=None): 
     39    def search(self,term,start=1,howmany=20,target='All',scope=None,bbox=None,dateRange=None,): 
    3740        ''' Get a list of documents for a specific term using a free text search''' 
    3841         
    39         #create a request object 
    40         request=doFullTextSearchRequest() 
     42         
     43        if target=='Authors': 
     44            request=doAuthorSearchRequest() 
     45        elif target=='Params': 
     46            request=doParameterSearchRequest() 
     47        else: 
     48            request=doFullTextSearchRequest() 
    4149        request._term=term 
    4250        request._start=start 
    4351        request._howMany=howmany 
     52        #if bbox is not None: 
     53        #    boxType= ns0.BoundingBoxType_Def.pyclass() 
    4454         
    4555        if scope is not None: 
     
    4858 
    4959        if self.logger: itime=time.time() 
    50         response=self.server.doFullTextSearch(request) 
     60        try: 
     61            if target=='All': 
     62                response=self.server.doFullTextSearch(request) 
     63            elif target=='Authors': 
     64                response=self.server.doAuthorSearch(request) 
     65            elif target=='Params': 
     66                response=self.server.doParameterSearch(request) 
     67            else: 
     68                self.error=('Unknown search target type (%s)'%target,'programming error in backend') 
     69                return  
     70        except Exception,e: 
     71           raise Exception,e 
     72           #self.error='Error: Unable to Carry Out Search','Internal error was (%s)'%e 
     73           return 
     74             
    5175        if self.logger: 
    5276            etime=time.time()-itime 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/discovery/Discovery.wsdl

    r1850 r1868  
    44        <wsdl:types> 
    55                <xsd:schema targetNamespace="urn:DiscoveryServiceAPI" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:DiscoveryServiceAPI" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    6                         <!-- Request elements --> 
    7                         <xs:element name="doAuthorSearch" type="tns:SearchType"/> 
    8                         <xs:element name="doFullTextSearch" type="tns:SearchType"/> 
    9                         <xs:element name="doParameterSearch" type="tns:SearchType"/> 
    10                         <xs:element name="doPresent" type="tns:PresentType"/> 
    11                         <!-- Response elements --> 
    12                         <xs:element name="doAuthorSearchReturn" type="tns:SearchReturnType"/> 
    13                         <xs:element name="doFullTextSearchReturn" type="tns:SearchReturnType"/> 
    14                         <xs:element name="doParameterSearchReturn" type="tns:SearchReturnType"/> 
    15                         <xs:element name="doPresentReturn" type="tns:PresentReturnType"/> 
    16                         <!-- Request global types --> 
    17                         <xs:complexType name="PresentType"> 
    18                                 <xs:sequence> 
    19                                         <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
    20                                         <xs:element name="format" type="tns:PresentFormatType" minOccurs="0"/> 
    21                                 </xs:sequence> 
    22                         </xs:complexType> 
    23                         <xs:complexType name="SearchType"> 
    24                                 <xs:sequence> 
    25                                         <xs:element name="term" type="xs:string"/> 
    26                                         <xs:element name="start" type="xs:positiveInteger" minOccurs="0"/> 
    27                                         <xs:element name="howMany" type="xs:positiveInteger" minOccurs="0"/> 
    28                                         <xs:element name="orderBy" type="tns:orderByType" minOccurs="0"/> 
    29                                         <xs:element name="orderByDirection" type="tns:orderByDirectionType" minOccurs="0"/> 
    30                                         <xs:element name="scope" type="tns:scopeType" minOccurs="0" maxOccurs="unbounded"/> 
    31                                         <xs:element name="BoundingBox" type="tns:BoundingBoxType" minOccurs="0"/> 
    32                                         <xs:element name="DateRange" type="tns:DateRangeType" minOccurs="0"/> 
    33                                 </xs:sequence> 
    34                         </xs:complexType> 
    35                         <!-- Response global types --> 
    36                         <xs:complexType name="PresentReturnType"> 
    37                                 <xs:sequence> 
    38                                         <xs:element name="status" type="xs:boolean"/> 
    39                                         <xs:element name="statusMessage" type="xs:string"/> 
    40                                         <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
    41                                 </xs:sequence> 
    42                         </xs:complexType> 
    43                         <xs:complexType name="SearchReturnType"> 
    44                                 <xs:sequence> 
    45                                         <xs:element name="status" type="xs:boolean"/> 
    46                                         <xs:element name="statusMessage" type="xs:string"/> 
    47                                         <xs:element name="resultId" type="xs:int" minOccurs="0"/> 
    48                                         <xs:element name="hits" type="xs:int" minOccurs="0"/> 
    49                                         <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
    50                                 </xs:sequence> 
    51                         </xs:complexType> 
    52                         <!-- Other global types--> 
    53                         <xs:complexType name="BoundingBoxType"> 
    54                                 <xs:all> 
    55                                         <xs:element name="LimitNorth" type="xs:decimal"/> 
    56                                         <xs:element name="LimitSouth" type="xs:decimal"/> 
    57                                         <xs:element name="LimitWest" type="xs:decimal"/> 
    58                                         <xs:element name="LimitEast" type="xs:decimal"/> 
    59                                 </xs:all> 
    60                         </xs:complexType> 
    61                         <xs:complexType name="DateRangeType"> 
    62                                 <xs:all> 
    63                                         <xs:element name="DateRangeStart" type="xs:date"/> 
    64                                         <xs:element name="DateRangeEnd" type="xs:date"/> 
    65                                 </xs:all> 
    66                         </xs:complexType> 
    67                         <xs:complexType name="DocumentsType"> 
    68                                 <xs:sequence> 
    69                                         <xs:element name="document" type="xs:string" maxOccurs="unbounded"/> 
    70                                 </xs:sequence> 
    71                         </xs:complexType> 
    72                         <xs:simpleType name="orderByType"> 
    73                                 <xs:restriction base="xs:string"> 
    74                                         <xs:enumeration value="date"/> 
    75                                         <xs:enumeration value="dataCentre"/> 
    76                                 </xs:restriction> 
    77                         </xs:simpleType> 
    78                         <xs:simpleType name="orderByDirectionType"> 
    79                                 <xs:restriction base="xs:string"> 
    80                                         <xs:enumeration value="ascending"/> 
    81                                         <xs:enumeration value="descnding"/> 
    82                                 </xs:restriction> 
    83                         </xs:simpleType> 
    84                         <xs:simpleType name="PresentFormatType"> 
    85                                 <xs:restriction base="xs:string"> 
    86                                         <xs:enumeration value="dc"/> 
    87                                         <xs:enumeration value="dif"/> 
    88                                         <xs:enumeration value="iso19139"/> 
    89                                         <xs:enumeration value="moles"/> 
    90                                         <xs:enumeration value="original"/> 
    91                                 </xs:restriction> 
    92                         </xs:simpleType> 
    93                         <xs:simpleType name="scopeType"> 
    94                                 <xs:restriction base="xs:string"> 
    95                                         <xs:enumeration value="NERC_DDC"/> 
    96                                         <xs:enumeration value="NERC"/> 
    97                                         <xs:enumeration value="MDIP"/> 
    98                                 </xs:restriction> 
    99                         </xs:simpleType> 
     6        <!-- Request elements --> 
     7        <xs:element name="doAuthorSearch" type="tns:SearchType"/> 
     8        <xs:element name="doFullTextSearch" type="tns:SearchType"/> 
     9        <xs:element name="doParameterSearch" type="tns:SearchType"/> 
     10        <xs:element name="doPresent" type="tns:PresentType"/> 
     11        <xs:element name="getListNames" nillable="true"/> 
     12        <xs:element name="getList" type="tns:getListType"/> 
     13        <!-- Response elements --> 
     14        <xs:element name="doAuthorSearchReturn" type="tns:SearchReturnType"/> 
     15        <xs:element name="doFullTextSearchReturn" type="tns:SearchReturnType"/> 
     16        <xs:element name="doParameterSearchReturn" type="tns:SearchReturnType"/> 
     17        <xs:element name="doPresentReturn" type="tns:PresentReturnType"/> 
     18        <xs:element name="getListNamesReturn" type="tns:getListNamesReturnType"/> 
     19        <xs:element name="getListReturn" type="tns:getListReturnType"/> 
     20        <!-- Request global types --> 
     21        <xs:complexType name="PresentType"> 
     22                <xs:sequence> 
     23                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
     24                        <xs:element name="format" type="xs:string" minOccurs="0"/> 
     25                </xs:sequence> 
     26        </xs:complexType> 
     27        <xs:complexType name="SearchType"> 
     28                <xs:sequence> 
     29                        <xs:element name="term" type="xs:string"/> 
     30                        <xs:element name="start" type="xs:positiveInteger" minOccurs="0"/> 
     31                        <xs:element name="howMany" type="xs:positiveInteger" minOccurs="0"/> 
     32                        <xs:element name="orderBy" type="xs:string" minOccurs="0"/> 
     33                        <xs:element name="orderByDirection" type="tns:orderByDirectionType" minOccurs="0"/> 
     34                        <xs:element name="scope" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
     35                        <xs:element name="BoundingBox" type="tns:BoundingBoxType" minOccurs="0"/> 
     36                        <xs:element name="DateRange" type="tns:DateRangeType" minOccurs="0"/> 
     37                </xs:sequence> 
     38        </xs:complexType> 
     39        <xs:complexType name="getListType"> 
     40                <xs:sequence> 
     41                        <xs:element name="listName" type="xs:string"/> 
     42                </xs:sequence> 
     43        </xs:complexType> 
     44        <!-- Response global types --> 
     45        <xs:complexType name="PresentReturnType"> 
     46                <xs:sequence> 
     47                        <xs:element name="status" type="xs:boolean"/> 
     48                        <xs:element name="statusMessage" type="xs:string"/> 
     49                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
     50                </xs:sequence> 
     51        </xs:complexType> 
     52        <xs:complexType name="SearchReturnType"> 
     53                <xs:sequence> 
     54                        <xs:element name="status" type="xs:boolean"/> 
     55                        <xs:element name="statusMessage" type="xs:string"/> 
     56                        <xs:element name="resultId" type="xs:int" minOccurs="0"/> 
     57                        <xs:element name="hits" type="xs:int" minOccurs="0"/> 
     58                        <xs:element name="documents" type="tns:DocumentsType" minOccurs="0"/> 
     59                </xs:sequence> 
     60        </xs:complexType> 
     61        <xs:complexType name="getListNamesReturnType"> 
     62                <xs:sequence maxOccurs="unbounded"> 
     63                        <xs:element name="listNames"> 
     64                                <xs:complexType> 
     65                                        <xs:sequence> 
     66                                                <xs:element name="listName" type="xs:string" maxOccurs="unbounded"/> 
     67                                        </xs:sequence> 
     68                                </xs:complexType> 
     69                        </xs:element> 
     70                </xs:sequence> 
     71        </xs:complexType> 
     72        <xs:complexType name="getListReturnType"> 
     73                <xs:sequence> 
     74                        <xs:element name="list" minOccurs="0"> 
     75                                <xs:complexType> 
     76                                        <xs:sequence> 
     77                                                <xs:element name="listMember" type="xs:string" maxOccurs="unbounded"/> 
     78                                        </xs:sequence> 
     79                                        <xs:attribute name="name" type="xs:string" use="required"/> 
     80                                </xs:complexType> 
     81                        </xs:element> 
     82                </xs:sequence> 
     83        </xs:complexType> 
     84        <!-- Other global types--> 
     85        <xs:complexType name="BoundingBoxType"> 
     86                <xs:all> 
     87                        <xs:element name="LimitNorth" type="xs:decimal"/> 
     88                        <xs:element name="LimitSouth" type="xs:decimal"/> 
     89                        <xs:element name="LimitWest" type="xs:decimal"/> 
     90                        <xs:element name="LimitEast" type="xs:decimal"/> 
     91                </xs:all> 
     92        </xs:complexType> 
     93        <xs:complexType name="DateRangeType"> 
     94                <xs:all> 
     95                        <xs:element name="DateRangeStart" type="xs:date"/> 
     96                        <xs:element name="DateRangeEnd" type="xs:date"/> 
     97                </xs:all> 
     98        </xs:complexType> 
     99        <xs:complexType name="DocumentsType"> 
     100                <xs:sequence> 
     101                        <xs:element name="document" type="xs:string" maxOccurs="unbounded"/> 
     102                </xs:sequence> 
     103        </xs:complexType> 
     104        <xs:simpleType name="orderByDirectionType"> 
     105                <xs:restriction base="xs:string"> 
     106                        <xs:enumeration value="ascending"/> 
     107                        <xs:enumeration value="descnding"/> 
     108                </xs:restriction> 
     109        </xs:simpleType> 
    100110                </xsd:schema> 
    101111        </wsdl:types> 
     
    109119                <wsdl:part name="part" element="tns1:doAuthorSearch"/> 
    110120        </wsdl:message> 
     121        <wsdl:message name="getListNamesRequest"> 
     122                <wsdl:part name="part" element="tns1:getListNames"/> 
     123        </wsdl:message> 
     124        <wsdl:message name="getListRequest"> 
     125                <wsdl:part name="part" element="tns1:getList"/> 
     126        </wsdl:message> 
    111127        <wsdl:message name="doAuthorSearchResponse"> 
    112128                <wsdl:part name="part" element="tns1:doAuthorSearchReturn"/> 
     
    123139        <wsdl:message name="doPresentResponse"> 
    124140                <wsdl:part name="part" element="tns1:doPresentReturn"/> 
     141        </wsdl:message> 
     142        <wsdl:message name="getListNamesResponse"> 
     143                <wsdl:part name="part" element="tns1:getListNamesReturn"/> 
     144        </wsdl:message> 
     145        <wsdl:message name="getListResponse"> 
     146                <wsdl:part name="part" element="tns1:getListReturn"/> 
    125147        </wsdl:message> 
    126148        <wsdl:portType name="Discovery"> 
     
    141163                        <wsdl:output name="doPresentResponse" message="tns1:doPresentResponse"/> 
    142164                </wsdl:operation> 
     165                <wsdl:operation name="getListNames"> 
     166                        <wsdl:input name="getListNamesRequest" message="tns1:getListNamesRequest"/> 
     167                        <wsdl:output name="getListNamesResponse" message="tns1:getListNamesResponse"/> 
     168                </wsdl:operation> 
     169                <wsdl:operation name="getList"> 
     170                        <wsdl:input name="getListRequest" message="tns1:getListRequest"/> 
     171                        <wsdl:output name="getListResponse" message="tns1:getListResponse"/> 
     172                </wsdl:operation> 
    143173        </wsdl:portType> 
    144174        <wsdl:binding name="DiscoverySoapBinding" type="tns1:Discovery"> 
     
    172202                </wsdl:operation> 
    173203                <wsdl:operation name="doPresent"> 
     204                        <wsdlsoap:operation/> 
     205                        <wsdl:input> 
     206                                <wsdlsoap:body use="literal"/> 
     207                        </wsdl:input> 
     208                        <wsdl:output> 
     209                                <wsdlsoap:body use="literal"/> 
     210                        </wsdl:output> 
     211                </wsdl:operation> 
     212                <wsdl:operation name="getListNames"> 
     213                        <wsdlsoap:operation/> 
     214                        <wsdl:input> 
     215                                <wsdlsoap:body use="literal"/> 
     216                        </wsdl:input> 
     217                        <wsdl:output> 
     218                                <wsdlsoap:body use="literal"/> 
     219                        </wsdl:output> 
     220                </wsdl:operation> 
     221                <wsdl:operation name="getList"> 
    174222                        <wsdlsoap:operation/> 
    175223                        <wsdl:input> 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/discovery/DiscoveryService_services.py

    r1853 r1868  
    7373        return response 
    7474 
     75    # op: getListNames 
     76    def getListNames(self, request): 
     77        if isinstance(request, getListNamesRequest) is False: 
     78            raise TypeError, "%s incorrect request type" % (request.__class__) 
     79        kw = {} 
     80        # no input wsaction 
     81        self.binding.Send(None, None, request, soapaction="None", **kw) 
     82        # no output wsaction 
     83        response = self.binding.Receive(getListNamesResponse.typecode) 
     84        return response 
     85 
     86    # op: getList 
     87    def getList(self, request): 
     88        if isinstance(request, getListRequest) is False: 
     89            raise TypeError, "%s incorrect request type" % (request.__class__) 
     90        kw = {} 
     91        # no input wsaction 
     92        self.binding.Send(None, None, request, soapaction="None", **kw) 
     93        # no output wsaction 
     94        response = self.binding.Receive(getListResponse.typecode) 
     95        return response 
     96 
    7597doFullTextSearchRequest = ns0.doFullTextSearch_Dec().pyclass 
    7698 
     
    88110 
    89111doPresentResponse = ns0.doPresentReturn_Dec().pyclass 
     112 
     113getListNamesRequest = ns0.getListNames_Dec().pyclass 
     114 
     115getListNamesResponse = ns0.getListNamesReturn_Dec().pyclass 
     116 
     117getListRequest = ns0.getList_Dec().pyclass 
     118 
     119getListResponse = ns0.getListReturn_Dec().pyclass 
  • TI07-MOLES/trunk/PythonCode/browse/portal/cgi/discovery/DiscoveryService_services_types.py

    r1853 r1868  
    2323        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw): 
    2424            ns = ns0.PresentType_Def.schema 
    25             TClist = [GTD("urn:DiscoveryServiceAPI","DocumentsType",lazy=False)(pname=(ns,"documents"), aname="_documents", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","PresentFormatType",lazy=False)(pname=(ns,"format"), aname="_format", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
     25            TClist = [GTD("urn:DiscoveryServiceAPI","DocumentsType",lazy=False)(pname=(ns,"documents"), aname="_documents", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname=(ns,"format"), aname="_format", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
    2626            self.attribute_typecode_dict = attributes or {} 
    2727            if extend: TClist += ofwhat 
     
    4444        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw): 
    4545            ns = ns0.SearchType_Def.schema 
    46             TClist = [ZSI.TC.String(pname=(ns,"term"), aname="_term", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.IpositiveInteger(pname=(ns,"start"), aname="_start", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.IpositiveInteger(pname=(ns,"howMany"), aname="_howMany", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","orderByType",lazy=False)(pname=(ns,"orderBy"), aname="_orderBy", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","orderByDirectionType",lazy=False)(pname=(ns,"orderByDirection"), aname="_orderByDirection", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","scopeType",lazy=False)(pname=(ns,"scope"), aname="_scope", minOccurs=0, maxOccurs="unbounded", nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","BoundingBoxType",lazy=False)(pname=(ns,"BoundingBox"), aname="_BoundingBox", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","DateRangeType",lazy=False)(pname=(ns,"DateRange"), aname="_DateRange", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
     46            TClist = [ZSI.TC.String(pname=(ns,"term"), aname="_term", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.IpositiveInteger(pname=(ns,"start"), aname="_start", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TCnumbers.IpositiveInteger(pname=(ns,"howMany"), aname="_howMany", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname=(ns,"orderBy"), aname="_orderBy", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","orderByDirectionType",lazy=False)(pname=(ns,"orderByDirection"), aname="_orderByDirection", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), ZSI.TC.String(pname=(ns,"scope"), aname="_scope", minOccurs=0, maxOccurs="unbounded", nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","BoundingBoxType",lazy=False)(pname=(ns,"BoundingBox"), aname="_BoundingBox", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded")), GTD("urn:DiscoveryServiceAPI","DateRangeType",lazy=False)(pname=(ns,"DateRange"), aname="_DateRange", minOccurs=0, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
    4747            self.attribute_typecode_dict = attributes or {} 
    4848            if extend: TClist += ofwhat 
     
    6666            self.pyclass = Holder 
    6767 
     68    class getListType_Def(ZSI.TCcompound.ComplexType, TypeDefinition): 
     69        schema = "urn:DiscoveryServiceAPI" 
     70        type = (schema, "getListType") 
     71        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw): 
     72            ns = ns0.getListType_Def.schema 
     73            TClist = [ZSI.TC.String(pname=(ns,"listName"), aname="_listName", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] 
     74            self.attribute_typecode_dict = attributes or {} 
     75            if extend: TClist += ofwhat 
     76            if restrict: TClist = ofwhat 
     77            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw) 
     78            class Holder: 
     79                __metaclass__ = pyclass_type 
     80                typecode = self 
     81                def __init__(self): 
     82                    # pyclass 
     83                    self._listName = None 
     84                    return 
     85            Holder.__name__ = "getListType_Holder" 
     86            self.pyclass = Holder 
     87 
    6888    class PresentReturnType_Def(ZSI.TCcompound.ComplexType, TypeDefinition): 
    6989        schema = "urn:DiscoveryServiceAPI" 
     
    112132            self.pyclass = Holder 
    113133 
     134    class getListNamesReturnType_Def(ZSI.TCcompound.ComplexType, TypeDefinition): 
     135        schema = "urn:DiscoveryServiceAPI" 
     136        type = (schema, "getListNamesReturnType") 
     137        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw): 
     138            ns = ns0.getListNamesReturnType_Def.schema 
     139            TClist = [self.__class__.listNames_Dec(minOccurs=1, maxOccurs="unbounded", nillable=False, encoded=kw.get("encoded"))] 
     140            self.attribute_typecode_dict = attributes or {} 
     141            if extend: TClist += ofwhat 
     142            if restrict: TClist = ofwhat 
     143            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw) 
     144            class Holder: 
     145                __metaclass__ = pyclass_type 
     146                typecode = self 
     147                def __init__(self): 
     148                    # pyclass 
     149                    self._listNames = [] 
     150                    return 
     151            Holder.__name__ = "getListNamesReturnType_Holder" 
     152            self.pyclass = Holder 
     153 
     154 
     155        class listNames_Dec(ZSI.TCcompound.ComplexType, LocalElementDeclaration): 
     156            literal = "listNames" 
     157            schema = "urn:DiscoveryServiceAPI" 
     158            def __init__(self, **kw): 
     159                ns = ns0.getListNamesReturnType_Def.listNames_Dec.schema 
     160                TClist = [ZSI.TC.String(pname=(ns,"listName"), aname="_listName", minOccurs=1, maxOccurs="unbounded", nillable=False, typed=False, encoded=kw.get("encoded"))] 
     161                kw["pname"] = ("urn:DiscoveryServiceAPI","listNames") 
     162                kw["aname"] = "_listNames" 
     163                self.attribute_typecode_dict = {} 
     164                ZSI.TCcompound.ComplexType.__init__(self,None,TClist,inorder=0,**kw) 
     165                class Holder: 
     166                    __metaclass__ = pyclass_type 
     167                    typecode = self 
     168                    def __init__(self): 
     169                        # pyclass 
     170                        self._listName = [] 
     171                        return 
     172                Holder.__name__ = "listNames_Holder" 
     173                self.pyclass = Holder 
     174 
     175 
     176 
     177 
     178    class getListReturnType_Def(ZSI.TCcompound.ComplexType, TypeDefinition): 
     179        schema = "urn:DiscoveryServiceAPI" 
     180        type = (schema, "getListReturnType") 
     181        def __init__(self, pname, ofwhat=(), attributes=None, extend=False, restrict=False, **kw): 
     182            ns = ns0.getListReturnType_Def.schema 
     183            TClist = [self.__class__.list_Dec(minOccurs=0, maxOccurs=1, nillable=False, encoded=kw.get("encoded"))] 
     184            self.attribute_typecode_dict = attributes or {} 
     185            if extend: TClist += ofwhat 
     186            if restrict: TClist = ofwhat 
     187            ZSI.TCcompound.ComplexType.__init__(self, None, TClist, pname=pname, inorder=0, **kw) 
     188            class Holder: 
     189                __metaclass__ = pyclass_type 
     190                typecode = self 
     191                def __init__(self): 
     192                    # pyclass 
     193                    self._list = None 
     194                    return 
     195            Holder.__name__ = "getListReturnType_Holder" 
     196            self.pyclass = Holder 
     197 
     198 
     199        class list_Dec(ZSI.TCcompound.ComplexType, LocalElementDeclaration): 
     200            literal = "list" 
     201            schema = "urn:DiscoveryServiceAPI" 
     202            def __init__(self, **kw): 
     203                ns = ns0.getListReturnType_Def.list_Dec.schema 
     204                TClist = [ZSI.TC.String(pname=(ns,"listMember"), aname="_listMember", minOccurs=1, maxOccurs="unbounded", nillable=False, typed=False, encoded=kw.get("encoded"))] 
     205                kw["pname"] = ("urn:DiscoveryServiceAPI","list") 
     206                kw["aname"] = "_list" 
     207                self.attribute_typecode_dict = {} 
     208                ZSI.TCcompound.ComplexType.__init__(self,None,TClist,inorder=0,**kw) 
     209                # attribute handling code 
     210                self.attribute_typecode_dict["name"] = ZSI.TC.String() 
     211                class Holder: 
     212                    __metaclass__ = pyclass_type 
     213                    typecode = self 
     214                    def __init__(self): 
     215                        # pyclass 
     216                        self._listMember = [] 
     217                        return 
     218                Holder.__name__ = "list_Holder" 
     219                self.pyclass = Holder 
     220 
     221 
     222 
     223 
    114224    class BoundingBoxType_Def(ZSI.TCcompound.ComplexType, TypeDefinition): 
    115225        schema = "urn:DiscoveryServiceAPI" 
     
    176286            self.pyclass = Holder 
    177287 
    178     class orderByType_Def(ZSI.TC.String, TypeDefinition): 
    179         schema = "urn:DiscoveryServiceAPI" 
    180         type = (schema, "orderByType") 
    181         def __init__(self, pname, **kw): 
    182             ZSI.TC.String.__init__(self, pname, pyclass=None, **kw) 
    183             class Holder(str): 
    184                 typecode = self 
    185             self.pyclass = Holder 
    186  
    187288    class orderByDirectionType_Def(ZSI.TC.String, TypeDefinition): 
    188289        schema = "urn:DiscoveryServiceAPI" 
    189290        type = (schema, "orderByDirectionType") 
    190         def __init__(self, pname, **kw): 
    191             ZSI.TC.String.__init__(self, pname, pyclass=None, **kw) 
    192             class Holder(str): 
    193                 typecode = self 
    194             self.pyclass = Holder 
    195  
    196     class PresentFormatType_Def(ZSI.TC.String, TypeDefinition): 
    197         schema = "urn:DiscoveryServiceAPI" 
    198         type = (schema, "PresentFormatType") 
    199         def __init__(self, pname, **kw): 
    200             ZSI.TC.String.__init__(self, pname, pyclass=None, **kw) 
    201             class Holder(str): 
    202                 typecode = self 
    203             self.pyclass = Holder 
    204  
    205     class scopeType_Def(ZSI.TC.String, TypeDefinition): 
    206         schema = "urn:DiscoveryServiceAPI" 
    207         type = (schema, "scopeType") 
    208291        def __init__(self, pname, **kw): 
    209292            ZSI.TC.String.__init__(self, pname, pyclass=None, **kw) 
     
    268351            if self.pyclass is not None: self.pyclass.__name__ = "doPresent_Dec_Holder" 
    269352 
     353    class getListNames_Dec(ZSI.TC.AnyType, ElementDeclaration): 
     354        literal = "getListNames" 
     355        schema = "urn:DiscoveryServiceAPI" 
     356        def __init__(self, **kw): 
     357            kw["pname"] = ("urn:DiscoveryServiceAPI","getListNames") 
     358            kw["aname"] = "_getListNames" 
     359            ZSI.TC.AnyType.__init__(self, **kw) 
     360 
     361    class getList_Dec(ElementDeclaration): 
     362        literal = "getList" 
     363        schema = "urn:DiscoveryServiceAPI" 
     364        def __init__(self, **kw): 
     365            kw["pname"] = ("urn:DiscoveryServiceAPI","getList") 
     366            kw["aname"] = "_getList" 
     367            if ns0.getListType_Def not in ns0.getList_Dec.__bases__: 
     368                bases = list(ns0.getList_Dec.__bases__) 
     369                bases.insert(0, ns0.getListType_Def) 
     370                ns0.getList_Dec.__bases__ = tuple(bases) 
     371 
     372            ns0.getListType_Def.__init__(self, **kw) 
     373            if self.pyclass is not None: self.pyclass.__name__ = "getList_Dec_Holder" 
     374 
    270375    class doAuthorSearchReturn_Dec(ElementDeclaration): 
    271376        literal = "doAuthorSearchReturn" 
     
    324429            if self.pyclass is not None: self.pyclass.__name__ = "doPresentReturn_Dec_Holder" 
    325430 
     431    class getListNamesReturn_Dec(ElementDeclaration): 
     432        literal = "getListNamesReturn" 
     433        schema = "urn:DiscoveryServiceAPI" 
     434        def __init__(self, **kw): 
     435            kw["pname"] = ("urn:DiscoveryServiceAPI","getListNamesReturn") 
     436            kw["aname"] = "_getListNamesReturn" 
     437            if ns0.getListNamesReturnType_Def not in ns0.getListNamesReturn_Dec.__bases__: 
     438                bases = list(ns0.getListNamesReturn_Dec.__bases__) 
     439                bases.insert(0, ns0.getListNamesReturnType_Def) 
     440                ns0.getListNamesReturn_Dec.__bases__ = tuple(bases) 
     441 
     442            ns0.getListNamesReturnType_Def.__init__(self, **kw) 
     443            if self.pyclass is not None: self.pyclass.__name__ = "getListNamesReturn_Dec_Holder" 
     444 
     445    class getListReturn_Dec(ElementDeclaration): 
     446        literal = "getListReturn" 
     447        schema = "urn:DiscoveryServiceAPI" 
     448        def __init__(self, **kw): 
     449            kw["pname"] = ("urn:DiscoveryServiceAPI","getListReturn") 
     450            kw["aname"] = "_getListReturn" 
     451            if ns0.getListReturnType_Def not in ns0.getListReturn_Dec.__bases__: 
     452                bases = list(ns0.getListReturn_Dec.__bases__) 
     453                bases.insert(0, ns0.getListReturnType_Def) 
     454                ns0.getListReturn_Dec.__bases__ = tuple(bases) 
     455 
     456            ns0.getListReturnType_Def.__init__(self, **kw) 
     457            if self.pyclass is not None: self.pyclass.__name__ = "getListReturn_Dec_Holder" 
     458 
    326459# end class ns0 (tns: urn:DiscoveryServiceAPI) 
Note: See TracChangeset for help on using the changeset viewer.