§ ;Š»jãóx—ddlmZddlmZddlmZddlmZeZd„Z d„Z d„Z dd „Z dd „Z Gd „d e¦«ZdS)é)ÚUNKNOWN_CP_NAME©Ú NotSupported)ÚGeneralPanelPluginV1)ÚFeaturecó—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/nopanel.pyÚget_cp_descriptionr s €ð ˆ4r có —td¦«‚©Nz=Unable to receive data. Not supported without a control panelrr r r Ú db_accessró€Ý ÐVÑ WÔ WÐWr có*—tdddidœ¦«‚)z_ return all users list registered on Control Panel :return: tuple registered users ú&%(action)s is not currently supported.Úactionú1Getting all users registered in the control panel©ÚmessageÚcontextrr r r Úcpusersrs,€õ Ø;ØÐQÐRððñ ô ðr NFcó —td¦«‚rr)Ú cplogin_lstÚwith_system_userss r Údblogin_cplogin_pairsr"rr có&—ddlm}||¬¦«S)zs Gets admin email :param str|None _hostname: for testing :return: admin's email :rtype: string r©Úget_admin_email)Ú _hostname)Ú clcommon.cpapi.plugins.universalr)r rs r rr&s*€ðAÐ@Ð@Ð@Ð@Ð@Ø ˆ? YÐ /Ñ /Ô /Ð/r cóЇ—eZdZˆfd„Zd„Zd„Zd„Zd„Zd„Zdd „Z dd „Z d „Z dd „Z dd„Z dd„Zd„Zd„Zed„¦«Zd„Zd„Zdd„Zdd„Zd„Zd„Zdeefd„ZˆxZS) Ú PanelPlugincóH•—t¦« ¦«dS©N)ÚsuperÚ__init__)ÚselfÚ __class__s €r r'zPanelPlugin.__init__2sø€Ý ‰Œ×ÒÑÔÐÐÐr có—tS)z4 Return panel name :return: )Ú __cpname__©r(s r Ú getCPNamezPanelPlugin.getCPName5s €õ Ðr có—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 Nr r,s r r zPanelPlugin.get_cp_description<s €ð ˆtr có—t¦«S)zR Retrieve admin email address :return: Host admin's email rr,s r rzPanelPlugin.get_admin_emailDs€õ Ñ Ô Ð r có —td¦«‚rrr,s r rzPanelPlugin.db_accessKó€ÝÐZÑ[Ô[Ð[r có*—tdddidœ¦«‚)zk return all users list registered on Control Panel :return: tuple registered users rrrrrr,s r rzPanelPlugin.cpusersNs,€õ Ø?Ø Ð"UÐVð ð ñ ô ð r NFcó —td¦«‚rr)r(rrs r rz!PanelPlugin.dblogin_cplogin_pairsXr1r có—gS)z– Return list of available admin's packages :return: List of packages. For example ['BusinessPackage', 'Package2'] r ©r(Ú raise_excs r Úadmin_packageszPanelPlugin.admin_packages[ó €ð ˆ r có—dS)z™ Retrieves reseller name and package name by uid :param user_id: User id :return: Cortege: (Reseller_name, Package_name) r r )r(Úuser_ids r Úreseller_package_by_uidz#PanelPlugin.reseller_package_by_uidcs €ð ˆrr có—gS)zü Retrieves uid list for package :param package_name: Package name :param reseller_name: Reseller name. None for admin's package :return: List of uids Example: ['1000', '1002', '1006', '1007', '1008'] r )r(Ú package_nameÚ reseller_names r Úget_uids_list_by_packagez$PanelPlugin.get_uids_list_by_packagekó €ðˆ r ©ÚcploginÚpackageÚmailÚresellerÚdnsÚlocaleTcó—dS)a£ Retrives specified info about panel users :param str|unicode|list|tuple|None cpuser: user login :param keyls: List or cortege of data which is necessary to obtain the user, values can be: cplogin - name/login user control panel mail - Email users reseller - name reseller/owner users locale - localization of the user account package - User name of the package dns - domain of the user userid - uid :param search_sys_users: :return: returns a tuple of tuples of data in the same sequence as specified keys in keylst Examples: cpinfo('cltest1') (('cltest1', 'default', '', 'root', 'cltest1.com', 'en'),) cpinfo() (('res1usr1', 'res1_pack1', '', 'res1', 'res1usr1.com', 'en'), ('res1', 'default', '', 'root', 'res1.com', 'en'), ('res2', 'default', '', 'res2', 'res2.com', 'en'), ('cltest1', 'default', '', 'root', 'cltest1.com', 'en'), ('system', 'undefined', None, 'root', '', 'en')) :rtype: tuple r r )r(ÚcpuserÚkeylsÚsearch_sys_userss r ÚcpinfozPanelPlugin.cpinfous €ð6ˆrr có—iS)a  Return dictionary, contains available resellers packages, grouped by resellers :return: Dictionary. Example: {'res1': ['BusinessPackage', 'UltraPackage', 'Package'], 'res2': ['SimplePackage', 'Package'] } r r5s r Úresellers_packageszPanelPlugin.resellers_packages’r@r có—gS)z| Gets admin emails list :rtype: List :return: List: ['admin1@mail.com', 'admin2@mail.com' ] r r,s r Úget_admin_emails_listz!PanelPlugin.get_admin_emails_listœr8r có—dS)zb Return document root for domain :return: Cortege: (document_root, owner) )ÚrRr ©r(Údomains r ÚdocrootzPanelPlugin.docroot¤s €ð ˆvr có—gS)z¢ Return aliases from user domain :param str|unicode cpuser: user login :param str|unicode domain: :return list of aliases r )rIrTs r Ú useraliaseszPanelPlugin.useraliases«r@r có—gS)zñ Return domain and document root pairs for control panel user first domain is main domain :param str|unicode cpuser: user login :rtype: List :return: list of tuples (domain_name, documen_root) r )r(rIs r Ú userdomainszPanelPlugin.userdomainsµr@r có—gS)zÏ Detects and returns list of folders contained the home dirs of users of the cPanel :rtype: List :return: list of folders, which are parent of home dirs of users of the panel r r,s r ÚhomedirszPanelPlugin.homedirs¿r8r có—gS)z« Return reseller users :param resellername: reseller name; autodetect name if None :rtype: List :return list[str]: user names list r ©r(Ú resellernames r Úreseller_userszPanelPlugin.reseller_usersÇs €ðˆ r có—iS)z¹ Return reseller users and their main domains :param resellername: reseller name; autodetect name if None :return dict[str, str]: pairs user <==> domain r r]s r Úreseller_domainszPanelPlugin.reseller_domainsÐr8r có—dS)z� Get login url for current panel; :type domain: str :rtype: str :return: Panel login URL rRr rSs r Úget_user_login_urlzPanelPlugin.get_user_login_urlØs €ðˆrr có—iS)z¾ Get dict reseller => id Optional method for panels without hard link reseller <=> system user :rtype: dict[str,int] - {'res1': id1} :return: r r,s r Úget_reseller_id_pairsz!PanelPlugin.get_reseller_id_pairsár@r Úreturncóx—tjtjtjtjtjg}|S)zc Return list of CloudLinux features that can be used on the current control panel. )rÚ RUBY_SELECTORÚPYTHON_SELECTORÚNODEJS_SELECTORÚRESELLER_LIMITSÚWPOS)r(Ú return_values r Úget_unsupported_cl_featuresz'PanelPlugin.get_unsupported_cl_featuresës0€õ Ô !Ý Ô #Ý Ô #Ý Ô #Ý ŒLð  ˆ ðÐr ©NF)Fr%)NrAT)Ú__name__Ú __module__Ú __qualname__r'r-r rrrrr7r;r?rLrNrPrUÚ staticmethodrWrYr[r_rarcreÚlistrrnÚ __classcell__)r)s@r r#r#1sÂø€€€€€ðððððððððððð!ð!ð!ð\ð\ð\ð ð ð ð\ð\ð\ð\ðððððððððððð)dØ $ððððð:ððððððððððððñ„\ðððððððððððððððððððððð ¨T°'¬]ð ð ð ð ð ð ð ð r r#ror%)Úclcommon.cpapi.constrÚclcommon.cpapi.cpapiexceptionsrÚclcommon.cpapi.GeneralPanelrÚclcommon.featuresrr+r rrrrr#r r r úrzsíðà0Ð0Ð0Ð0Ð0Ð0Ø7Ð7Ð7Ð7Ð7Ð7Ø<Ð<Ð<Ð<Ð<Ð<Ø%Ð%Ð%Ð%Ð%Ð%à € ððððXðXðXððððXðXðXðXð0ð0ð0ð0ðGðGðGðGðGÐ&ñGôGðGðGðGr