| Server IP : 176.32.38.42 / Your IP : 216.73.217.104 Web Server : LiteSpeed System : Linux ha006.mymail.zone 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64 User : s1225329 ( 1835) PHP Version : 7.4.33 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/cli_versions/ |
Upload File : |
# -*- 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()