a ۔*j; @ s" d dl Z d dlZG dd dZdS ) Nc @ s e Zd ZG dd deZdddZdd Zdd Zd d Zdd Z dd Z dd Zdd Zdd Z dd Zdd ZdddZdS )ClPwdc @ s e Zd Zdd ZdS )zClPwd.NoSuchUserExceptionc C s t | d|f d S )NzNo such user (%s)) Exception__init__selfuser r 8/usr/lib/python3.9/site-packages/up2date_client/clpwd.pyr s z"ClPwd.NoSuchUserException.__init__N)__name__ __module____qualname__r r r r r NoSuchUserException s r Nc C s8 i | _ i | _i | _i | _|d u r.| d| _n|| _d S )N ) _user_key_map_uid_key_map_user_full_map _uid_full_mapget_sys_min_uid_min_uid)r Zmin_uidr r r r s zClPwd.__init__c C s | | jS N)_load_passwd_databaser r r r r get_user_dict s zClPwd.get_user_dictc C s | | jS r )r r r r r r get_uid_dict s zClPwd.get_uid_dictc C s | | jS r )r r r r r r get_user_full_dict s zClPwd.get_user_full_dictc C s | | jS r )r r r r r r get_uid_full_dict s zClPwd.get_uid_full_dictc C s0 z| | W S ty* t|Y n0 dS )z* Return pw_entry for user N)r KeyErrorr r r r r r get_pw_by_name# s zClPwd.get_pw_by_namec C s0 z| | W S ty* t|Y n0 dS )z7 Return list of passwd entries for uid Nr r r r )r uidr r r get_pw_by_uid, s zClPwd.get_pw_by_uidc C s2 z| | jW S ty, t|Y n0 dS )z& Returns uid for user N)r pw_uidr r r r r r r get_uid5 s z ClPwd.get_uidc C s2 z| | jW S ty, t|Y n0 dS )z` Returns homedir for a user @param user: string @return: string N)r pw_dirr r r r r r r get_homedir> s zClPwd.get_homedirc C s | j st D ]|}|| j|j<