| 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/cllimits/ |
Upload File : |
# -*- coding: utf-8 -*-
# domainlib.py - library for miscelaneous domain operations
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
from clcommon import cpapi
from clcommon.clexception import FormattedException
from clcommon.cpapi import NotSupported
class DomainException(FormattedException):
pass
class Domain:
def __init__(self):
self._userdomain_cache = None # type: dict[str, str]
def get_user_domain(self, username):
"""
Retrive main domain for supplied user
:param username: User name
:return: Domain name or N/A
"""
if self._userdomain_cache is None:
try:
self._userdomain_cache = dict(cpapi.cpinfo(keyls=('cplogin', 'dns')))
except NotSupported:
self._userdomain_cache = {}
return self._userdomain_cache.get(username, 'N/A')
def get_user_name_by_domain(self, domain_name):
"""
Retrive username by domain
:param domain_name: Domain name
:return: Username
"""
try:
username = cpapi.domain_owner(domain_name)
if username:
return username
except (IOError, cpapi.cpapiexceptions.NotSupported) as e:
raise DomainException(str(e)) from e
raise DomainException({'message': "There is no domain '%(domain)s'",
'context': {'domain': domain_name}})