chiark / gitweb /
upload server: permit stalls which start with lowercase letters
[ypp-sc-tools.main.git] / yarrg / Commods.pm
index 91781126d319a32c5f0a5d15f3ec499c82af1fbb..f3ae56fcbd0e4827c2168f6ebd3f15cdc070a6b2 100644 (file)
@@ -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";
                }
@@ -428,8 +431,8 @@ sub check_tsv_line ($$) {
        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;