Viewing file: shared_library.py (1.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserv # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT """ This module contains X-ray objects that we pass to other projects (such as SSA) for reuse """ import json from typing import Optional
from xray.manager import initialize_manager from xray.internal.exceptions import XRayError, XRayMissingDomain from xray.internal.nginx_utils import NginxUserCache from xray.internal.utils import read_sys_id from xray.internal.types import DomainInfo
try: xray_manager = initialize_manager(read_sys_id()) except XRayError as e: xray_manager = None
# Passing an object to start autotracing start_autotracing = xray_manager.start_autotracing if xray_manager else None
def tasks_list(): """Returns list of current tasks""" try: return json.loads(xray_manager.tasks_list())['data']['result'] except (json.JSONDecodeError, AttributeError, KeyError, XRayError): return list()
def domain_info(domain_name: str) -> Optional[DomainInfo]: """ Passing an object to retrieve information about given domain from control panel environment """ try: return xray_manager.get_domain_info(domain_name) except (AttributeError, XRayMissingDomain): # if there is no such domain name among the existing ones return None
|