3 0Q=j; ã @ s" d dl Z d dlZG dd„ dƒZdS )é Nc @ s€ e Zd ZG dd„ deƒZddd„Zdd„ Zdd „ Zd d„ Zdd „ Z dd„ Z dd„ Zdd„ Zdd„ Z dd„ Zdd„ Zddd„ZdS )ÚClPwdc @ s e Zd Zdd„ ZdS )zClPwd.NoSuchUserExceptionc C s t j| d|f ƒ d S )NzNo such user (%s))Ú ExceptionÚ__init__)ÚselfÚuser© r ú/usr/lib/python3.6/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 kr.| jdƒ| _n|| _d S )Niô )Ú _user_key_mapÚ_uid_key_mapÚ_user_full_mapÚ _uid_full_mapÚget_sys_min_uidÚ_min_uid)r Zmin_uidr r r r s zClPwd.__init__c C s | j ƒ | jS )N)Ú_load_passwd_databaser )r r r r Ú get_user_dict s zClPwd.get_user_dictc C s | j ƒ | jS )N)r r )r r r r Úget_uid_dict s zClPwd.get_uid_dictc C s | j ƒ | jS )N)r r )r r r r Úget_user_full_dict s zClPwd.get_user_full_dictc C s | j ƒ | jS )N)r r )r r r r Úget_uid_full_dict s zClPwd.get_uid_full_dictc C s0 y| j ƒ | S tk r* tj|ƒ‚Y nX dS )z* Return pw_entry for user N)r ÚKeyErrorr r )r r r r r Úget_pw_by_name# s zClPwd.get_pw_by_namec C s0 y| j ƒ | S tk r* tj|ƒ‚Y nX dS )z7 Return list of passwd entries for uid N)r r r r )r Úuidr r r Ú get_pw_by_uid, s zClPwd.get_pw_by_uidc C s2 y| j ƒ | jS tk r, tj|ƒ‚Y nX dS )z& Returns uid for user N)r Úpw_uidr r r )r r r r r Úget_uid5 s z ClPwd.get_uidc C s2 y| j ƒ | jS tk r, tj|ƒ‚Y nX dS )z` Returns homedir for a user @param user: string @return: string N)r Úpw_dirr r r )r r r r r Úget_homedir> s zClPwd.get_homedirc C s” | j s�xˆtjƒ D ]|}|| j|j<