diff -ur v24/ftp_ut.py v25/ftp_ut.py --- v24/ftp_ut.py 2020-05-02 19:50:48.000000000 +0900 +++ v25/ftp_ut.py 2020-05-06 19:08:35.000000000 +0900 @@ -19,10 +19,15 @@ write = lambda s: proc.write( s + '\n' ) + def cvt_for_show(s): + d = { host: '---host---', user: '---user---', passwd: '----' } + for (k, v) in d.items(): + s = s.replace( k, v ) + return s + def write(s): if debug: - t = s.replace( passwd, '----' ) - dbg.out( '|>'+t ) + dbg.out( '|>' + cvt_for_show( s ) ) s += '\n' proc.write(s) return s @@ -34,8 +39,7 @@ if r and debug: r_ = r.replace('\n', '\\n\n') s = to_str( r_.strip().split('\n'), pre='<|' ) - t = s.replace( passwd, '----' ) - dbg.out( t ) + dbg.out( cvt_for_show( s ) ) if r is None: dbg.out( 'timeout' ) r = '' diff -ur v24/site_ut.py v25/site_ut.py --- v24/site_ut.py 2020-05-02 19:08:50.000000000 +0900 +++ v25/site_ut.py 2020-05-06 21:34:08.000000000 +0900 @@ -101,17 +101,21 @@ if os.path.isdir( path ): lst = cmd_lst( 'find {} -type f -o -type l'.format( path ) ) for path_ in lst: - put( url, path_, st, scr, verb ) + if not path_.endswith( '/curr' ): + put( url, path_, st, scr, verb ) return - if not lmt_size or os.path.getsize( path ) <= to_num( lmt_size ): + def upload(targ): opt = '-SITE "{} {} {}"'.format( st.host, st.user, st.passwd ) if st.path: opt += ' -C {}'.format( st.path ) if verb: opt = '-debug ' + opt - cmd = cmd_ut.cmd_py( 'ftp_ut' ) + ' ' + opt + ' ' + path + cmd = cmd_ut.cmd_py( 'ftp_ut' ) + ' ' + opt + ' ' + targ cmd_ut.call_show( cmd ) # for -debug showing + + if not lmt_size or os.path.getsize( path ) <= to_num( lmt_size ): + upload( path ) return (dir_, name) = os.path.split( path ) @@ -133,9 +137,7 @@ lst.append( scr ) paths = to_str( lst, pre=path+'/', delim=' ' ) - cmd = cmd_ut.cmd_py( 'ftp_ut' ) + ' ' + paths - dbg.out( 'cmd={}'.format( cmd ) ) - call( cmd ) + upload( paths ) cmd_ut.rm_rf( path ) cmd = 'mv {}/{} {} ; rmdir {}'.format( tmp_dir, name, path, tmp_dir ) @@ -143,24 +145,21 @@ call( cmd ) def get(url, path, scr='dl.sh'): - if not exists_url( '{}/{}'.format( url, path ) ): - return False - (dir_, name) = os.path.split( path ) if dir_ and not os.path.exists( dir_ ): call( 'mkdir -p ' + dir_ ) - cmd = 'wget -q {}/{}'.format( url, path ) - if dir_: - cmd = '( cd {} ; {} )'.format( dir_, cmd ) - if call( cmd, 'err' ) != 'err': - return True + if exists_url( '{}/{}'.format( url, path ) ): + cmd = 'wget -q {}/{}'.format( url, path ) + if dir_: + cmd = '( cd {} ; {} )'.format( dir_, cmd ) + return call( cmd, 'err' ) != 'err' + + if exists_url( '{}/{}/{}'.format( url, path, scr ) ): + cmd = 'wget -q -O- {}/{}/{} | sh'.format( url, path, scr ) + return call( cmd, 'err' ) != 'err' - if not exists_url( '{}/{}/{}'.format( url, path, scr ) ): - return False - - cmd = 'wget -q -O- {}/{}/{} | sh'.format( url, path, scr ) - return call( cmd, 'err' ) != 'err' + return False def cat(url, path): # file only s = '{}/{}'.format( url, path ) @@ -171,23 +170,25 @@ if s: dbg.out( s, '' ) -def do_cmd(site, cmds): +def do_cmd(site, cmds, scr='dl.sh'): st = site.get() # default cmd = arg.get_name_args( cmds ) def put_(path, verb): - put( st.url, path, st, verb=verb ) + put( st.url, path, st, scr=scr, verb=verb ) def get_(path): dbg.out('url={} path={} curr={}'.format( st.url, path, os.getcwd() ) ) - if not get( st.url, path ): + if not get( st.url, path, scr=scr ): sys.exit( 1 ) def exists(path): s = '{}/{}'.format( st.url, path ) r = exists_url( s ) + if not r: + r = exists_url( s + '/' + scr ) h = 'found' if r else 'not found' dbg.out( h + ' ' + s ) if not r: