Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

SFTP Foreign upload\download status

by StarkRavingCalm (Sexton)
on Feb 14, 2013 at 19:27 UTC ( [id://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;

Replies are listed 'Best First'.
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
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2024-03-28 21:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found