Ejemplo n.º 1
0
    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()
Ejemplo n.º 3
0
    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'))
Ejemplo n.º 4
0
    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()
Ejemplo n.º 5
0
 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()
Ejemplo n.º 7
0
 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()
Ejemplo n.º 8
0
 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()
Ejemplo n.º 9
0
    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()
Ejemplo n.º 10
0
 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()
Ejemplo n.º 11
0
 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()
Ejemplo n.º 13
0
    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()
Ejemplo n.º 14
0
 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()
Ejemplo n.º 15
0
    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
Ejemplo n.º 16
0
    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()
Ejemplo n.º 17
0
    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')
Ejemplo n.º 18
0
 def __init__(self):
     self.server_data = ServerMainData()
     super(ServerMessageProcessor, self).__init__(self.server_data.domain)
     self.session_manager = SessionManager()
     self.logger = log().get_logger()
Ejemplo n.º 19
0
 def __init__(self, time: float):
     self.time = time
     self.is_started = False
     self._task = None
     self.logger = log().get_logger()
Ejemplo n.º 20
0
 def __init__(self):
     self._task = None
     self.logger = log().get_logger()
Ejemplo n.º 21
0
 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()
Ejemplo n.º 23
0
 def __init__(self, domain: int):
     self.domain = domain
     self.auctioning_objects = {}
     self.auctioning_objects_done = {}
     self.logger = log().get_logger()
Ejemplo n.º 24
0
 def __init__(self, domain: int):
     super(ResourceManager, self).__init__(domain)
     self.time_idx = {}
     self.logger = log().get_logger()