def firm__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 firm.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 firm__get_parameters_from_file in run: %s', environment_directory + identifier + ".xml") # Construct firm filename environment = Environment(environment_directory, identifier) # get the firm_directory from the environment firm_directory = environment.firm_directory # and loop over all firms in the directory listing = os.listdir(firm_directory) firmFilename = firm_directory + listing[0] # generate a household household = Household() household.identifier = "test_household" environment.households.append(household) # generate a bank bank = Bank() bank.identifier = "test_bank" environment.banks.append(bank) # generate a firm firm = Firm() environment.firms.append(firm) helper = Helper() helper.initialize_standard_firm(firm, environment) firm.get_parameters_from_file(firmFilename, environment) # # TESTING # # test whether the parameters are read properly text = "Identifier has been read as follows: \n" text = text + "Identifier: " text = text + firm.identifier text = text + "\n" text = text + "Productivity: " text = text + str(firm.parameters["productivity"]) self.print_info(text)
def initialize_firms_from_files(self, firm_directory): from src.firm import Firm # this routine is called more than once, so we have to reset the list of firms each time self.firms = [] # we list all the files in the specified directory listing = os.listdir(firm_directory) # and check if the number of files is in line with the parameters if (len(listing) != self.num_firms): logging.error(" ERROR: number of configuration files in %s (=%s) does not match num_firms (=%s)", firm_directory, str(len(listing)), str(self.num_firms)) # we read the files sequentially for infile in listing: firm = Firm() firm.get_parameters_from_file(firm_directory + infile, self) # and read parameters to the firms, only to add them to the environment self.firms.append(firm)
def initialize_firms_from_files(self, firm_directory): from src.firm import Firm # this routine is called more than once, so we have to reset the list of firms each time self.firms = [] # we list all the files in the specified directory listing = os.listdir(firm_directory) # and check if the number of files is in line with the parameters if (len(listing) != self.num_firms): logging.error(" ERROR: number of configuration files in %s (=%s) does not match num_firms (=%s)", firm_directory, str(len(listing)), str(self.num_firms)) # we read the files sequentially for infile in listing: firm = Firm() firm.get_parameters_from_file(firm_directory + infile, self) # and read parameters to the firms, only to add them to the environment self.firms.append(firm)
def firm__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 firm.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 firm__get_parameters_from_file in run: %s', environment_directory + identifier + ".xml") # Construct firm filename environment = Environment(environment_directory, identifier) # get the firm_directory from the environment firm_directory = environment.firm_directory # and loop over all firms in the directory listing = os.listdir(firm_directory) firmFilename = firm_directory + listing[0] # generate a household household = Household() household.identifier = "test_household" environment.households.append(household) # generate a bank bank = Bank() bank.identifier = "test_bank" environment.banks.append(bank) # generate a firm firm = Firm() environment.firms.append(firm) helper = Helper() helper.initialize_standard_firm(firm, environment) firm.get_parameters_from_file(firmFilename, environment) # # TESTING # # test whether the parameters are read properly text = "Identifier has been read as follows: \n" text = text + "Identifier: " text = text + firm.identifier text = text + "\n" text = text + "Productivity: " text = text + str(firm.parameters["productivity"]) self.print_info(text)