Example #1
0
    def __init__(self,
                 generic_scheduler_arguments,
                 baseurl,
                 username,
                 password,
                 login_baseurl=None,
                 experiments_map=None,
                 **kwargs):
        super(ExternalWebLabDeustoScheduler,
              self).__init__(generic_scheduler_arguments, **kwargs)

        self.baseurl = baseurl
        self.login_baseurl = login_baseurl
        self.username = username
        self.password = password
        if experiments_map is None:
            self.experiments_map = {}
        else:
            self.experiments_map = experiments_map

        from weblab.core.coordinator.coordinator import POST_RESERVATION_EXPIRATION_TIME, DEFAULT_POST_RESERVATION_EXPIRATION_TIME
        post_reservation_expiration_time = self.cfg_manager.get_value(
            POST_RESERVATION_EXPIRATION_TIME,
            DEFAULT_POST_RESERVATION_EXPIRATION_TIME)
        self.expiration_delta = datetime.timedelta(
            seconds=post_reservation_expiration_time)

        period = self.cfg_manager.get_value(RETRIEVAL_PERIOD_PROPERTY_NAME,
                                            DEFAULT_RETRIEVAL_PERIOD)
        self.retriever = ResultsRetriever(self, period,
                                          self._create_logged_in_client)
        self.retriever.start()

        self.external_weblabdeusto_reservations = self.EXTERNAL_WEBLABDEUSTO_RESERVATIONS % (
            self.baseurl, self.resource_type_name)