Changeset 1316

Show
Ignore:
Timestamp:
06/26/09 02:08:05 (9 months ago)
Author:
domlowe
Message:

Version parameter now optional in WebCoverageService? init as per spec - patch from Goyo

Location:
OWSLib/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • OWSLib/trunk/owslib/coverage/wcsBase.py

    r1308 r1316  
    6767    """ 
    6868 
    69     def __init__(self, version): 
     69    def __init__(self, version=None): 
    7070        """Initialize 
    7171        @type version: string 
     
    9292        if 'request' not in params: 
    9393            qs.append(('request', 'GetCapabilities')) 
    94         if 'version' not in params: 
     94        if ('version' not in params) and (self.version is not None): 
    9595            qs.append(('version', self.version)) 
    9696 
  • OWSLib/trunk/owslib/wcs.py

    r1095 r1316  
    1414""" 
    1515 
    16 from coverage import wcs100, wcs110  
    17 def WebCoverageService(url, version='1.1.0', xml=None): 
     16 
     17import urllib2 
     18import etree 
     19from coverage import wcs100, wcs110, wcsBase 
     20 
     21def WebCoverageService(url, version=None, xml=None): 
    1822    ''' wcs factory function, returns a version specific WebCoverageService object ''' 
     23    if xml is None: 
     24        reader = wcsBase.WCSCapabilitiesReader() 
     25        request = reader.capabilities_url(url) 
     26        xml = urllib2.urlopen(request).read() 
     27 
     28    if version is None: 
     29        capabilities = etree.etree.fromstring(xml) 
     30        version = capabilities.get('version') 
     31        del capabilities 
     32     
    1933    if version == '1.0.0': 
    2034        return wcs100.WebCoverageService_1_0_0.__new__(wcs100.WebCoverageService_1_0_0, url, xml) 
  • OWSLib/trunk/tests/wcs_idee.txt

    r1307 r1316  
    77 
    88    >>> from owslib.wcs import WebCoverageService 
    9     >>> wcs=WebCoverageService('http://www.idee.es/wcs/IDEE-WCS-UTM30N/wcsServlet', version='1.0.0') 
     9    >>> wcs=WebCoverageService('http://www.idee.es/wcs/IDEE-WCS-UTM30N/wcsServlet') 
     10    >>> wcs.version 
     11    '1.0.0' 
    1012    >>> wcs.url 
    1113    'http://www.idee.es/wcs/IDEE-WCS-UTM30N/wcsServlet' 
    12     >>> wcs.version 
    13     '1.0.0' 
    1414    >>> wcs.identification.service 
    1515    'IDEE-WCS-UTM30N' 
    1616    >>> wcs.provider.name 
    17     'IAAA Laboratory, University of Zaragoza' 
    18     >>> wcs.provider.contact.organization 
    19     'IAAA Laboratory, University of Zaragoza' 
     17    u'Instituto Geogr\xe1fico Nacional' 
    2018    >>> wcs.contents.keys() 
    2119    ['MDT25_peninsula_pendientes', 'MDT_peninsula_baleares_aspecto', 'MDT1000_peninsula_baleares', 'MDT500_peninsula_baleares', 'MDT_peninsula_baleares', 'MDT500_peninsula_baleares_pendientes', 'MDT1000_peninsula_baleares_pendientes', 'MDT_peninsula_baleares_pendientes', 'MDT25_peninsula_ZIP', 'MDT25_peninsula_aspecto', 'MDT500_peninsula_baleares_aspecto', 'MDT1000_peninsula_baleares_aspecto']