X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2FCommods.pm;h=42670342372f8dfbc20f24d063e74d796c041f4b;hb=938e38497928d3f0f4e32c0dcada210dffcac607;hp=91781126d319a32c5f0a5d15f3ec499c82af1fbb;hpb=c98eb3b0720f8194a116aea338fd2d3caa8c7538;p=ypp-sc-tools.db-live.git diff --git a/yarrg/Commods.pm b/yarrg/Commods.pm index 9178112..4267034 100644 --- a/yarrg/Commods.pm +++ b/yarrg/Commods.pm @@ -207,6 +207,7 @@ sub parse_info1 ($$$) { $commods{$ucname}{Srcs} .= $ss; my $c= $commods{$ucname}; $c->{Volume}= 1000; + $c->{Flags}= ''; my ($ordval, $ordclassval); foreach my $prop (defined $props ? split /\s+/, $props : ()) { if ($prop =~ m/^([1-9]\d*)(k?)g$/) { @@ -220,6 +221,8 @@ sub parse_info1 ($$$) { } elsif ($prop =~ m/^\@(\d+\+?)$/) { $ordval= $1; $ordval =~ s/^(\d+)\+$/ $1 + $lnoix * 10 /e; + } elsif ($prop =~ m/^\!([a-z]+)$/) { + $c->{Flags} .= $1; } else { die "unknown property $prop for $ucname"; } @@ -422,14 +425,15 @@ sub check_tsv_line ($$) { $l !~ m/\P{IsPrint}/ or &$bad_data('nonprinting char(s)'); my @v= split /\t/, $l, -1; @v==6 or &$bad_data('wrong number of fields'); + $v[1] =~ s/^\s+//; $v[1] =~ s/\s+$//; # ooo don't check :-( my ($commod,$stall) = @v; !keys %commods or defined $commods{$commod} or &$bad_data("unknown commodity ".errsan($commod)); - $stall =~ m/^\p{IsUpper}|^[0-9]/ or - &$bad_data("stall not capitalised ".errsan($stall)); + $stall =~ m/^\p{IsAlnum}/ or + &$bad_data("stall does not start with alphanumeric ".errsan($stall)); !exists $check_tsv_done{$commod,$stall} or &$bad_data("repeated data ".errsan($commod).",".errsan($stall)); $check_tsv_done{$commod,$stall}= 1;