From 0e953a0225cd689283b81baf2a8e208dcfa64ee0 Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Tue, 1 May 2018 03:47:17 +0200 Subject: [PATCH] [rename_series] Les titres sont maintenant aussi un dico MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 27a13a179a04abe4e2989e66a9dee68796402c9e cassait le cas des saisons commençant à 1. Les offset by one error, c'est toujours la merde ^_^ --- rename_series.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rename_series.py b/rename_series.py index 9ef1dc2..60e6d5e 100755 --- a/rename_series.py +++ b/rename_series.py @@ -15,13 +15,21 @@ FORMAT = "%%(series_name)s - [%%(season)0%(logmaxseason)sdx%%(episode)0%(logmaxe SEASONEPISODE_REGEXP = ur"^(?P([A-Za-z0-9_()-]+(\.| ))+)(S|- \[?)(?P\d+)(E|x)(?P\d+).*\.(?P[a-z0-9]*)$" sep_re = re.compile(SEASONEPISODE_REGEXP) +def _tryint(s): + """Renvoie int(s) ou s si échec.""" + try: + return int(s) + except: + return s + def get_titles(filename, debug=False, oneintwo=False): """Récupère les titres des épisodes dans le fichier""" text = open(filename).read() if oneintwo: # On enlève une ligne sur deux text = re.sub("(.*\n).*\n", r'\1', text) - titles = re.findall('^[0-9\s]+"(.*?)"', text, flags=re.MULTILINE) + titles = re.findall('^([0-9\s]+)"(.*?)"', text, flags=re.MULTILINE) + titles = {_tryint(n) : title for (n, title) in titles} if debug: print "Titres :" pprint.pprint(titles) -- 2.39.2