Changeset 1378 for TI02-CSML


Ignore:
Timestamp:
10/08/06 12:51:53 (13 years ago)
Author:
domlowe
Message:

added switch to allow visual test of config file before scan, added getConfigNoError method to ConfigParser? to return None if config option/section is missing rather than error. Should go in ndg.utils?

Location:
TI02-CSML/trunk/Scanner
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI02-CSML/trunk/Scanner/csmlscan.py

    r1376 r1378  
    9191         
    9292""" 
     93#this should go in ndg.utils 
     94def getConfigNoError(self, section, option): 
     95    # get the config option, returning None if not present 
     96    try: 
     97        value = self.get(section, option) 
     98    except ConfigParser.NoSectionError,ConfigParser.NoOptionError: 
     99        #config value is not set 
     100        value =None  
     101    return value 
     102     
    93103def main(optargs=None): 
     104    #assign extra method to configparser 
     105    ConfigParser.ConfigParser.getConfigNoError=getConfigNoError 
    94106    config = ConfigParser.ConfigParser() 
    95107    #Get command line arguments 
     
    99111        sys.argv =optargs 
    100112    try: 
    101             opts, args = getopt.getopt(sys.argv[1:], "c:d:f:t:m:rpo:h", ["configfile=,directory=", "csmlfeaturetype=", "timedimension=", "filemapping=", "recursive", "printscreen", "outputfile=", "help"]) 
     113            opts, args = getopt.getopt(sys.argv[1:], "c:xd:f:t:m:rpo:h", ["configfile=,directory=", "csmlfeaturetype=", "exitafterconfig","timedimension=", "filemapping=", "recursive", "printscreen", "outputfile=", "help"]) 
    102114    except getopt.error, msg: 
    103115            print "Invalid options, use --help for help" 
    104116            sys.exit() 
    105     print 'hello' 
    106117    for o, v in opts: 
    107118            if o in ("-c", "--configfile"): 
    108119                configfile = v 
    109120                hasConfig=True 
    110                 print 'true' 
    111                      
    112                      
     121                configTest=False 
     122                for o, v in opts: 
     123                    if o in ("-x", "--exitafterconfig"): 
     124                        configTest=True 
     125            else: pass #process other args... TODO 
     126 
    113127    if hasConfig == True: 
    114128        config.read(configfile) 
    115         # dump entire config file 
    116         if config.sections()==[]: 
    117             print 'Either the config file is invalid or could not be found' 
     129        FEATURETYPE = config.getConfigNoError('features', 'type') 
     130        FEATURENUMBER = config.getConfigNoError('features', 'number') 
     131        ROOTDIRECTORY = config.getConfigNoError('files', 'root') 
     132        MAPPING = config.getConfigNoError('files', 'mapping') 
     133        OUTPUTFILE = config.getConfigNoError('files', 'output') 
     134        SRSNAME = config.getConfigNoError('SpatialReference', 'srs') 
     135        TIMEDIMENSION=config.getConfigNoError('time','timedimension') 
     136         
     137        if configTest==True: 
     138            print 'Testing config file:' 
     139            print 'Enables you to check your config file has been correctly interpreted.' 
     140            print '\n' 
     141            print 'The following config options have been set:' 
     142            print '\n features:type =%s'%FEATURETYPE 
     143            print '\n features:number =%s'%FEATURENUMBER 
     144            print '\n files:root =%s'%ROOTDIRECTORY 
     145            print '\n files:mapping =%s'%MAPPING 
     146            print '\n files:output =%s'%OUTPUTFILE 
     147            print '\n SpatialReference:srs =%s'%SRSNAME 
     148            print '\n time:timedimension =%s'%TIMEDIMENSION 
    118149            sys.exit() 
    119         for section in config.sections(): 
    120             print section 
    121             for option in config.options(section): 
    122                 print " ", option, "=", config.get(section, option) 
    123  
     150    print 'scan as normal....' 
     151         
     152 
     153        
    124154def mainOLD(optargs=None): 
    125155    #Main program: 
  • TI02-CSML/trunk/Scanner/sampleconfig.cfg

    r1376 r1378  
    44 
    55[files] 
    6 rootDirectory: ../examples/ 
     6root: ../examples/ 
    77mapping: onetomany 
     8output:csmlout.xml 
    89 
    910[SpatialReference] 
     
    1112 
    1213[time] 
    13 timevariable: t 
     14timedimension: t 
    1415 
    1516[outputfile] 
    16 filename: csmlout.xml 
     17filename:  
Note: See TracChangeset for help on using the changeset viewer.