def load_settings(self, settings=None): path = os.path.join(self.path, 'settings.json') if settings is False or (not os.path.exists(path) and not settings): settings = { 'services': [{ 'id': 'admin', 'type': 'sovereign.contrib.admin.Service', }] } elif not settings: settings = json.load(open(path, 'r')) self.key = settings.get('key', random_str()) self._keys = set([self.key]) if (self.address is None): self.address = settings.get('address', ('0.0.0.0', 1648)) for service in settings.get('services', ()): self.create_service(service.get('id', 'type'), service, deploy=False)
def add_key(self, key=None): if key is None: key = random_str() self._keys.add(key) return key