Mercurial > hg > batmud > misc
annotate parse_rubi.pl @ 374:10d030b85117 misc tip
Switch Convent map to SVG version, add link to PNG render to the caption.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 01 Mar 2024 10:02:38 +0200 |
parents | e23ea99e7aa8 |
children |
rev | line source |
---|---|
184
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 #!/usr/bin/perl -w |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 use strict; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
3 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
4 my %rawdata = (); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
5 my $mismatches = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
6 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
7 sub addto($$) |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
8 { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
9 my ($target, $str) = @_; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
10 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
11 foreach my $result (@{$rawdata{$target}{"results"}}) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
12 return if ($result eq $str); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
13 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
14 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
15 if ($str ne "") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
16 push(@{$rawdata{$target}{"results"}}, $str); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
17 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
18 if ($target =~ /^an? ([a-z]+) of (.+)$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
19 $rawdata{$target}{"organ"} = $1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
20 $rawdata{$target}{"name"} = $2; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
21 } else { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
22 $rawdata{$target}{"organ"} = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
23 $rawdata{$target}{"name"} = $target; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
24 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
25 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
26 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
27 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
28 sub err($) |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
29 { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
30 print STDERR "!! ".$_[0]; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
31 $mismatches .= $_[0]; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
32 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
33 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
34 my %says = (); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
35 my %races = (); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
36 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
37 my $result = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
38 my $target = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
39 my $dis_flag = 0; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
40 my $dis_corpse = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
41 my $dr_name = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
42 my $dr_race = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
43 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
44 while (<STDIN>) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
45 chomp; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
46 if (/^Rubi tosses (.+?) into a cauldron, and it dissolves away\.$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
47 addto($1, $result); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
48 $result = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
49 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
50 elsif (/^Rubi says 'No, no, that won't do at all/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
51 $result = "NO" if ($result eq ""); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
52 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
53 elsif (/^Rubi says 'Hmm, seems a bit shoddy./) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
54 $result = "SHODDY" if ($result eq ""); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
55 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
56 elsif (/^Rubi takes (.+?) and starts a new potion\.$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
57 $target = $1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
58 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
59 elsif (/^Rubi puts (\d+ potions?) on her shelves\.$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
60 addto($target, $1); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
61 $target = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
62 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
63 elsif (/^Rubi says '(.+?)'$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
64 $says{$1} = 1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
65 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
66 elsif (/^You say \'-dis-\.\'$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
67 $dis_flag = 1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
68 $dis_corpse = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
69 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
70 elsif (/^This is the dead body of (.+)\.$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
71 $dis_corpse = $1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
72 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
73 elsif (/^You start slicing into the corpse of '(.+?)'\.\.\.$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
74 my $race = $1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
75 if ($dis_flag && $dis_corpse ne "") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
76 if (defined($races{$dis_corpse}) && $races{$dis_corpse} ne $race) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
77 err("'$dis_corpse' race mismatch '".$races{$dis_corpse}."' <=> '$race'.\n"); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
78 } else { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
79 $races{$dis_corpse} = $race; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
80 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
81 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
82 $dis_flag = 0; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
83 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
84 elsif (/^([A-Za-z ]+) is an? ([a-z]+)\.$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
85 $dr_name = $1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
86 $dr_race = $2; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
87 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
88 elsif (/^That race has the following organs:(.+)$/) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
89 my $organs = $1; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
90 if ($dr_name ne "" && $dr_race ne "" && !($dr_name =~ /^Corpse of /)) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
91 if (defined($races{$dr_name}) && $races{$dr_name} ne $dr_race) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
92 err("'$dr_name' race mismatch '".$races{$dr_name}."' <=> '$dr_race'.\n"); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
93 } else { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
94 $races{$dr_name} = $dr_race; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
95 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
96 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
97 $dr_name = $dr_race = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
98 } else { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
99 $dr_name = $dr_race = ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
100 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
101 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
102 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
103 ## Process data with matching races |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
104 my %data = (); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
105 foreach my $i (keys %rawdata) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
106 my $name = $rawdata{$i}{"name"}; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
107 $data{$i}{"name"} = $rawdata{$i}{"name"}; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
108 $data{$i}{"organ"} = $rawdata{$i}{"organ"}; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
109 $data{$i}{"results"} = $rawdata{$i}{"results"}; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
110 $data{$i}{"race"} = defined($races{$name}) ? $races{$name} : ""; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
111 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
112 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
113 ## List what Rubi says .. e.g. the "hints" |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
114 if ($mismatches ne "") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
115 print "Following possible problems were detected:\n\n".$mismatches."\n"; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
116 print "\n=====================================================================\n\n"; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
117 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
118 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
119 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
120 foreach my $i (sort { $a cmp $b } keys %says) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
121 print "$i\n"; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
122 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
123 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
124 print "\n\n=====================================================================\n\n"; |
186
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
125 print "-------- Sorted by results --------\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
126 "Only matches or near-matches shown!\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
127 "\n"; |
184
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
128 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
129 foreach my $i (keys %data) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
130 $data{$i}{"sort"} = join(", ", sort @{$data{$i}{"results"}}); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
131 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
132 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
133 sub printentry($$) |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
134 { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
135 my ($i, $res) = @_; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
136 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
137 if ($data{$i}{"organ"} ne "") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
138 if ($data{$i}{"race"} ne "") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
139 printf "%-30s (%-10s) [%-10s] : %s\n", $data{$i}{"name"}, $data{$i}{"race"}, $data{$i}{"organ"}, $res; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
140 } else { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
141 printf "%-43s [%-10s] : %s\n", $data{$i}{"name"}, $data{$i}{"organ"}, $res; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
142 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
143 } else { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
144 printf "%-56s : %s\n", $i, $res; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
145 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
146 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
147 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
148 foreach my $i (sort { $data{$a}{"sort"} cmp $data{$b}{"sort"} } keys %data) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
149 my $res = join(", ", sort @{$data{$i}{"results"}}); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
150 if ($res ne "NO") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
151 printentry($i, $res); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
152 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
153 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
155 print "\n\n=====================================================================\n\n"; |
186
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
156 print "-------- Sorted by name --------\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
157 "Total of ".(scalar(keys %data))." unique items (organs of given race, items, etc).\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
158 "\n"; |
184
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
159 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
160 foreach my $i (sort { $data{$a}{"name"} cmp $data{$b}{"name"} } keys %data) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
161 my $res = join(", ", sort @{$data{$i}{"results"}}); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
162 printentry($i, $res); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
163 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
164 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
165 print "\n\n=====================================================================\n\n"; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
166 |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
167 my %byrace = (); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
168 foreach my $i (keys %data) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
169 if ($data{$i}{"race"} ne "") { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
170 $byrace{$data{$i}{"race"}}{$data{$i}{"organ"}} = $data{$i}{"results"}; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
171 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
172 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
173 |
186
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
174 print "-------- Sorted by race --------\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
175 "Only data with known race shown!\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
176 "Total of ".(scalar(keys %byrace))." races.\n". |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
177 "\n"; |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
178 |
e23ea99e7aa8
Add more information in output.
Matti Hamalainen <ccr@tnsp.org>
parents:
184
diff
changeset
|
179 |
184
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
180 foreach my $i (sort { $a cmp $b } keys %byrace) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
181 foreach my $o (sort { $a cmp $b } keys %{$byrace{$i}}) { |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
182 my $res = join(", ", sort @{$byrace{$i}{$o}}); |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
183 printf "%-43s (%-10s) : %s\n", $i, $o, $res; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
184 } |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
185 print "\n"; |
84fa86a54038
Added script for parsing crap spewed by Rubi in Silverlake.
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
186 } |