diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/3add | 19 | ||||
-rwxr-xr-x | bin/3commit | 26 | ||||
-rwxr-xr-x | bin/3diff | 13 | ||||
-rw-r--r-- | bin/cch.finish_failed | 51 | ||||
-rw-r--r-- | bin/cch.redelete | 52 |
5 files changed, 161 insertions, 0 deletions
diff --git a/bin/3add b/bin/3add new file mode 100755 index 000000000..8bc034d9c --- /dev/null +++ b/bin/3add @@ -0,0 +1,19 @@ +#!/usr/bin/perl + +use Cwd; +use String::ShellQuote; + +my $USER = $ENV{USER}; + +my $dir = getcwd; +( my $prefix = $dir ) =~ s(^/home/$USER/freeside/?)() or die $dir; #eventually from anywhere + +system join('', + "git add @ARGV ; ", + "( for file in @ARGV; do ", + "cp -i \$file /home/$USER/freeside3/$prefix/`dirname \$file`;", + "done ) && ", + "cd /home/$USER/freeside3/$prefix/ && ", + "git add @ARGV" +); + diff --git a/bin/3commit b/bin/3commit new file mode 100755 index 000000000..cd1db2174 --- /dev/null +++ b/bin/3commit @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +# usage: 23commit 'log message' filename filename ... + +use Cwd; +use String::ShellQuote; + +my $USER = $ENV{USER}; + +my $dir = getcwd; +( my $prefix = $dir ) =~ s(^/home/$USER/freeside/?)() or die $dir; #eventually from anywhere + +my $desc = shell_quote(shift @ARGV); # -m + +die "no files!" unless @ARGV; + +#warn "$prefix"; + +#print <<END; +system join('', + "( cd /home/$USER/freeside3/$prefix; git pull ) && ", + "git diff -u @ARGV | ( cd /home/$USER/freeside3/$prefix; patch -p1 ) ", + " && ( ( git pull && git commit -m $desc @ARGV && git push ); ", + "( cd /home/$USER/freeside3/$prefix; git commit -m $desc @ARGV && git push ) )" +); + diff --git a/bin/3diff b/bin/3diff new file mode 100755 index 000000000..badafd579 --- /dev/null +++ b/bin/3diff @@ -0,0 +1,13 @@ +#!/usr/bin/perl + +my $file = shift; + +chomp(my $dir = `pwd`); +$dir =~ s/freeside(\/?)/freeside3$1/; +warn $dir; + +#$cmd = "diff -u $file $dir/$file"; +$cmd = "diff -ubBw $dir/$file $file"; +print "$cmd\n"; +system($cmd); + diff --git a/bin/cch.finish_failed b/bin/cch.finish_failed new file mode 100644 index 000000000..cb2533044 --- /dev/null +++ b/bin/cch.finish_failed @@ -0,0 +1,51 @@ +#!/usr/bin/perl -w + +use strict; +use Storable qw( thaw nfreeze ); +use MIME::Base64; +use FS::UID qw( adminsuidsetup ); +use FS::tax_rate; + +adminsuidsetup(shift); + +#my @namelist = qw( code detail geocode plus4 txmatrix zip ); +my @namelist = qw( code detail plus4 txmatrix zip ); + +my $cache_dir = '/usr/local/etc/freeside/cache.'. $FS::UID::datasrc. '/'; +my $dir = $cache_dir.'taxdata/cch'; + +my @list = (); +foreach my $name ( @namelist ) { + my $difffile = "$dir.new/$name.txt"; + if (1) { # ($update) { + #my $error = $job->update_statustext( "0,Comparing to previous $name" ); + #die $error if $error; + warn "processing $dir.new/$name.txt\n"; # if $DEBUG; + #my $olddir = $update ? "$dir.1" : ""; + my $olddir = "$dir.1"; + $difffile = FS::tax_rate::_perform_cch_diff( $name, "$dir.new", $olddir ); + } + $difffile =~ s/^$cache_dir//; + push @list, "${name}file:$difffile"; +} + +# perform the import +local $FS::tax_rate::keep_cch_files = 1; +my $param = { + 'format' => 'cch-update', + 'uploaded_files' => join( ',', @list ), +}; +my $error = + #_perform_batch_import( $job, encode_base64( nfreeze( $param ) ) ); + FS::tax_rate::_perform_batch_import( '', encode_base64( nfreeze( $param ) ) ); + +if ( $error ) { + warn "ERROR: $error\n"; +} else { + warn "success!\n"; +} + +#XXX do this manually +#rename "$dir.new", "$dir" +# or die "cch tax update processed, but can't rename $dir.new: $!\n"; + diff --git a/bin/cch.redelete b/bin/cch.redelete new file mode 100644 index 000000000..2cff389ad --- /dev/null +++ b/bin/cch.redelete @@ -0,0 +1,52 @@ +#!/usr/bin/perl -w + +use strict; +use Storable qw( thaw nfreeze ); +use MIME::Base64; +use FS::UID qw( adminsuidsetup ); +use FS::tax_rate; + +adminsuidsetup(shift); + +#my @namelist = qw( code detail geocode plus4 txmatrix zip ); +my @namelist = qw( plus4 txmatrix zip ); + +my $cache_dir = '/usr/local/etc/freeside/cache.'. $FS::UID::datasrc. '/'; +my $dir = $cache_dir.'taxdata/cch'; + +my @list = (); +foreach my $name ( @namelist ) { + my $difffile = "$dir.new/$name.txt"; + if (1) { # ($update) { + #my $error = $job->update_statustext( "0,Comparing to previous $name" ); + #die $error if $error; + warn "processing $dir.new/$name.txt\n"; # if $DEBUG; + #my $olddir = $update ? "$dir.1" : ""; + my $olddir = "$dir.1"; + $difffile = FS::tax_rate::_perform_cch_diff( $name, "$dir.new", $olddir ); + } + $difffile =~ s/^$cache_dir//; + push @list, "${name}file:$difffile"; +} + +# perform the import +local $FS::tax_rate::keep_cch_files = 1; +my $param = { + 'format' => 'cch-update', + 'uploaded_files' => join( ',', @list ), + 'delete_only' => 1, +}; +my $error = + #_perform_batch_import( $job, encode_base64( nfreeze( $param ) ) ); + FS::tax_rate::_perform_batch_import( '', encode_base64( nfreeze( $param ) ) ); + +if ( $error ) { + warn "ERROR: $error\n"; +} else { + warn "success!\n"; +} + +#XXX do this manually +#rename "$dir.new", "$dir" +# or die "cch tax update processed, but can't rename $dir.new: $!\n"; + |