source: qesdi/graphplotter/trunk/graphplotter/lib/df_config_reader.py @ 6311

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/qesdi/graphplotter/trunk/graphplotter/lib/df_config_reader.py@6311
Revision 6311, 1.5 KB checked in by pnorton, 10 years ago (diff)

First version of graphplotter.

Line 
1'''
2Created on 14 Jan 2010
3
4@author: pnorton
5'''
6
7from pylons import config
8from ConfigParser import SafeConfigParser
9import os
10import logging
11
12log = logging.getLogger(__name__)
13
14class DFConfigReader(object):
15    '''
16    Reads the data file config files and returns the config dictionary
17    '''
18
19
20    def __init__(self):
21        '''
22        Constructor
23        '''
24        self.configDirectory = config['df_config_dir']
25        self.cp = SafeConfigParser()
26       
27    def getConfig(self, datafile):
28       
29        dfConfig = {}
30       
31        file = os.path.join(self.configDirectory, datafile + '.ini')
32       
33        if not os.path.exists(file):
34            raise Exception("Data file config %s not found." % (file,))
35       
36        self.cp.read(file)
37       
38        dfConfig['name'] = datafile
39        dfConfig['path'] = self.cp.get('DataFile','path')
40       
41        if self.cp.has_section('AxisLookups'):
42            axisLookup = {}
43            for k in self.cp.options('AxisLookups'):
44                axisLookup[k] = self.cp.get('AxisLookups',k)
45               
46            dfConfig['axisLookup'] = axisLookup
47   
48        return dfConfig
49   
50    def getDataFileList(self):
51       
52        files = os.listdir(self.configDirectory)
53        dataFiles = [x[:-4] for x in files]
54       
55        return dataFiles
56   
57if __name__ == '__main__':
58 
59    reader = DFConfigReader()
60    config = reader.getConfig('co2')
61   
62    from pprint import pprint
63    pprint(config)
64   
Note: See TracBrowser for help on using the repository browser.