From: Ian Jackson Date: Sun, 23 Aug 2009 20:21:22 +0000 (+0100) Subject: Parse old master info files too X-Git-Tag: 3.4~123 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=commitdiff_plain;h=ba90e716f4b27b89529109654ddb82b3990fc8fb;hp=ff547369a01a5aa73e4a9d665c5567624795ab17 Parse old master info files too --- diff --git a/yarrg/Commods.pm b/yarrg/Commods.pm index 27e06e8..dff539d 100644 --- a/yarrg/Commods.pm +++ b/yarrg/Commods.pm @@ -122,13 +122,13 @@ sub parse_info1 ($$) { #print "ca($s)\n"; if ($s !~ m/\%(\w+)/) { my ($name, $props) = $s =~ - /^(\S[^\t]*\S)\t+(\S[^\t]*\S)$/ + /^(\S[^\t]*\S)(?:\t+(\S[^\t]*\S))?$/ or die "bad commodspec $s"; my $ucname= ucfirst $name; $commods{$ucname}{Srcs} .= $ss; my $c= $commods{$ucname}; $c->{Volume}= 1000; - foreach my $prop (split /\s+/, $props) { + foreach my $prop (defined $props ? split /\s+/, $props : ()) { if ($prop =~ m/^([1-9]\d*)(k?)g$/) { $c->{Mass}= $1 * ($2 ? 1000 : 1); } elsif ($prop =~m/^([1-9]\d*)l$/) { @@ -137,7 +137,6 @@ sub parse_info1 ($$) { die "unknown property $prop for $ucname"; } } - die "no mass for $ucname" unless defined $c->{Mass}; return; } die "unknown $&" unless defined $colours{$1}; diff --git a/yarrg/db-idempotent-populate b/yarrg/db-idempotent-populate index 80ded46..9d7bab0 100755 --- a/yarrg/db-idempotent-populate +++ b/yarrg/db-idempotent-populate @@ -120,6 +120,8 @@ END ; foreach my $commod (sort keys %commods) { my $c= $commods{$commod}; + die "no mass for $commod" unless defined $c->{Mass}; + die "no colume for $commod" unless defined $c->{Volume}; my @qa= ($c->{Mass}, $c->{Volume}, $commod); $insert->execute(@qa); $update->execute(@qa);