| Server IP : 185.143.233.130 / Your IP : 185.215.232.195 Web Server : LiteSpeed System : Linux jambul.7ho.st 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64 User : renecafe ( 1327) PHP Version : 8.1.33 Disable Function : show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib/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}})