Xׯd&ddlmZmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZddlZddlZddlmZmZmZmZmZddlmZGddeZdde fdZdS))App UtilitiesnewBoxnewPanel newButtonnewLabel newTabViewnewTabSwitcher newTextEntry newSelectorForm newTreeViewOpenFileSaveFile OpenDirectoryN)OperationCancelledErrorInvalidPasswordError dprint_ex parentdirjoinpath) log_debugcZeZdZefdZdZdZdZdZdZ dZ dZ d Z d Z d Zd Zd S)RemoteFileSelectorc^||_||_||_d|_|pd|_||_dS)Nz*Select configuration file on remote server)lscwdcd selectiontitledlg_type)selfrrrr r!s ..\modules\wba_ssh_ui.py__init__zRemoteFileSelector.__init__ s6JJ   c|jSNrr"s r# get_filenamesz RemoteFileSelector.get_filenames(s ~r%c"|jtkr |j|_dS|j}|rC|d}t|j||_dSdS)Nr) r!rcurdirget_string_valuerflistget_selected_node get_stringr)r"selidfnames r# on_changezRemoteFileSelector.on_change+s =M ) )![99;;DNNNJ0022E P((++!)$+*F*F*H*H!O!O P Pr%cd}|j}|r|d}||ddS)NrF)r.r/r0chdir)r"rowcolumnr2r1s r#on_cdzRemoteFileSelector.on_cd4sO ,,..  ($$Q''E 5%     r%cd}d} ||}|dkrd}d}nZ#t$rM}t|t|jdkr|dt jkrd}d}nYd}~nd}~wwxYw||fS)NFTr)r ExceptionprintlenargserrnoENOTDIR)r"r2successtarget_is_filees r#try_cdzRemoteFileSelector.try_cd;s ggennG"}}!%    !HHH16{{Q1Q45=#8#8!%  ((s& A=AA88A=cd}|A|dkr:td|zdzt|zdz|r|n&t|j|}||\}}|s|}|rG|jtkr6tj dd|zdd dtj krd}n]|jtkrM|t|\}}|s&tj d d |zd dd|r"||_ |jdSntd |s|{|}td|zdz||d|_|jd\}} ||} d| D} d| D} | | |j} | dd| dd| D]G} |j} | dd| d| H| D]3}|j} | d|2dSdS)NFrzDirectory changed: z was full path:  zFile Already Existz7The file %s already exists. Do you want to replace it?YesNoz Invalid PathzThe path to %s is invalid.OkzDirectory not changed zchdir: Current dir is: )rJcfg|].}|ddk|ddk|ddk&|d/S)isDirname...rJ).0ds r# z,RemoteFileSelector.chdir..sImmm!!G*//aiSWFWFW\]^d\eil\l\lAfI\l\l\lr%cfg|].}|ddk|ddk|ddk&|d/S)rLrrNrOrPrJ)rQfs r#rSz,RemoteFileSelector.chdir..sInnn11W:??qyTXGXGX]^_e]fjm]m]mQvY]m]m]mr%rfolderrO)rstrrr,r-rDr!rmformsr show_warningResultOkrrformcloser update_text _invalid_textr.clearrsortadd_node set_icon_path set_string)r"r2 is_full_pathrApathrBdoner,disrfilesentriesdirsrow_idrRrUs r#r5zRemoteFileSelector.chdirOs"  " +U25GG#lJ[J[[^bb c c c(]55ht{7S7S7U7UW\.].]D(, D(9(9 %Wn %"G}00!+889M9svz9z9>bJJMS_]]$)D]h..-1[[4-I-I*T>G(55n9UX\9\9=r2GGG%)DNIOO%%%F / 0 0 0  (emXXZZF /&8= > > >   V $ $ $!&D  J     #MT5ggfooGmmwmmmDnnnnnE IIKKK JJLLLZ((**F  H - - -   a & & & ( (,,..$$Q111!!!Q'''' ( (,,..!!!Q'''';$m6 ( (r%cd|_dSr'r(r)s r# cancel_actionz RemoteFileSelector.cancel_actions r%c|jrD|jd}||ddS|jdSNutf8T)r^r,r-encoder5r[r\)r"dirs r# accept_actionz RemoteFileSelector.accept_actions`   +..0077??C JJsD ! ! ! ! ! )//     r%c|tjkrD|jd}||ddSdSro)rX EntryActivater,r-rqr5)r"actionrrs r# text_actionzRemoteFileSelector.text_actionsS V) ) )+..0077??C JJsD ! ! ! ! ! * )r%cVd|_|j|d|_dS)NTF) _updatingr, set_value)r"texts r#r]zRemoteFileSelector.update_texts* d###r%c&|js d|_dSdS)NT)ryr^r)s r# text_changedzRemoteFileSelector.text_changeds$~ &!%D    & &r%cJd|_d|_tdtj|_|j|jttj |_ t|_ |j tjddd|j |j |j|j |j|j |j|j |jt/}|dt/}|dt3d}|d|dt9j|||t3d}|d|d||j dd||j dd||dd|j||j d d|!|j"|!|j#|j$|j%|d d |j&d|dS) NFFileiOKCancelT ir)'ryr^r rX FormResizabler[ set_titler r TreeFlatListr.r r, add_columnIconStringColumnType end_columnsadd_changed_callbackr}add_action_callbackrwadd_activated_callbackr8r3rset_textr set_padding set_spacingradd_end_ok_cancel_buttonsadd set_contentset_sizeadd_clicked_callbackrmrsrelayoutcenter run_modal)r"acceptcancel button_boxboxs r#runzRemoteFileSelector.runs"$ 455  DJ''' !455 "nn  f963NNN     (():;;; ''(8999 ))$*555 ''777!!!D\\ r"""q!!!+JGGGUmm    UE***  D$'''  E5))) c""" 3$$$##D$6777##D$6777   1a D&)))))r%N)__name__ __module__ __qualname__rr$r*r3r8rDr5rmrsrwr]r}rrJr%r#rrs6>!!!!PPP!!!)))(K(K(K(Z"""  &&&-*-*-*-*-*r%rc*d}|sWd} t}|||n$#t$rd}Yntj$rd}YnwxYwg}|}|dkret |j|j|j ||}| | }||}|r| d} t|turt|dkr|d} n|} | S)NFTrM)rrrr r!rr) wb_admin_ssh WbAdminSSHwrapped_connectrSSHDownException isConnectedrrpwdrrr*r\typelistr=) profilepassword_delegatesshr r! close_ssh file_namesrfsresultrets r#remote_file_selectorrsAI    ))++C   ): ; ; ; ;&   CCC,   CCC J 3??,,11 cfCG#&RWdlmmm  ""$$  J   IIKKK C J4 z??Q  Q-C Js/8 AAA)rXrrrrrrr r r r r rrrrr? wb_commonrrrrr workbench.logrobjectrrrJr%r#rsz,vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv cccccccccccccc###### C*C*C*C*C*C*C*C*L:>TV^      r%