ӺhmBdZddlZddlmZdZd dZd dZd d Zd ZdS)z> api that is suitable for both cPanel, Directadmin, interWorx N) mysql_libcdS)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 Nr/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/clcommon/cpapi/plugins/universal.pyget_cp_descriptionr s 4rmysqlcR|dd}|d}|d}d}|rd|}|d|dz }|d z }tj|||| }|5} | |cd d d S#1swxYwYd S) 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 localhostloginpasszXSELECT User, LEFT(Db, LOCATE('\\', Db) - 1) FROM db WHERE User != '' and Db LIKE '%\\\%'z', 'z) and LEFT(Db, LOCATE('\\', Db) - 1) in ('z')z GROUP BY User)r userpasswddbN)getjoinrMySQLConnectorconnect execute_query) access cplogin_lstdbnamedbhostdblogindbpasssqljoined_cplogin_lst connectorrs r_dblogin_cplogin_pairsr sZZ , ,FWoG F^F eCS#[[55 Rr/s %%%%69999     r