§ ;Š»jµ ãóB—dZddlZddlmZd„Zd d„Zd d„Zd 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.44-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/cpapi/plugins/universal.pyÚget_cp_descriptionr s €ð ˆ4rÚmysqlcó —| dd¦«}|d}|d}d}|rAd}d dgt|¦«z¦«}|d |›d �z }t|¦«}nd }|d z }t j||||¬ ¦«} |  ¦«5} |  ||¬¦«cddd¦«S#1swxYwYdS)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Ú localhostÚloginÚpassNzdSELECT User, LEFT(Db, LOCATE('\\', Db) - 1) AS DbPart FROM db WHERE User != '' and Db LIKE '%%\\\%%'z, z%sz( and LEFT(Db, LOCATE('\\', Db) - 1) in (ú)zbSELECT User, LEFT(Db, LOCATE('\\', Db) - 1) AS DbPart FROM db WHERE User != '' and Db LIKE '%\\\%'z GROUP BY User, DbPart)r ÚuserÚpasswdÚdb)Úargs)ÚgetÚjoinÚlenÚlistrÚMySQLConnectorÚconnectÚ execute_query) ÚaccessÚ cplogin_lstÚdbnameÚdbhostÚdbloginÚdbpassrÚsqlÚ placeholdersÚ connectorrs rÚ_dblogin_cplogin_pairsr$sC€ð�ZŠZ˜  Ñ ,Ô ,€FØ�WŒo€GØ �FŒ^€Fà €DØð tð vˆØ—y’y $ ­#¨kÑ*:Ô*:Ñ!:Ñ;Ô;ˆ Ø ÐK¸LÐKÐKÐKÑKˆÝ�KÑ Ô ˆˆðtˆØÐ $Ñ$€CåÔ(¨f¸7Ø06¸6ðCñCôC€Ià × Ò Ñ Ô ð0 Ø×Ò ¨$ÐÑ/Ô/ð0ð0ð0ð0ñ0ô0ð0ð0ð0ð0ð0ð0øøøð0ð0ð0ð0ð0ð0sÂCÃCà Ccó2—d|ptj¦«zS)z| Gets admin email :param str|None _hostname: hostname for testing :return: admin's email :rtype: string zroot@)ÚsocketÚ gethostname)Ú _hostnames rÚget_admin_emailr):s€ð �iÐ7¥6Ô#5Ñ#7Ô#7Ñ 8Ð8rFcó—dgS)z‹ List all admins names in given control panel :param bool debug: Do produce debug output or don't :return: list of strings Úrootr)Údebugs rÚadminsr-Ds €ð ˆ8€Orcó"—|t¦«vS)zl Return True if username is in admin names :param str username: user to check :return: bool )r-)Úusernames rÚis_adminr0Ms€ð •v‘x”xÐ Ðr)Nr )N)F) Ú__doc__r&Úclcommonrrr$r)r-r0rrrúr3s‘ðððð€ € € àÐÐÐÐÐðððð"0ð"0ð"0ð"0ðJ9ð9ð9ð9ððððð ð ð ð ð r