def calculate_interval(self, option_name: str) -> Interval: """ Calculates the interval for a options record :param option_name for which we want to create the interval. :param last_stop datetime of the last stop for thebididng object. :return: Interval created for the option """ duration = 0 interval = Interval() fstart = self.get_option_value(option_name, "Start") fstop = self.get_option_value(option_name, "Stop") if fstart.value: interval.start = ParseFormats.parse_time(fstart.value) if not interval.start: raise ValueError("Invalid start time {0}".format(fstart.value)) if fstop.value: interval.stop = ParseFormats.parse_time(fstop.value) if not interval.stop: raise ValueError("Invalid stop time {0}".format(fstart.value)) # do we have a stop time defined that is in the past ? if interval.stop and interval.stop <= datetime.now(): logger = log().get_logger() logger.debug("Bidding object running time is already over") if interval.start < datetime.now(): # start late tasks immediately interval.start = datetime.now() interval.duration = (interval.stop - interval.start).total_seconds() return interval
def __init__(self, app=None): self.client_data = ClientMainData() super(ClientMessageProcessor, self).__init__(self.client_data.domain) self.app = app self.auction_session_manager = AuctionSessionManager() self.logger = log().get_logger()
def __init__(self, domain: int, module_directory: str): self.domain = domain self.requests = {} self.config = Config().get_config() self.field_sets = {} self.logger = log().get_logger() if not module_directory: if 'AGNTProcessor' in self.config: if 'ModuleDir' in self.config['AGNTProcessor']: module_directory = self.config['AGNTProcessor'][ 'ModuleDir'] else: ValueError( 'Configuration file does not have {0} entry within {1}' .format('ModuleDir', 'AGNTProcessor')) else: ValueError( 'Configuration file does not have {0} entry,please include it' .format('AGNTProcessor')) if 'AGNTProcessor' in self.config: if 'Modules' in self.config['AGNTProcessor']: modules = self.config['AGNTProcessor']['Modules'] self.module_loader = ModuleLoader(module_directory, 'AGNTProcessor', modules) else: ValueError( 'Configuration file does not have {0} entry within {1}'. format('Modules', 'AGNTProcessor')) else: ValueError( 'Configuration file does not have {0} entry,please include it'. format('AGNTProcessor'))
def __init__(self, domain: int, module_directory: str=None): super(AuctionProcessor, self).__init__(domain) self.auctions = {} self.config = Config().get_config() self.field_sets = {} self.logger = log().get_logger() self.field_def_manager = FieldDefManager() if not module_directory: if 'AUMProcessor' in self.config: if 'ModuleDir' in self.config['AUMProcessor']: module_directory = self.config['AUMProcessor']['ModuleDir'] else: ValueError( 'Configuration file does not have {0} entry within {1}'.format('ModuleDir', 'AumProcessor')) else: ValueError('Configuration file does not have {0} entry,please include it'.format('AumProcessor')) if 'AUMProcessor' in self.config: if 'Modules' in self.config['AUMProcessor']: modules = self.config['AUMProcessor']['Modules'] self.module_loader = ModuleLoader(module_directory, 'AUMProcessor', modules) else: ValueError( 'Configuration file does not have {0} entry within {1}'.format('Modules', 'AumProcessor')) else: ValueError('Configuration file does not have {0} entry,please include it'.format('AumProcessor')) self.build_field_sets()
def __init__(self, module_name: str, module_file: str, module_handle, config_group: str): super(SubsidyAuctionUser, self).__init__(module_name, module_file, module_handle, config_group) self.config_param_list = {} self.proc_module = ProcModule() self.domain = 0 self.logger = log().get_logger()
def __init__(self, session: AuctionSession): self.session_manager = AuctionSessionManager() self.session = session self.client_data = ClientMainData() self.client_message_processor = ClientMessageProcessor() self.agent_processor = AgentProcessor(self.client_data.domain, "") self.auction_manager = AuctionManager(self.client_data.domain) self.logger = log().get_logger()
def __init__(self, domain: int): """ Create an auction manager :param domain: id of the agent """ super(AuctionManager, self).__init__(domain) self.time_idx = {} self.logger = log().get_logger()
def __init__(self, module_name: str, module_file: str, module_handle, config_group: str): super(ProgressiveSecondPriceUser, self).__init__(module_name, module_file, module_handle, config_group) self.config_param_list = {} self.proc_module = ProcModule() self.domain = 0 self.logger = log().get_logger()
def __init__(self, auction: Auction, seconds_to_start: float): """ Method to create the task :param auction: auction to remove :param seconds_to_start: seconds for starting the task. """ super(HandleRemoveAuction, self).__init__(seconds_to_start) self.auction = auction self.logger = log().get_logger()
def __init__(self, module_name: str, module_file: str, module_handle, config_group: str): super(BasicModule, self).__init__(module_name, module_file, module_handle, config_group) self.config_params = {} self.logger = log().get_logger() self.bandwidth = 0 self.reserved_price = 0 self.domain = 0 self.proc_module = ProcModule()
def __init__(self, file_name: str, seconds_to_start: float): """ Method to create the task :param file_name: file name to load. The file name includes the absolute path. :param seconds_to_start: seconds for starting the task. """ super(HandleLoadResourcesFromFile, self).__init__(seconds_to_start) self.file_name = file_name self.server_main_data = ServerMainData() self.resource_manager = ResourceManager(self.server_main_data.domain) self.logger = log().get_logger()
def __init__(self, request_process_key: str, seconds_to_start: float): """ Handles the execution of an auction :param request_process_key: request process key to remove. :param seconds_to_start: seconds to wait for running the task. """ super(HandleRequestProcessRemove, self).__init__(seconds_to_start) self.request_process_key = request_process_key self.client_data = ClientMainData() self.agent_processor = AgentProcessor(self.client_data.domain, '') self.logger = log().get_logger()
def __init__(self, auction: Auction, seconds_to_start: float): """ Creates the task :param auction: auction to activate :param seconds_to_start: seconds when the auction should be activate """ super(HandleActivateAuction, self).__init__(seconds_to_start) self.auction = auction self.server_main_data = ServerMainData() self.auction_processor = AuctionProcessor(self.server_main_data.domain) self.logger = log().get_logger()
def __init__(self, session: AuctionSession, ipap_message: IpapMessage, seconds_to_start: float): super(HandleAddBiddingObjects, self).__init__(seconds_to_start) self.session = session self.ipap_message = ipap_message self.server_main_data = ServerMainData() self.server_message_processor = ServerMessageProcessor() self.bididing_manager = BiddingObjectManager( self.server_main_data.domain) self.auction_manager = AuctionManager(self.server_main_data.domain) self.template_container = IpapTemplateContainerSingleton() self.logger = log().get_logger()
def __init__(self, domain: int): super(BiddingObjectManager, self).__init__(domain) self.index_by_session: DefaultDict[str, list] = defaultdict(list) self.index_by_parent: DefaultDict[str, list] = defaultdict(list) self.logger = log().get_logger() try: self.store_objects = Config().get_config_param( 'Main', 'StoreObjects') except ValueError: self.store_objects = False # by default does not store objects. pass
def __init__(self, config_file_name: str): self._pending_tasks_by_auction = {} self.config = Config(config_file_name).get_config() # Start Listening the web server application loop = asyncio.get_event_loop() self.app = Application(loop=loop) # Gets the log file log_file_name = self.config['DefaultLogFile'] self.logger = log(log_file_name).get_logger() self.domain = ParseFormats.parse_int(Config().get_config_param( 'Main', 'Domain')) self.immediate_start = ParseFormats.parse_bool( Config().get_config_param('Main', 'ImmediateStart')) self._load_main_data() self._load_control_data()
def __init__(self, db_type: str = 'postgres', db_server: str = None, user: str = None, password: str = None, port: int = None, database_name: str = None, min_size: int = 1, max_size: int = 1): self.db_type = db_type self.db_server = db_server self.user = user self.password = password self.port = port self.database_name = database_name self.min_size = min_size self.max_size = max_size self.pool = None self.logger = log().get_logger() print('database manager in init')
def __init__(self): self.server_data = ServerMainData() super(ServerMessageProcessor, self).__init__(self.server_data.domain) self.session_manager = SessionManager() self.logger = log().get_logger()
def __init__(self, time: float): self.time = time self.is_started = False self._task = None self.logger = log().get_logger()
def __init__(self): self._task = None self.logger = log().get_logger()
def __init__(self, domain): super(IpapAuctionParser, self).__init__(domain) self.ipap_template_container = IpapTemplateContainerSingleton() self.logger = log().get_logger()
def __init__(self, server_connection: ServerConnection, ipap_message: IpapMessage, seconds_to_start: float): super(HandleAuctionMessage, self).__init__(seconds_to_start) self.server_connection = server_connection self.message = ipap_message self.logger = log().get_logger()
def __init__(self, domain: int): self.domain = domain self.auctioning_objects = {} self.auctioning_objects_done = {} self.logger = log().get_logger()
def __init__(self, domain: int): super(ResourceManager, self).__init__(domain) self.time_idx = {} self.logger = log().get_logger()