Prechádzať zdrojové kódy

Provide separate cleanSeries and cleanSeriesCore; use the core version in getSSE and for detail matching, but continue using the complete version for core matching

Zachary Kotlarek 12 rokov pred
rodič
commit
4d7f20bccd
1 zmenil súbory, kde vykonal 17 pridanie a 10 odobranie
  1. 17 10
      transmission.pl

+ 17 - 10
transmission.pl

@@ -20,7 +20,8 @@ sub delTor($);
 sub guessExt($);
 sub guessExt($);
 sub processFile($$);
 sub processFile($$);
 sub unrar($$);
 sub unrar($$);
-sub localSeriesCleanup($);
+sub seriesCleanupLocal($);
+sub seriesCleanupCore($);
 sub seriesCleanup($);
 sub seriesCleanup($);
 sub readDir($$);
 sub readDir($$);
 sub findMediaFiles($$);
 sub findMediaFiles($$);
@@ -275,7 +276,7 @@ sub getSSE($) {
 	my $sIndex = index($name, $seasonBlock);
 	my $sIndex = index($name, $seasonBlock);
 	if ($sIndex > 0) {
 	if ($sIndex > 0) {
 		$series = substr($name, 0, $sIndex - 1);
 		$series = substr($name, 0, $sIndex - 1);
-		$series = seriesCleanup($series);
+		$series = seriesCleanupCore($series);
 	}
 	}
 
 
 	if ($DEBUG) {
 	if ($DEBUG) {
@@ -301,15 +302,16 @@ sub getDest($$$$) {
 	while (<SHOWS>) {
 	while (<SHOWS>) {
 		chomp;
 		chomp;
 		my $orig  = $_;
 		my $orig  = $_;
-		my $clean = localSeriesCleanup($_);
+		my $clean = seriesCleanupLocal($_);
 		push(@shows, $clean);
 		push(@shows, $clean);
 		$showsCan{$clean} = $orig;
 		$showsCan{$clean} = $orig;
 	}
 	}
 	close SHOWS or die("Unable to read monitored series list: ${!} ${?}\n");
 	close SHOWS or die("Unable to read monitored series list: ${!} ${?}\n");
 
 
 	# See if we can find a unique series name match
 	# See if we can find a unique series name match
-	my $sClean = seriesCleanup($series);
-	my $sMatch = '\b' . $sClean . '\b';
+	my $sClean     = seriesCleanup($series);
+	my $sCleanCore = seriesCleanupCore($series);
+	my $sMatch     = '\b' . $sClean . '\b';
 	$series = '';
 	$series = '';
 
 
 	foreach my $show (@shows) {
 	foreach my $show (@shows) {
@@ -353,7 +355,7 @@ sub getDest($$$$) {
 				}
 				}
 				foreach my $line (@lines) {
 				foreach my $line (@lines) {
 					chomp($line);
 					chomp($line);
-					if (!eval('$sClean =~ m' . $line)) {
+					if (!eval('$sCleanCore =~ m' . $line)) {
 						if ($DEBUG) {
 						if ($DEBUG) {
 							print STDERR 'Skipping ' . $show . ' due to must_match failure for: ' . $line . "\n";
 							print STDERR 'Skipping ' . $show . ' due to must_match failure for: ' . $line . "\n";
 						}
 						}
@@ -615,23 +617,21 @@ sub unrar($$) {
 	return @newFiles;
 	return @newFiles;
 }
 }
 
 
-sub localSeriesCleanup($) {
+sub seriesCleanupLocal($) {
 	my ($name) = @_;
 	my ($name) = @_;
 	$name =~ s/\.//g;
 	$name =~ s/\.//g;
 	return seriesCleanup($name);
 	return seriesCleanup($name);
 }
 }
 
 
-sub seriesCleanup($) {
+sub seriesCleanupCore($) {
 	my ($name) = @_;
 	my ($name) = @_;
 	$name =~ s/\b(?:and|\&)\b/ /ig;
 	$name =~ s/\b(?:and|\&)\b/ /ig;
 	$name =~ s/^\s*The\b//ig;
 	$name =~ s/^\s*The\b//ig;
-	$name =~ s/\s*\(?US\)?\s*$//ig;
 	$name =~ s/\[[^\]]*\]//g;
 	$name =~ s/\[[^\]]*\]//g;
 	$name =~ s/\{[^\}]*\}//g;
 	$name =~ s/\{[^\}]*\}//g;
 	$name =~ s/[\(\)]//g;
 	$name =~ s/[\(\)]//g;
 	$name =~ s/[\'\"]//g;
 	$name =~ s/[\'\"]//g;
 	$name =~ s/[^\w\s]+/ /g;
 	$name =~ s/[^\w\s]+/ /g;
-	$name =~ s/\b20[01][0-9]\s*$//;
 	$name =~ s/_+/ /g;
 	$name =~ s/_+/ /g;
 	$name =~ s/\s+/ /g;
 	$name =~ s/\s+/ /g;
 	$name =~ s/^\s*//;
 	$name =~ s/^\s*//;
@@ -639,6 +639,13 @@ sub seriesCleanup($) {
 	return $name;
 	return $name;
 }
 }
 
 
+sub seriesCleanup($) {
+	my ($name) = @_;
+	$name =~ s/\s*\(?US\)?\s*$//i;
+	$name =~ s/\s*\(?20[01][0-9]\)?\s*$//;
+	return seriesCleanupCore($name);
+}
+
 sub readDir($$) {
 sub readDir($$) {
 	my ($indir, $long) = @_;
 	my ($indir, $long) = @_;