KKc @sddkZddkZddkZddkZddklZlZddklZddk l Z de fdYZ dS(iN(t Executivet ScriptError(tlog(tGitt CredentialscBsneZd d eidZdZdZdZdZ dZ d dZ d dZ dZ RS( cCs2||_||_|pt|_||_dS(N(thostt git_prefixRt executivetcwd(tselfRRRR((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt__init__*s  cCs|id|idgS(Ntusernametpassword(t_read_git_config(R ((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt_credentials_from_git0scCsR|iod|i|fn|}|iiddd|gdtiidS(Ns%s.%stgittconfigs--gett error_handlers (RRt run_commandRt ignore_errortrstrip(R tkeyt config_key((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyR 3s$cCs8tid||ti}|o|idSndS(Ns%s"(?P.+)"tvalue(tretsearcht MULTILINEtgroup(R tlabelt source_texttmatch((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt_keychain_value_with_label7scCstidS(Ni(tplatformtmac_ver(R ((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt _is_mac_os_x<scCs.|id|}|id|}||gS(Ns^\s*"acct"=s ^password: (R(R tsecurity_outputR R ((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt_parse_security_tool_output?scCsdddd|ig}|o|d|g7}ntd|iy|ii|SWn(tj otd|idSnXdS(Ns/usr/bin/securitysfind-internet-passwords-gs-ss-asKReading Keychain for %s account and password. Click "Allow" to continue...s'Could not find a keychain entry for %s.(RRRRRtNone(R R tsecurity_command((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt_run_security_toolDscCsP|ip|dgSn|i|}|o|i|Sn ddgSdS(N(R"R%R'R$(R R R#((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyt_credentials_from_keychainRs  cCsd}d}ti|io|i\}}n| p| o|i|\}}n|ptd|i}n|p tid|i|f}n||gS(Ns %s login: s%s password for %s: ( R%Rtin_working_directoryRRR(t raw_inputRtgetpass(R R R ((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pytread_credentials\s N(t__name__t __module__R%tostgetcwdR RR RR"R$R'R(R,(((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pyR)s       ( R+R/R Rtwebkitpy.executiveRRtwebkitpy.webkit_loggingRt webkitpy.scmRtobjectR(((sN/usr/local/google/WebKitToT/WebKit/WebKitTools/Scripts/webkitpy/credentials.pys s