Ejemplo n.º 1
0
 def get_resources_for_dataset(self, 
         resources=None,
         in_storage=None,
         out_storage=None,
         in_table_name=None,
         in_table_name_groups=None,
         out_table_name=None,
         attributes=None,
         id_name=None,
         id_name_default=None,
         nchunks=None,
         debug=None,
         ):
     # Defaults:
     in_table_name_default = "plan_type_groups"
     attributes_default = AttributeType.PRIMARY
     out_table_name_default = "plan_type_groups"
     dataset_name = "plan_type_group"
     nchunks_default = 1
     resources = ResourceFactory().get_resources_for_dataset(
             dataset_name,
             resources = resources, 
             in_storage = in_storage,
             out_storage = out_storage,
             in_table_name_pair = (in_table_name,in_table_name_default), 
             attributes_pair = (attributes,attributes_default), 
             out_table_name_pair = (out_table_name, out_table_name_default), 
             id_name_pair = (id_name,id_name_default), 
             nchunks_pair = (nchunks,nchunks_default),                
             debug_pair = (debug,None),
             )
       
     resources.merge({"replace_nulls_with":"None"})
             
     return resources
Ejemplo n.º 2
0
    def get_resources_for_dataset(self,
                                  resources=None,
                                  in_storage=None,
                                  out_storage=None,
                                  in_table_name=None,
                                  in_table_name_groups=None,
                                  out_table_name=None,
                                  attributes=None,
                                  id_name=None,
                                  id_name_default=None,
                                  nchunks=None,
                                  debug=None):
        # Defaults:
        in_table_name_default = "employment_adhoc_sector_groups"
        attributes_default = AttributeType.PRIMARY
        out_table_name_default = "employment_adhoc_sector_groups"
        dataset_name = "employment_sector_group"
        nchunks_default = 1

        resources = ResourceFactory().get_resources_for_dataset(
            dataset_name,
            resources=resources,
            in_storage=in_storage,
            out_storage=out_storage,
            in_table_name_pair=(in_table_name, in_table_name_default),
            attributes_pair=(attributes, attributes_default),
            out_table_name_pair=(out_table_name, out_table_name_default),
            id_name_pair=(id_name, id_name_default),
            nchunks_pair=(nchunks, nchunks_default),
            debug_pair=(debug, None))

        resources.merge({"replace_nulls_with": "None"})

        return resources
    def __init__(self, resources=None, what="household", in_storage=None,
                 in_table_name=None, out_storage=None, out_table_name=None, 
                 id_name=None, nchunks=None, debuglevel=0):
        ## TODO remove "what" arguement
        
        debug = DebugPrinter(debuglevel)
        debug.print_debug("Creating ControlTotalDataset object for "+what+".",2)
        
        if not self.in_table_name_default:
            self.in_table_name_default = "annual_" + what + "_control_totals"
        if not self.out_table_name_default:         
            self.out_table_name_default = "annual_" + what + "_control_totals"
            
        attributes_default = AttributeType.PRIMARY
        #dataset_name = "control_total"
        nchunks_default = 1

        resources = ResourceFactory().get_resources_for_dataset(
            self.dataset_name,
            resources=resources,
            in_storage=in_storage,
            out_storage=out_storage,
            in_table_name_pair=(in_table_name,self.in_table_name_default),
            attributes_pair=(None, attributes_default),
            out_table_name_pair=(out_table_name, self.out_table_name_default),
            id_name_pair=(id_name,self.id_name_default),
            nchunks_pair=(nchunks,nchunks_default),
            debug_pair=(debug,None)
            )
        
        table_name = resources["in_table_name"]
        if resources['id_name'] is None or len(resources['id_name'])== 0:
            #if both self.id_name_default and id_name argument in __init__ is unspecified, 
            #ControlTotalDataset would use all attributes not beginning with "total"
            #as id_name
            id_names = []
            column_names = resources["in_storage"].get_column_names(table_name)
            for column_name in column_names:
                if not re.search('^total', column_name):
                    id_names.append(column_name)
            resources.merge({"id_name":resources["id_name"] + id_names})

        Dataset.__init__(self, resources = resources)