Edit File: universal.cpython-37.pyc
B �e� � @ sf d Z ddlmZ ddlmZ ddlmZ ddlmZ dd� Zdd d�Zddd �Z ddd�Z dd� ZdS )z> api that is suitable for both cPanel, Directadmin, interWorx � )�absolute_import)�division)�print_function)� mysql_libc C s 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 r r ��/builddir/build/BUILDROOT/alt-python27-cllib-3.3.5-1.el8.cloudlinux.x86_64/opt/alt/python37/lib/python3.7/site-packages/clcommon/cpapi/plugins/universal.py�get_cp_description s r N�mysqlc C sp | � dd�}| d }| d }d}|r8|dd�|�f 7 }|d7 }tj||||d �}|�� �}|�|�S Q R X d 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: �hostZ localhostZlogin�passzXSELECT User, LEFT(Db, LOCATE('\\', Db) - 1) FROM db WHERE User != '' and Db LIKE '%\\\%'z- and LEFT(Db, LOCATE('\\', Db) - 1) in ('%s')z', 'z GROUP BY User)r �userZpasswd�dbN)�get�joinr ZMySQLConnectorZconnectZ execute_query) �accessZcplogin_lstZdbnameZdbhostZdbloginZdbpassZsqlZ connectorr r r r �_dblogin_cplogin_pairs s r c C s ddl }d| p|�� S )z| Gets admin email :param str|None _hostname: hostname for testing :return: admin's email :rtype: string r Nzroot@)�socketZgethostname)Z _hostnamer r r r �get_admin_email0 s r Fc C s 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 )�debugr r r �admins; s r c C s | t � kS )zl Return True if username is in admin names :param str username: user to check :return: bool )r )Zusernamer r r �is_adminD s r )Nr )N)F)�__doc__Z __future__r r r Zclcommonr r r r r r r r r r �<module> s