Example #1
0
 def get_all_dependencies(self):
     """Return all variables and attributes needed to compute this variable.  
     This is returned as a list of tuples where the first element is either AttributeBox or 
     VariableName of the dependent variable and the second element is the version for 
     which this variable was computed.
     """ 
     def create_fake_dataset(dataset_name):
         storage = StorageFactory().get_storage('dict_storage')
         
         storage.write_table(
             table_name='fake_dataset',
             table_data={
                 'id':array([], dtype='int32')
                 }
             )
         
         dataset = Dataset(in_storage=storage, in_table_name='fake_dataset', dataset_name=dataset_name, id_name="id")
         return dataset
     
     result_others = []
     dependencies_list = self.get_current_dependencies()
     for i in range(len(dependencies_list)):
         dep_item = dependencies_list[i][0]
         version = dependencies_list[i][1]
         isprimary = 0
         if isinstance(dep_item, str):
             depvar_name = VariableName(dep_item)
             dataset_name = depvar_name.get_dataset_name()
             var = VariableFactory().get_variable(depvar_name, create_fake_dataset(dataset_name), 
                                                            quiet=True)
             result_others = result_others + [(depvar_name, version)]                                              
         else: # dep_item should be an instance of AttributeBox
             var = dep_item.get_variable_instance()           
             result_others = result_others + [(dep_item, version)]
             isprimary = dep_item.is_primary()
             
         if (var <> None) and (not isprimary):
             res = var.get_all_dependencies()
             result_others = result_others + res
     return result_others
Example #2
0
    def get_all_dependencies(self):
        """Return all variables and attributes needed to compute this variable.  
        This is returned as a list of tuples where the first element is either AttributeBox or 
        VariableName of the dependent variable and the second element is the version for 
        which this variable was computed.
        """
        def create_fake_dataset(dataset_name):
            storage = StorageFactory().get_storage('dict_storage')

            storage.write_table(table_name='fake_dataset',
                                table_data={'id': array([], dtype='int32')})

            dataset = Dataset(in_storage=storage,
                              in_table_name='fake_dataset',
                              dataset_name=dataset_name,
                              id_name="id")
            return dataset

        result_others = []
        dependencies_list = self.get_current_dependencies()
        for i in range(len(dependencies_list)):
            dep_item = dependencies_list[i][0]
            version = dependencies_list[i][1]
            isprimary = 0
            if isinstance(dep_item, str):
                depvar_name = VariableName(dep_item)
                dataset_name = depvar_name.get_dataset_name()
                var = VariableFactory().get_variable(
                    depvar_name, create_fake_dataset(dataset_name), quiet=True)
                result_others = result_others + [(depvar_name, version)]
            else:  # dep_item should be an instance of AttributeBox
                var = dep_item.get_variable_instance()
                result_others = result_others + [(dep_item, version)]
                isprimary = dep_item.is_primary()

            if (var <> None) and (not isprimary):
                res = var.get_all_dependencies()
                result_others = result_others + res
        return result_others