def __init__(self): self.server = None log_folder = program.get_base_dir('logs') if not os.path.exists(log_folder): os.mkdir(log_folder) log_file = os.path.join(log_folder, 'cot_plot.log') LOG_CONF['handlers']['logfile']['filename'] = log_file logging.config.dictConfig(LOG_CONF) self.logger = logging.getLogger(__name__) self.logger.debug( "==============================================================") self.logger.debug("CoT Plot web werver started") self.pyramid_settings = { 'reload_all': False, 'debug_all': True, 'pyramid.debug_all': True, 'pyramid.debug_routematch': True, 'pyramid.reload_all': False, 'cotplot.secret': '$nif2-EERG1$£03mf£AF$&^-' } self.config = Configurator(settings=self.pyramid_settings, root_factory='src.cot_plot.resources.Root') self.settings = settings.Settings() self.updater = Updater()
def initialize(self, environment): self.identifier = environment.identifier self.updater = Updater(environment) self.current_step = 0 self.num_sweeps = int(environment.static_parameters['num_sweeps']) #For measurement self.sweep_result_list = []
def updater__set_model_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 from src.transaction import Transaction from src.market import Market from src.updater import Updater text = "This test checks updater.set_model_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 updater__set_model_parameters in run: %s', environment_directory + identifier + ".xml") # Construct household filename environment = Environment(environment_directory, identifier) # generate a bank bank = Bank() bank.identifier = "test_bank" environment.banks.append(bank) # generate a firm firm = Firm() firm.identifier = "test_firm" environment.firms.append(firm) # generate a household household = Household() household.identifier = "test_household" environment.households.append(household) # # TESTING # model = Updater(environment) model.model_parameters = {"test": "model parameters"} print("Model's parameters:") print(model.get_model_parameters()) print("Changing model's parameters:...") model.model_parameters = {"new": "model parameters"} print("Model's parameters:") print(model.get_model_parameters())
def updater__capitalise(self, args): import os from src.bank import Bank from src.household import Household from src.firm import Firm from src.environment import Environment from src.transaction import Transaction from src.market import Market from src.updater import Updater text = "This test checks updater.capitalise \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 updater__capitalise in run: %s', environment_directory + identifier + ".xml") # Construct household filename environment = Environment(environment_directory, identifier) # # TESTING # model = Updater(environment) model.sell_labour(environment, 0) model.consume_rationed(environment, 0) model.net_loans_deposits(environment, 0) print(environment.households[0]) model.remove_perishable(environment, 0) print("Capitalising") model.capitalise(environment, 0) print(environment.households[0])
def test_updater(self) -> None: ori = parseQuery("""PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX ns: <http://example.org/ns#> SELECT ?title (?p*(1-?discount) AS ?price) { ?x ns:price ?p . ?x dc:title ?title . ?x ns:discount ?discount }""") frame = { '@context': { 'price': { '@id': 'http://example.org/ns#price' }, 'title': { '@id': 'http://purl.org/dc/elements/1.1/title' } }, 'price': {}, 'title': {} } u = Updater() res = u.update(ori, frame).dump().split('\n')[0].replace('\n', '') expect = """[[PrefixDecl_{'prefix': 'dc', 'iri': rdflib.term.URIRef('http://purl.org/dc/elements/1.1/')}, \ PrefixDecl_{'prefix': 'ns', 'iri': rdflib.term.URIRef('http://example.org/ns#')}], ConstructQuery_{'template': \ [([rdflib.term.Variable('title'), rdflib.term.URIRef('http://example.org/ns#price'), rdflib.term.Variable\ ('var1')], {}), ([rdflib.term.Variable('title'), pname_{'prefix': 'dc', 'localname': 'title'}, rdflib.term.\ Variable('var2')], {})], 'where': GroupGraphPatternSub_{'part': [TriplesBlock_{'triples': [([rdflib.term.\ Variable('x'), PathAlternative_{'part': [PathSequence_{'part': [PathElt_{'part': pname_{'prefix': 'ns', \ 'localname': 'price'}}]}]}, rdflib.term.Variable('p')], {}), ([rdflib.term.Variable('x'), PathAlternative_\ {'part': [PathSequence_{'part': [PathElt_{'part': pname_{'prefix': 'dc', 'localname': 'title'}}]}]}, rdflib.\ term.Variable('title')], {}), ([rdflib.term.Variable('x'), PathAlternative_{'part': [PathSequence_{'part': \ [PathElt_{'part': pname_{'prefix': 'ns', 'localname': 'discount'}}]}]}, rdflib.term.Variable('discount')], \ {})]}, OptionalGraphPattern_{'graph': TriplesBlock_{'triples': [([rdflib.term.Variable('title'), rdflib.term.\ URIRef('http://example.org/ns#price'), rdflib.term.Variable('var1')], {})]}}, OptionalGraphPattern_{'graph': \ TriplesBlock_{'triples': [([rdflib.term.Variable('title'), pname_{'prefix': 'dc', 'localname': 'title'}, \ rdflib.term.Variable('var2')], {})]}}]}}]""" self.assertEqual(res.strip(), expect)
def updater__accrue_interests(self, args): import os from src.bank import Bank from src.household import Household from src.firm import Firm from src.environment import Environment from src.transaction import Transaction from src.market import Market from src.updater import Updater text = "This test checks updater.accrue_interests \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 updater__accrue_interests in run: %s', environment_directory + identifier + ".xml") # Construct household filename environment = Environment(environment_directory, identifier) # generate a bank bank = Bank() bank.identifier = "test_bank" bank.interest_rate_deposits = 0.05 environment.banks.append(bank) # generate a firm firm = Firm() firm.identifier = "test_firm" environment.firms.append(firm) # generate a household household = Household() household.identifier = "test_household" environment.households.append(household) # # TESTING # model = Updater(environment) model.__init__(environment) environment.new_transaction( "deposits", "", environment.get_agent_by_id("test_household").identifier, environment.get_agent_by_id("test_bank"), 10.0, environment.get_agent_by_id("test_bank").interest_rate_deposits, 0, -1) print(environment.get_agent_by_id("test_household")) print("Accruing interests\n") model.accrue_interests(environment, 0) print(environment.get_agent_by_id("test_household"))
def initialize(self, environment): self.identifier = environment.identifier self.num_sweeps = int(environment.num_sweeps) self.updater = Updater(environment)
def initialize(self, environment): self.identifier = environment.identifier self.num_sweeps = int(environment.static_parameters['num_sweeps']) self.updater = Updater(environment)
def initialize(self, environment): self.environment = environment self.updater = Updater(self.environment) self.shocker = Shock()
with open('./gitignored/info.txt', 'r') as file: token = file.readline().strip('\n') host = file.readline().strip('\n') username = file.readline().strip('\n') password = file.readline().strip('\n') loop = asyncio.get_event_loop() lock = asyncio.Lock() bot = Bot( command_prefix='!', description='A bot that sends messages to individual people and channels' ' about news.') db_context = DbContext(host, username, password) notifier = Notifier(bot) updater = Updater() feed_reader = FeedReader() @bot.event async def on_ready(): print('Logged in as') print(bot.user.name) print(bot.user.id) print('------') loop.create_task(updater.loop(loop, bot, feed_reader, notifier, db_context)) @bot.command(name='sub', pass_context=True) async def subscribe(ctx):