chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.db-live.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some TODO list items now done
[ypp-sc-tools.db-live.git]
/
yarrg
/
Commods.pm
diff --git
a/yarrg/Commods.pm
b/yarrg/Commods.pm
index dff539d87166a7e3b7e114d6a0d9d68be6c0f06c..860510e33835e5e1e574ab429862f0563ecf7c2a 100644
(file)
--- a/
yarrg/Commods.pm
+++ b/
yarrg/Commods.pm
@@
-42,12
+42,14
@@
BEGIN {
&pipethrough_run_along &pipethrough_run_finish
&pipethrough_run_gzip
&cgipostform &yarrgpostform &cgi_get_caller
&pipethrough_run_along &pipethrough_run_finish
&pipethrough_run_gzip
&cgipostform &yarrgpostform &cgi_get_caller
- &set_ctype_utf8);
+ &set_ctype_utf8
$masterinfoversion
);
%EXPORT_TAGS = ( );
@EXPORT_OK = qw();
}
%EXPORT_TAGS = ( );
@EXPORT_OK = qw();
}
+our $masterinfoversion= 2; # version we understand
+
our %oceans; # eg $oceans{'Midnight'}{'Ruby'}{'Eta Island'}= $sources;
our %clients; # eg $clients{'ypp-sc-tools'}= [ qw(last-page) ];
our %routes; # eg $routes{'Midnight'}{'Orca'}{'Tinga'}= $sources NB abbrevs!
our %oceans; # eg $oceans{'Midnight'}{'Ruby'}{'Eta Island'}= $sources;
our %clients; # eg $clients{'ypp-sc-tools'}= [ qw(last-page) ];
our %routes; # eg $routes{'Midnight'}{'Orca'}{'Tinga'}= $sources NB abbrevs!
@@
-63,7
+65,11
@@
our %commods;
our (%pctb_commodmap,@pctb_commodmap);
my %colours; # eg $colours{'c'}{'black'}= $sources
our (%pctb_commodmap,@pctb_commodmap);
my %colours; # eg $colours{'c'}{'black'}= $sources
-my @rawcm; # eg $rawcm[0]='fine rum'; $rawcm[1]='fine %c cloth'
+my (@rawcm, @nocm); # eg $rawcm[0]='fine rum'; $rawcm[1]='fine %c cloth'
+
+# IMPORTANT
+# when extending the format of source-info in a non-backward
+# compatible way, be sure to update update-master-info too.
sub parse_info1 ($$) {
my ($mmfn,$src)= @_;
sub parse_info1 ($$) {
my ($mmfn,$src)= @_;
@@
-78,12
+84,16
@@
sub parse_info1 ($$) {
@ctx= (sub { $colours{$colourkind}{lc $_} .= $src; });
} elsif (m/^commods$/) {
@ctx= (sub { push @rawcm, lc $_; });
@ctx= (sub { $colours{$colourkind}{lc $_} .= $src; });
} elsif (m/^commods$/) {
@ctx= (sub { push @rawcm, lc $_; });
+ } elsif (m/^nocommods$/) {
+ @ctx= (sub { push @nocm, lc $_; });
} elsif (m/^ocean (\w+)$/) {
my $ocean= $1;
} elsif (m/^ocean (\w+)$/) {
my $ocean= $1;
+ keys %{ $oceans{$ocean} };
@ctx= (sub {
$ocean or die; # ref to $ocean needed to work
# around a perl bug
my $arch= $_;
@ctx= (sub {
$ocean or die; # ref to $ocean needed to work
# around a perl bug
my $arch= $_;
+ keys %{ $oceans{$ocean}{$arch} };
$ctx[1]= sub {
$oceans{$ocean}{$arch}{$_} .= $src;
};
$ctx[1]= sub {
$oceans{$ocean}{$arch}{$_} .= $src;
};
@@
-124,6
+134,7
@@
sub parse_info1 ($$) {
my ($name, $props) = $s =~
/^(\S[^\t]*\S)(?:\t+(\S[^\t]*\S))?$/
or die "bad commodspec $s";
my ($name, $props) = $s =~
/^(\S[^\t]*\S)(?:\t+(\S[^\t]*\S))?$/
or die "bad commodspec $s";
+ return if grep { $name eq $_ } @nocm;
my $ucname= ucfirst $name;
$commods{$ucname}{Srcs} .= $ss;
my $c= $commods{$ucname};
my $ucname= ucfirst $name;
$commods{$ucname}{Srcs} .= $ss;
my $c= $commods{$ucname};
@@
-167,7
+178,7
@@
sub parse_info1 ($$) {
sub parse_info_clientside () {
my $yarrg= $ENV{'YPPSC_YARRG_DICT_UPDATE'};
return unless $yarrg;
sub parse_info_clientside () {
my $yarrg= $ENV{'YPPSC_YARRG_DICT_UPDATE'};
return unless $yarrg;
- my $master= fetch_with_rsync(
'info'
);
+ my $master= fetch_with_rsync(
"info-$masterinfoversion"
);
parse_info1($master,'s');
my $local= '_local-info.txt';
if (stat $local) {
parse_info1($master,'s');
my $local= '_local-info.txt';
if (stat $local) {
@@
-209,12
+220,12
@@
sub parse_info_maproutes ($$$) {
}
sub parse_info_serverside () {
}
sub parse_info_serverside () {
- parse_info1('
master
-info.txt','s');
+ parse_info1('
source
-info.txt','s');
}
sub parse_info_serverside_ocean ($) {
my ($oceanname) = @_;
die "unknown ocean $oceanname ?" unless exists $oceans{$oceanname};
}
sub parse_info_serverside_ocean ($) {
my ($oceanname) = @_;
die "unknown ocean $oceanname ?" unless exists $oceans{$oceanname};
- parse_info1("ocean-".(lc $oceanname).".txt",'s');
+ parse_info1("
_
ocean-".(lc $oceanname).".txt",'s');
}
sub parse_pctb_commodmap () {
}
sub parse_pctb_commodmap () {
@@
-238,7
+249,7
@@
sub parse_pctb_commodmap () {
sub get_our_version ($$) {
my ($aref,$prefix) = @_;
$aref->{"${prefix}name"}= 'ypp-sc-tools yarrg';
sub get_our_version ($$) {
my ($aref,$prefix) = @_;
$aref->{"${prefix}name"}= 'ypp-sc-tools yarrg';
- $aref->{"${prefix}fixes"}= 'lastpage';
+ $aref->{"${prefix}fixes"}= 'lastpage
checkpager
';
my $version= `git-describe --tags HEAD || echo 0unknown`; $? and die $?;
chomp($version);
my $version= `git-describe --tags HEAD || echo 0unknown`; $? and die $?;
chomp($version);