Changeset 6455 for cowsserver


Ignore:
Timestamp:
02/02/10 08:47:26 (10 years ago)
Author:
pnorton
Message:

Fixed the owslib tests to work with the new CSML folder structure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cowsserver/trunk/lib/cowsserver/tests/owslib_tests/wms_test_image_download.py

    r6395 r6455  
    1313import time 
    1414import pprint 
     15import sys 
     16import traceback 
    1517import random 
    1618 
     
    6264 
    6365        data = urlencode(request) 
     66         
    6467        if method == 'Post': 
    6568            u = wms._open(base_url, data=data) 
     
    112115        wms = WebMapService(url)#, version='1.3.0') 
    113116         
     117    except (KeyboardInterrupt, SystemExit): 
     118        raise 
    114119    except: 
     120        print "-" * 60 
     121        traceback.print_exc(file=sys.stdout) 
     122        print "-" * 60 
     123         
    115124        print "\nexception getting capabilities for wms with url = %s\n" % (url,) 
    116125        return 
     
    130139        os.mkdir(datasetPath) 
    131140     
    132      
    133     for layerId, layerMetadata in wms.contents.items(): 
    134 #        print "layer id = ", layerId 
     141    
     142    layers = getAllNamedLayers(wms.contents.values()) 
     143     
     144    for layerMetadata in layers: 
     145 
     146        layerId = layerMetadata.id 
     147 
    135148        if layerId is None: 
    136149            continue 
     
    165178                img = utils.makePILImage(imgfh) 
    166179                imgfh.close() 
     180            except (KeyboardInterrupt, SystemExit): 
     181                raise 
    167182            except: 
     183                 
    168184                print "\nexception getting image for dataset = %s, layer = %s, time = %s\n" % (dataset, layerId, time) 
    169185                continue 
     
    180196            outFile = os.path.join(datasetPath, name) 
    181197            finalImg.save(outFile) 
    182              
    183             name = '%s_frame%02i.png' % (layerId,i,) 
    184             outFile = os.path.join(datasetPath, name) 
    185             finalImg.save(outFile) 
     198#            print "saving %s" % (outFile) 
     199#            name = '%s_frame%02i.png' % (layerId,i,) 
     200#            outFile = os.path.join(datasetPath, name) 
     201#            finalImg.save(outFile) 
    186202                         
    187203             
     
    192208    #convert *.png output.gif 
    193209 
     210def getAllNamedLayers(metadataItems): 
     211    l = [] 
     212     
     213    for mItem in metadataItems: 
     214        if mItem.id != None: 
     215            l.append(mItem) 
     216             
     217        if len(mItem.layers) > 0: 
     218            l += getAllNamedLayers(mItem.layers) 
     219     
     220    return l 
     221 
    194222 
    195223def getLegendForEndpoint(url, outputFolder, dsName=None,  
     
    206234        os.mkdir(datasetPath) 
    207235             
    208     print "\nwms url = %s" % (url,) 
    209236    wms = WebMapService(url) 
    210      
    211     print "operations = ", [op.name for op in wms.operations] 
    212     print "get map formats = ", wms.getOperationByName('GetMap').formatOptions 
    213     print "wmc.capabilities = ",  wms.capabilities     
    214      
     237    
    215238    legendLayer = None 
    216     for layerId, layerMetadata in wms.contents.items(): 
     239    
     240    layers = getAllNamedLayers(wms.contents.values()) 
     241     
     242    for layerMetadata in layers: 
     243 
     244        layerId = layerMetadata.id 
     245 
    217246        if layerId is None: 
    218247            continue 
     
    255284    olinefh.close() 
    256285         
    257     getWMSImagesForCowsEndpoint(cowsEndpoint, outlineImage=outlineImage, size=size) 
    258      
    259 #    outputFolder = getOwsLibTestOutputDir() 
     286#    getWMSImagesForCowsEndpoint(cowsEndpoint, outlineImage=outlineImage, size=size) 
     287     
     288    outputFolder = getOwsLibTestOutputDir() 
     289     
     290     
     291     
    260292#    url = 'http://ice.badc.rl.ac.uk:5000/PML_412_Ocean_Optical/wms' 
    261 #     
    262 #    getWMSImagesForEndpoint(url, outputFolder,  
    263 #                            dsName='PML_412', 
    264 #                            outlineImage=outlineImage, 
    265 #                            selectTime='all', 
    266 #                            cmap_scale='log', 
    267 #                            size=size 
    268 #                            ) 
    269 #     
    270 #    getLegendForEndpoint(url, outputFolder,  
    271 #                            dsName='PML_412', 
    272 #                            cmap_scale='log', 
    273 #                            size=(900,150), 
    274 #                            cmap_min='1e-5', 
    275 #                            cmap_max='1', 
    276 #                            ) 
     293 
     294    url = 'http://ice.badc.rl.ac.uk:5000/clim/wms?request=GetCapabilities&service=WMS' 
     295    dsName = 'clim' 
     296    outputFolder = '/data/pnorton/owslib_tests' 
     297     
     298    getWMSImagesForEndpoint(url, outputFolder,  
     299                            dsName=dsName, 
     300                            outlineImage=outlineImage, 
     301                            selectTime='all', 
     302                            size=size 
     303                            ) 
     304     
     305    getLegendForEndpoint(url, outputFolder,  
     306                            dsName=dsName, 
     307                            cmap_scale='log', 
     308                            size=(900,150), 
     309                            cmap_min='1e-5', 
     310                            cmap_max='1', 
     311                            ) 
    277312     
    278313    print "done in %ss" % (time.time() - st) 
Note: See TracChangeset for help on using the changeset viewer.