diff --git a/teos/gatekeeper.py b/teos/gatekeeper.py index 6810014..4807be3 100644 --- a/teos/gatekeeper.py +++ b/teos/gatekeeper.py @@ -2,8 +2,6 @@ import re from common.cryptographer import Cryptographer -SUBSCRIPTION_SLOTS = 1 - # TODO: UNITTEST class NotEnoughSlots(ValueError): @@ -32,7 +30,8 @@ class Gatekeeper: registered_users (:obj:`dict`): a map of user_pk:appointment_slots. """ - def __init__(self): + def __init__(self, default_slots): + self.default_slots = default_slots self.registered_users = {} @staticmethod @@ -57,16 +56,16 @@ class Gatekeeper: user_pk(:obj:`str`): the public key that identifies the user (33-bytes hex str). Returns: - :obj:`int`: the number of avaiable slots in the user subscription. + :obj:`int`: the number of available slots in the user subscription. """ if not self.check_user_pk(user_pk): raise ValueError("provided public key does not match expected format (33-byte hex string)") if user_pk not in self.registered_users: - self.registered_users[user_pk] = SUBSCRIPTION_SLOTS + self.registered_users[user_pk] = self.default_slots else: - self.registered_users[user_pk] += SUBSCRIPTION_SLOTS + self.registered_users[user_pk] += self.default_slots return self.registered_users[user_pk] diff --git a/teos/teosd.py b/teos/teosd.py index 2f46341..c33e42b 100644 --- a/teos/teosd.py +++ b/teos/teosd.py @@ -151,7 +151,8 @@ def main(command_line_conf): # Fire the API and the ChainMonitor # FIXME: 92-block-data-during-bootstrap-db chain_monitor.monitor_chain() - API(Inspector(block_processor, config.get("MIN_TO_SELF_DELAY")), watcher, Gatekeeper()).start() + gatekeeper = Gatekeeper(config.get("DEFAULT_SLOTS")) + API(Inspector(block_processor, config.get("MIN_TO_SELF_DELAY")), watcher, gatekeeper).start() except Exception as e: logger.error("An error occurred: {}. Shutting down".format(e)) exit(1)