~aleteoryx/employ

9e576798985200e4ae81e552b52b17ff52790074 — Aleteoryx 3 days ago 7e69e57 master
better heuristics
1 files changed, 8 insertions(+), 6 deletions(-)

M queuers/reenc.py
M queuers/reenc.py => queuers/reenc.py +8 -6
@@ 102,8 102,13 @@ class Episode:
		else:
			return f'S{self.season:02}E{self.number:02}'


def cleanup_filename(file):
	file = re.sub('[\[\(][0-9A-Fa-f]{8}[\]\)]', '[########]', file)
	file = re.sub('\d', '#', file)
	return file
def find_common_ends(files):
	files = map(lambda x: re.sub('\d', '#', x), files)
	files = map(cleanup_filename, files)
	needle = next(files)
	pfxlen = len(needle)
	sfxlen = len(needle)


@@ 124,17 129,14 @@ def find_sXXeXX(name):
	
	season, episode = 0, 0
	
	if (m := re.search('S([0-9]+)', name, re.I)) is not None:
	if (m := re.search('([0-9]+)(?:st|nd|rd|th)\\DSeason', name, re.I)) is not None:
		season = int(m.group(1))
		name = name[:m.start()] + name[m.end():]
	elif (m := re.search('Se?a?s?o?n?\\D?([0-9]+)', name, re.I)) is not None:
		season = int(m.group(1))
		name = name[:m.start()] + name[m.end():]
		
	
	if (m := re.search('E([0-9]+)', name, re.I)) is not None:
		episode = int(m.group(1))
	elif (m := re.search('E\p\i\s\o\d\e\\D?([0-9]+)', name, re.I)) is not None:
	if (m := re.search('Ep?i?s?o?d?e?\D?([0-9]+)', name, re.I)) is not None:
		episode = int(m.group(1))
	elif (m := re.search('([0-9]+)', name, re.I)) is not None:
		episode = int(m.group(1))