/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
clwpos
/
cli_versions
/
Upload Filee
HOME
# -*- 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()