Browse Source

Better year guessing. fix #609

pull/2167/merge
Ruud 12 years ago
parent
commit
6464bb065d
  1. 23
      couchpotato/core/plugins/scanner/main.py

23
couchpotato/core/plugins/scanner/main.py

@ -819,6 +819,13 @@ class Scanner(Plugin):
return None
def findYear(self, text):
# Search year inside () or [] first
matches = re.search('(\(|\[)(?P<year>19[0-9]{2}|20[0-9]{2})(\]|\))', text)
if matches:
return matches.group('year')
# Search normal
matches = re.search('(?P<year>19[0-9]{2}|20[0-9]{2})', text)
if matches:
return matches.group('year')
@ -831,11 +838,11 @@ class Scanner(Plugin):
guess = {}
if file_name:
try:
guess = guess_movie_info(toUnicode(file_name))
if guess.get('title') and guess.get('year'):
guessit = guess_movie_info(toUnicode(file_name))
if guessit.get('title') and guessit.get('year'):
guess = {
'name': guess.get('title'),
'year': guess.get('year'),
'name': guessit.get('title'),
'year': guessit.get('year'),
}
except:
log.debug('Could not detect via guessit "%s": %s', (file_name, traceback.format_exc()))
@ -843,7 +850,13 @@ class Scanner(Plugin):
# Backup to simple
cleaned = ' '.join(re.split('\W+', simplifyString(release_name)))
cleaned = re.sub(self.clean, ' ', cleaned)
year = self.findYear(cleaned)
for year_str in [file_name, cleaned]:
if not year_str: continue
year = self.findYear(year_str)
if year:
break
cp_guess = {}
if year: # Split name on year

Loading…
Cancel
Save