%PDF- %PDF-
Direktori : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/cli_versions/ |
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/cli_versions/registry.py |
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT class VersionRegistry: def __init__(self): self._version_to_implementation = {} self._latest_implementation = None def register(self, api_version): def decorator(api_implementation_class): self._version_to_implementation[api_version] = api_implementation_class return api_implementation_class return decorator def latest(self): def decorator(api_implementation_class): self._latest_implementation = api_implementation_class return api_implementation_class return decorator def get_implementation(self, api_version): return self._version_to_implementation.get(api_version, self._latest_implementation) def get_all_versions(self): return list(self._version_to_implementation.keys()) admin_cli_version_registry = VersionRegistry() user_cli_version_registry = VersionRegistry()