a oe@s>dZddlZddlZddlZddlmZddZddZGdd d ejZ dd d Z GdddejZ dddZ e dkr:ddlZd Zd ZeejdkrejdZeejdkrejdZe ee\ZZeekrdkrnn ednPedeedee deZedurednd Zeekr.dZededS)alogin -- PythonWin user ID and password dialog box (Adapted from originally distributed with Mark Hammond's PythonWin - this now replaces it!) login.GetLogin() displays a modal "OK/Cancel" dialog box with input fields for a user ID and password. The password field input is masked with *'s. GetLogin takes two optional parameters, a window title, and a default user ID. If these parameters are omitted, the title defaults to "Login", and the user ID is left blank. GetLogin returns a (userid, password) tuple. GetLogin can be called from scripts running on the console - i.e. you don't need to write a full-blown GUI app to use it. login.GetPassword() is similar, except there is no username field. Example: import pywin.dialogs.login title = "FTP Login" def_user = "fred" userid, password = pywin.dialogs.login.GetLogin(title, def_user) Jim Eggleston, 28 August 1996 Merged with dlgpass and moved to pywin.dialogs by Mark Hammond Jan 1998. N)dialogcCstjtjBtjBtjBtjBtjB}tjtjB}|d|ddgg}|dddd|tj Bg|tj Btj B}|ddt j d|g|dd dd |tj Bg|tj Btj B}|ddt jd |tjBg|tj B}|d d tjd|tjBgtj|B}|d dtjd|g|S)N)rr(z MS Sans SerifzUser ID:) Er EDIT2r < Password:)r r r )rrrOK|rCancel)rrrr)win32con DS_MODALFRAMEWS_POPUP WS_VISIBLE WS_CAPTION WS_SYSMENU DS_SETFONTWS_CHILDappendSS_LEFT WS_TABSTOP WS_BORDERwin32ui IDC_EDIT1 IDC_EDIT2 ES_PASSWORDIDOKBS_DEFPUSHBUTTON BS_PUSHBUTTONIDCANCELtitleZstylecsZdlgsr3>C:\Program Files\Certbot\pkgs\pythonwin\pywin\dialogs\login.pyMakeLoginDlgTemplate s<    r5cCstjtjBtjBtjBtjBtjB}tjtjB}|d|ddgg}|dddd|tj Bg|tj Btj B}|ddt j d|tjBg|tj BtjB}|d d tjd |tjBg|d d tjd |g|S)N)rr-rrrr)r r r r r r rrrr)rrrr)rrrrrr r!r"r#r$r%r&r'r(r*r-r+r,r.r/r3r3r4MakePasswordDlgTemplateFs4  r8c@seZdZdZddZdS)LoginDlgrcCs2tj|t||tjd|tjddS)Nuseridpassword)rDialog__init__r5AddDDXr'r(r)selfr0r3r3r4r=hszLoginDlg.__init__N)__name__ __module__ __qualname__rr=r3r3r3r4r9esr9LogincCs>t|}||d<||d<|tjkr*dS|d|dfSdS)Nr:r;)NN)r9DoModalrr+)r0r:r;dr3r3r4GetLoginns rHc@seZdZddZdS) PasswordDlgcCs$tj|t||tjddSNr;)rr<r=r8r>r'r(r?r3r3r4r=yszPasswordDlg.__init__N)rArBrCr=r3r3r3r4rIxsrIPasswordcCs*t|}||d<|tjkr"dS|dSrJ)rIrFrr+)r0r;rGr3r3r4 GetPassword~s rL__main__zUser pressed Cancelz User ID: rzReenter just for funzUser cancelledznot zThe passwords did %smatch)rDrErE)rKrE)__doc__Zwin32apirr'Z pywin.mfcrr5r8r<r9rHrIrLrAsysr0Zdef_userlenargvZ def_useridr:r;printZ newpasswordZwhatr3r3r3r4s< &