chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.web-live.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'stable-3.x'
[ypp-sc-tools.web-live.git]
/
yarrg
/
Commods.pm
diff --git
a/yarrg/Commods.pm
b/yarrg/Commods.pm
index b670f58a0c5245c12a9f0d14082ae8c437a583d5..c82fdfdbb156a0c3daebd1f4ce6d7e4fe0f36f83 100644
(file)
--- a/
yarrg/Commods.pm
+++ b/
yarrg/Commods.pm
@@
-23,6
+23,7
@@
package Commods;
use IO::File;
use HTTP::Request::Common ();
package Commods;
use IO::File;
use HTTP::Request::Common ();
+use POSIX;
use strict;
use warnings;
use strict;
use warnings;
@@
-32,7
+33,7
@@
BEGIN {
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
$VERSION = 1.00;
@ISA = qw(Exporter);
our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
$VERSION = 1.00;
@ISA = qw(Exporter);
- @EXPORT = qw(&parse_info_clientside
+ @EXPORT = qw(&parse_info_clientside
&fetch_with_rsync
&parse_info_serverside &parse_info_serverside_ocean
%oceans %commods %clients %routes %route_mysteries
&parse_pctb_commodmap %pctb_commodmap @pctb_commodmap
&parse_info_serverside &parse_info_serverside_ocean
%oceans %commods %clients %routes %route_mysteries
&parse_pctb_commodmap %pctb_commodmap @pctb_commodmap
@@
-40,7
+41,8
@@
BEGIN {
&pipethrough_prep &pipethrough_run
&pipethrough_run_along &pipethrough_run_finish
&pipethrough_run_gzip
&pipethrough_prep &pipethrough_run
&pipethrough_run_along &pipethrough_run_finish
&pipethrough_run_gzip
- &cgipostform &yarrgpostform &cgi_get_caller);
+ &cgipostform &yarrgpostform &cgi_get_caller
+ &set_ctype_utf8);
%EXPORT_TAGS = ( );
@EXPORT_OK = qw();
%EXPORT_TAGS = ( );
@EXPORT_OK = qw();
@@
-144,7
+146,12
@@
sub parse_info_clientside () {
return unless $yarrg;
my $master= fetch_with_rsync('info');
parse_info1($master,'s');
return unless $yarrg;
my $master= fetch_with_rsync('info');
parse_info1($master,'s');
- parse_info1('_local-info.txt','s');
+ my $local= '_local-info.txt';
+ if (stat $local) {
+ parse_info1($local,'s');
+ } else {
+ die "$local $!" unless $! == &ENOENT;
+ }
}
sub fetch_with_rsync ($) {
}
sub fetch_with_rsync ($) {
@@
-160,6
+167,7
@@
sub fetch_with_rsync ($) {
$!=0; system 'rsync','-Lt','--',$remote,$local;
die "$? $!" if $! or $?;
}
$!=0; system 'rsync','-Lt','--',$remote,$local;
die "$? $!" if $! or $?;
}
+ return $local;
}
sub parse_info_maproutes ($$$) {
}
sub parse_info_maproutes ($$$) {
@@
-190,7
+198,7
@@
sub parse_pctb_commodmap () {
undef %pctb_commodmap;
foreach my $commod (keys %commods) { $commods{$commod} =~ s/b//; }
undef %pctb_commodmap;
foreach my $commod (keys %commods) { $commods{$commod} =~ s/b//; }
- my $c= new IO::File '_commodmap.tsv'
or die $!
;
+ my $c= new IO::File '_commodmap.tsv';
if (!$c) { $!==&ENOENT or die $!; return 0; }
while (<$c>) {
if (!$c) { $!==&ENOENT or die $!; return 0; }
while (<$c>) {
@@
-209,10
+217,13
@@
sub get_our_version ($$) {
$aref->{"${prefix}name"}= 'ypp-sc-tools yarrg';
$aref->{"${prefix}fixes"}= 'lastpage';
$aref->{"${prefix}name"}= 'ypp-sc-tools yarrg';
$aref->{"${prefix}fixes"}= 'lastpage';
- my $version= `git-describe --tags HEAD`; $? and die $?;
+ my $version= `git-describe --tags HEAD
|| echo 0unknown
`; $? and die $?;
chomp($version);
$aref->{"${prefix}version"}= $version;
return $aref;
chomp($version);
$aref->{"${prefix}version"}= $version;
return $aref;
+ # clientname "ypp-sc-tools"
+ # clientversion 2.1-g2e06a26 [from git-describe --tags HEAD]
+ # clientfixes "lastpage" [space separated list]
}
sub pipethrough_prep () {
}
sub pipethrough_prep () {
@@
-256,7
+267,8
@@
sub yarrgpostform ($$) {
my ($ua, $form) = @_;
my $dest= $ENV{'YPPSC_YARRG_YARRG'};
get_our_version($form, 'client');
my ($ua, $form) = @_;
my $dest= $ENV{'YPPSC_YARRG_YARRG'};
get_our_version($form, 'client');
- return cgipostform($ua, "$dest/commod-update-receiver", $form);
+ die unless $dest =~ m,/$,;
+ return cgipostform($ua, "${dest}commod-update-receiver", $form);
}
sub cgipostform ($$$) {
}
sub cgipostform ($$$) {
@@
-290,8
+302,9
@@
sub cgipostform ($$$) {
$out =~ m,^Content-Type: text/plain.*\n\n, or die "$out ?";
return $';
} else {
$out =~ m,^Content-Type: text/plain.*\n\n, or die "$out ?";
return $';
} else {
- my $resp= $ua->request($url,$req);
- die $resp->status_line unless $resp->is_success;
+ my $resp= $ua->request($req);
+ die $resp->status_line."\n".$resp->content."\n "
+ unless $resp->is_success;
return $resp->content();
}
}
return $resp->content();
}
}
@@
-345,4
+358,8
@@
sub cgi_get_caller () {
return $caller;
}
return $caller;
}
+sub set_ctype_utf8 () {
+ setlocale(LC_CTYPE, "en.UTF-8");
+}
+
1;
1;