[freeside-commits] branch master updated. cb66e7cac35892a482cf07c7e05db5ff6296c395

Mark Wells mark at 420.am
Tue Nov 27 20:22:13 PST 2012


The branch, master has been updated
       via  cb66e7cac35892a482cf07c7e05db5ff6296c395 (commit)
      from  ff55a7842fefe34d524744c3c0d511af80429ef0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit cb66e7cac35892a482cf07c7e05db5ff6296c395
Author: Mark Wells <mark at freeside.biz>
Date:   Tue Nov 27 20:22:03 2012 -0800

    adjustments to ipifony download script, #18333

diff --git a/FS/bin/freeside-ipifony-download b/FS/bin/freeside-ipifony-download
index 0384926..ac9f764 100644
--- a/FS/bin/freeside-ipifony-download
+++ b/FS/bin/freeside-ipifony-download
@@ -12,7 +12,7 @@ use FS::Conf;
 use Text::CSV;
 
 my %opt;
-getopts('va:', \%opt);
+getopts('va:P:', \%opt);
 
 #$Net::SFTP::Foreign::debug = -1;
 sub HELP_MESSAGE { '
@@ -20,6 +20,7 @@ sub HELP_MESSAGE { '
       freeside-ipifony-download 
         [ -v ]
         [ -a archivedir ]
+        [ -P port ]
         freesideuser sftpuser at hostname[:path]
 ' }
 
@@ -59,12 +60,18 @@ $sftpuser = $1 || $ENV{USER};
 $host =~ s/:(.*)//;
 $path = $1;
 
+my $port = 22;
+if ( $opt{P} =~ /^(\d+)$/ ) {
+  $port = $1;
+}
+
 # for now assume SFTP download as the only method
 print STDERR "Connecting to $sftpuser\@$host...\n" if $opt{v};
 
 my $sftp = Net::SFTP::Foreign->new(
   host      => $host,
   user      => $sftpuser,
+  port      => $port,
   # for now we don't support passwords. use authorized_keys.
   timeout   => 30,
   more      => ($opt{v} ? '-v' : ''),
@@ -87,11 +94,20 @@ FILE: foreach my $filename (@$files) {
     next FILE;
   }
 
+  # make sure server archive dir exists
+  if ( !$sftp->stat('Archive') ) {
+    print STDERR "Creating $path/Archive\n" if $opt{v};
+    $sftp->mkdir('Archive');
+    if($sftp->error) {
+      # something is seriously wrong
+      die "failed to create archive directory on server:\n".$sftp->error."\n";
+    }
+  }
   #move to server archive dir
   $sftp->rename("$filename", "Archive/$filename");
   if($sftp->error) {
-    warn "failed to archive $filename on server\n";
-  } # process it anyway though
+    warn "failed to archive $filename on server:\n".$sftp->error."\n";
+  } # process it anyway, I guess/
 
   #copy to local archive dir
   if ( $opt{a} ) {

-----------------------------------------------------------------------

Summary of changes:
 FS/bin/freeside-ipifony-download |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)




More information about the freeside-commits mailing list