… | |
… | |
128 | |
128 | |
129 | my @files = map { |
129 | my @files = map { |
130 | my $path = $_ = Glib::filename_to_unicode $_; |
130 | my $path = $_ = Glib::filename_to_unicode $_; |
131 | s/[\-_ ]+/ /g; |
131 | s/[\-_ ]+/ /g; |
132 | s/\.[^\.]+$//g; |
132 | s/\.[^\.]+$//g; |
133 | s/(?<=[0-9 ])(?:fc|bc|front|back|cover)[a-z]?$//; |
133 | s/(?<=[0-9 ])(?:fc|bc|front|back|cover)?[a-z]?$//; |
134 | s/ +$//; |
134 | s/ +$//; |
135 | [$_, $path] |
135 | [$_, $path] |
136 | } |
136 | } |
137 | grep !/\.(sfv|crc|par|par2)$/i, readdir $dir; |
137 | grep !/\.(sfv|crc|par|par2)$/i, readdir $dir; |
138 | |
138 | |
… | |
… | |
147 | ); |
147 | ); |
148 | |
148 | |
149 | for my $info (@regexps) { |
149 | for my $info (@regexps) { |
150 | my $re = $info->[0]; |
150 | my $re = $info->[0]; |
151 | for (@files) { |
151 | for (@files) { |
|
|
152 | #print "$_->[0]\n" if $_->[1] =~ /^kisa.tan/; |
152 | if ($_->[0] =~ $re && $_->[0] =~ $info->[1]) { |
153 | if ($_->[0] =~ $re && $_->[0] =~ $info->[1]) { |
153 | push @{ ($cluster{$1} ||= [ $info, []])->[1] }, $_->[1]; |
154 | push @{ ($cluster{$1} ||= [ $info, []])->[1] }, $_->[1]; |
154 | # print "PUSH $1 : $_->[1] $_->[0] $re $info->[1] \n"; |
155 | # print "PUSH $1 : $_->[1] $_->[0] $re $info->[1] \n"; |
155 | } |
156 | } |
156 | } |
157 | } |