diff options
| author | 2019-06-25 17:53:00 +0100 | |
|---|---|---|
| committer | 2019-06-25 17:53:00 +0100 | |
| commit | 12181bfec6c3219571d50779a21e649f23e2b030 (patch) | |
| tree | 957f74cce2eea46a53bd643e46d4e576012d4e2d /src | |
| parent | catch and format "unknown record type" exceptions (diff) | |
| signature | ||
Add system to have multiple url shorteners and chose which to use
Diffstat (limited to 'src')
| -rw-r--r-- | src/Exports.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Exports.py b/src/Exports.py index 55f96a4a..cad2cc6d 100644 --- a/src/Exports.py +++ b/src/Exports.py @@ -25,6 +25,10 @@ class Exports(object): self._context_exports[context][setting] = [] self._context_exports[context][setting].append(value) + def _get_keys(self): + return set(list(self._exports.keys()) + +list(self._context_exports.keys())) + def get_all(self, setting: str) -> typing.List[typing.Any]: return self._exports.get(setting, []) + sum([ exports.get(setting, []) for exports in @@ -34,6 +38,14 @@ class Exports(object): values = self.get_all(setting) return values[0] if values else default + def find_one(self, setting_prefix: str, default: typing.Any=None + ) -> typing.Optional[typing.Any]: + keys = self._get_keys() + for key in keys: + if key.startswith(setting_prefix): + return key + return default + def purge_context(self, context: str): if context in self._context_exports: del self._context_exports[context] |
