+ t d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m Z mZmZ G d d Z dS ) N)ClPwd)Feature)is_panel_feature_supported list_usersuserdomainsc l e Zd ZdZd Zed Zd Zd Zd Z ed Z ed Zd S ) DomainCollectorzR Class for print panel users domain docroots. See LU-1751 for details c t t j d | _ | | _ t | _ d S )NDOM_COLL_RUNNING_IN_LVE) boolosenvironget is_not_in_lveis_not_limitedis_not_limited_processr _clpwd)selfs $py/cl_dom_collector/dom_collector.py__init__zDomainCollector.__init__ sG !%bjnn5N&O&O!P!PP&*&9&9&;&;#gg c t t j d } t t j d }| o| S )Nr DOM_COLL_RUNNING_IN_NICE)r r r r )is_limited_by_lveis_limited_by_nices r r zDomainCollector.is_not_limited sN 0I!J!JKK!"*..1K"L"LMM$$?-?)??r c t t }g }|D ]M} | j | d }| | 9# t j $ r Y Jw xY w|S )zL Get panel user names list :return: user names list r )listr keysr get_namesappendr NoSuchUserException)r panel_uids_listpanel_users_listuidnames r _get_panel_user_names_listz*DomainCollector._get_panel_user_names_list# s z||002233" C {,,S11!4 ''----, s 5A++A=<A=c | }|D ]v} t | D ]S\ }}t j | d d }t | d| Tg# t $ r Y sw xY wdS )z Method prints pair `domain,doc_root` for an each user on a server domain is encoded in punycode if it's needed doc_root is always encoded in base64 zutf-8,N)r&