Beispiel #1
0
class DbDatasets(Datasets):
    '''Implementation of Datasets API that retrieves information from a database back-end.'''
    
    def __init__(self, db_path):
        self.dataQuery = DataQuery(db_path=db_path)
        
    def getDataTypes(self):

        tuples = []
        tuples.append( (VARIABLE, VARIABLE.capitalize()) ) # (key, label)
        tuples.append( (PACKAGE, PACKAGE.capitalize()) )   # (key, label)
        
        return tuples

    def getDatasetOptions(self, data_type, long_name=None, time_frequency=None, dataset_category=None, dataset=None,
                                dataset_category2=None, package_name=None):
        
        if data_type=='variable':
            dict = self.dataQuery.get_variable_or_index('variable', long_name=long_name, time_frequency=time_frequency, 
                                                        dataset_category=dataset_category, dataset=dataset)        
        elif data_type=='package':
            
            dict = self.dataQuery.get_package(dataset_category=dataset_category2, package_name=package_name)
                                                    
        else:
            raise Exception('Unsupported data type=%s' % data_type)
        
        return dict
    
    def getDatasets(self, data_type, long_name=None, time_frequency=None, 
                          dataset_category=None, dataset=None, package_name=None):
        
        '''Method to return the datasets for a given selection.
           Returns a list of dictionaries, one for each dataset.'''
        
        if data_type=='variable':
            dictionaries = self.dataQuery.get_variable_or_index_dataset('variable', long_name=long_name, time_frequency=time_frequency, 
                                                                         dataset_category=dataset_category, dataset=dataset)  
            
        elif data_type=='package':
            dictionaries = self.dataQuery.get_package_datasets(package_name=package_name)
            
        else:
            raise Exception("data_type=index not yet implemented")
        
        return dictionaries
Beispiel #2
0
from ncpp.util.data_scanner.query import DataQuery
from ncpp.constants import DATASETS_DB

dataQuery = DataQuery(db_path=DATASETS_DB)

dictionaries = dataQuery.get_package()
print dictionaries
Beispiel #3
0
 def __init__(self, db_path):
     self.dataQuery = DataQuery(db_path=db_path)
Beispiel #4
0
from ncpp.util.data_scanner.query import DataQuery
from ncpp.constants import DATASETS_DB

dataQuery = DataQuery(db_path=DATASETS_DB)

data_type = 'variable'
long_name = 'Maximum Air Temperature'
time_frequency = 'Day'
dataset_category = 'Downscaled'
dataset = 'BCCA-CCCMA-CGCM3'

dictionaries = dataQuery.get_variable_or_index_dataset('variable', long_name=long_name, time_frequency=time_frequency, 
                                                                  dataset_category=dataset_category, dataset=dataset)