Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

SFTP Foreign upload\download status

by StarkRavingCalm (Sexton)
on Feb 14, 2013 at 19:27 UTC ( #1018772=perlquestion: print w/ replies, xml ) Need Help??
StarkRavingCalm has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks, I have been working on a script for sftp transfers. All is working well but I have some last tweaks to get thru. Here is the one I am currrently struggling with:

I would like to have a status of the upload\download like you see when using scp or sftp on the command line. According to the SFTP Foreign docs, this can be doing using callback.

I get the successfully connected and I got past the upload messages but not the offset of size bytes read. Thoughts?

my $sftp = Net::SFTP::Foreign->new($host, %args); if ($sftp->error) { $sftp->error and die "unable to connect to remote host: " . $sftp->e +rror; } else { print "Successfully connected to $host!\n\n\n"; } $sftp->put("/tmp/scripttest/upfile4","/home/ftptest/inbound/upfile4", +callback => sub { my($sftp, $data, $offset, $size) = @_; print "$offset of $size bytes read\r"; }); print "I got past the upload\n"; exit;

Comment on SFTP Foreign upload\download status
Download Code
Re: SFTP Foreign upload\download status
by StarkRavingCalm (Sexton) on Feb 14, 2013 at 19:31 UTC

    As seems to be the case... I figured it out immedialty after I posted.....

    Replace the \r with a \n in this line: print "$offset of $size bytes read\r";

Re: SFTP Foreign upload\download status
by sdetweil (Sexton) on Feb 15, 2013 at 05:29 UTC
    you can also let the code do the work.. I use a status bar type approach.. divide the file size by 80 (screen width) and then put up a fixed row of # chars (used for the status update)
    $ftp->hash(\*STDOUT,int(filesize to download/80)); # download the new program files print '#' x (80); $ftp->get(filename);

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1018772]
Approved by toolic
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (7)
As of 2014-08-01 23:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Who would be the most fun to work for?















    Results (52 votes), past polls