I*@Dv B d Z ddlZddlmZ d ZddZddZd
d Zd
ZdS )z>
api that is suitable for both cPanel, Directadmin, interWorx
N) mysql_libc dS )z
Retrieve panel name and it's version
:return: dict: { 'CPName': 'panel_name', 'CPVer': 'panel_version', 'CPAdd': 'add_info'}
or None if can't get info
N r /builddir/build/BUILDROOT/alt-python27-cllib-3.4.36-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/cpapi/plugins/universal.pyget_cp_descriptionr s 4r mysqlc R | dd }| d }| d }d}|rd | }|d| dz
}|d z
}t j ||||
}| 5 } | | cddd S # 1 swxY w Y dS )z
Extracting database login control panel login pairs from mysql database
supported for cPanel, interWorx, Directadmin
:param dblogin:
:param dbpass:
:param dbhost:
:param dbname:
:param cplogin_lst:
:return:
host localhostloginpasszbSELECT User, LEFT(Db, LOCATE('\\', Db) - 1) AS DbPart FROM db WHERE User != '' and Db LIKE '%\\\%'z', 'z) and LEFT(Db, LOCATE('\\', Db) - 1) in ('z')z GROUP BY User, DbPart)r userpasswddbN)getjoinr MySQLConnectorconnect
execute_query)
accesscplogin_lstdbnamedbhostdblogindbpasssqljoined_cplogin_lst connectorr s
r _dblogin_cplogin_pairsr s ZZ
,
,FWoG
F^F
oC S#[[55R