def bank__get_parameters_from_file(self, args): import os from src.bank import Bank from src.household import Household from src.firm import Firm from src.environment import Environment # needed for the bankDirectory text = "This test checks bank.get_parameters_from_file \n" self.print_info(text) # # INITIALIZATION # environment_directory = str(args[0]) identifier = str(args[1]) log_directory = str(args[2]) # Configure logging parameters so we get output while the program runs logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_directory + identifier + ".log", level=logging.INFO) logging.info( 'START logging for test bank__get_parameters_from_file in run: %s', environment_directory + identifier + ".xml") # Construct bank filename environment = Environment(environment_directory, identifier) # get the bank_directory from the environment bank_directory = environment.bank_directory # and loop over all banks in the directory listing = os.listdir(bank_directory) bank_filename = bank_directory + listing[0] # generate a household household = Household() environment.households.append(household) # generate a firm firm = Firm() environment.firms.append(firm) # generate the bank bank = Bank() environment.banks.append(bank) bank.get_parameters_from_file(bank_filename, environment) # # TESTING # # test whether the parameters are read properly text = "Identifier has been read as follows: \n" text = text + "Identifier: " text = text + bank.identifier text = text + "\n" self.print_info(text)
def bank__get_parameters(self, args): import os from src.bank import Bank from src.household import Household from src.firm import Firm from src.environment import Environment # needed for the bankDirectory text = "This test checks bank.get_parameters \n" self.print_info(text) # # INITIALIZATION # environment_directory = str(args[0]) identifier = str(args[1]) log_directory = str(args[2]) # Configure logging parameters so we get output while the program runs logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_directory + identifier + ".log", level=logging.INFO) logging.info('START logging for test bank__get_parameters in run: %s', environment_directory + identifier + ".xml") # Construct bank filename environment = Environment(environment_directory, identifier) # get the bank_directory from the environment bank_directory = environment.bank_directory # and loop over all banks in the directory listing = os.listdir(bank_directory) bank_filename = bank_directory + listing[0] # generate a household household = Household() household.identifier = "test_household" environment.households.append(household) # generate a firm firm = Firm() firm.identifier = "test_firm" environment.firms.append(firm) # generate the bank bank = Bank() environment.banks.append(bank) helper = Helper() helper.initialize_standard_bank(bank, environment) bank.get_parameters_from_file(bank_filename, environment) # # TESTING # text = "Parameters:" print(text) print(bank.get_parameters())
def initialize_banks_from_files(self, bankDirectory, state, time): from src.bank import Bank # this routine is called more than once, so we have to reset the list of banks each time self.banks = [] listing = os.listdir(bankDirectory) if (len(listing) != self.static_parameters["numBanks"]): logging.error(" ERROR: number of configuration files in %s (=%s) does not match numBanks (=%s)", bankDirectory, str(len(listing)), str(self.static_parameters["numBanks"])) for infile in listing: bank = Bank() bank.get_parameters_from_file(bankDirectory + infile, self.get_state(0), self.static_parameters["numBanks"], time) self.banks.append(bank) bank.__del__() # TODO not sure if this is really safe, but it is better than doing nothing about all those created instances...
def initialize_banks_from_files(self, bank_directory): from src.bank import Bank # this routine is called more than once, so we have to reset the list of banks each time self.banks = [] # we list all the files in the specified directory listing = os.listdir(bank_directory) # and check if the number of files is in line with the parameters if (len(listing) != self.num_banks): logging.error(" ERROR: number of configuration files in %s (=%s) does not match num_banks (=%s)", bank_directory, str(len(listing)), str(self.num_banks)) # we read the files sequentially for infile in listing: bank = Bank() bank.get_parameters_from_file(bank_directory + infile, self) # and read parameters to the banks, only to add them to the environment self.banks.append(bank)
def initialize_banks_from_files(self, bank_directory): from src.bank import Bank # this routine is called more than once, so we have to reset the list of banks each time self.banks = [] # we list all the files in the specified directory listing = os.listdir(bank_directory) # and check if the number of files is in line with the parameters if (len(listing) != self.num_banks): logging.error(" ERROR: number of configuration files in %s (=%s) does not match num_banks (=%s)", bank_directory, str(len(listing)), str(self.num_banks)) # we read the files sequentially for infile in listing: bank = Bank() bank.get_parameters_from_file(bank_directory + infile, self) # and read parameters to the banks, only to add them to the environment self.banks.append(bank)
def initialize_banks_from_files(self, bankDirectory, state, time): # this routine is called more than once, so we have to reset the list of banks each time self.banks = [] listing = os.listdir(bankDirectory) # print('listing', listing) if len(listing) != self.parameters.numBanks: logging.error(" ERROR: number of configuration files in %s (=%s) does not match numBanks (=%s)", bankDirectory, str(len(listing)), str(self.parameters.numBanks)) for infile in listing: # print("infile", infile) bank = Bank() bank.get_parameters_from_file(bankDirectory + infile, self.get_state(0), self.parameters.numBanks, time) # print("bank", bank) self.banks.append(bank) bank.__del__() # TODO not sure if this is really safe, but it is better than doing nothing about all those created instances...