]> gitweb.pimeys.fr Git - scripts-20-100.git/commitdiff
[rename_series] Les titres sont maintenant aussi un dico
authorVincent Le Gallic <legallic@crans.org>
Tue, 1 May 2018 01:47:17 +0000 (03:47 +0200)
committerVincent Le Gallic <legallic@crans.org>
Tue, 1 May 2018 01:48:00 +0000 (03:48 +0200)
27a13a179a04abe4e2989e66a9dee68796402c9e cassait le cas des saisons commençant à 1.
Les offset by one error, c'est toujours la merde ^_^

rename_series.py

index 9ef1dc2d8433353788059dbaa35e09c80a83a844..60e6d5e94abe58e940e65be8f78083208b7ffb2e 100755 (executable)
@@ -15,13 +15,21 @@ FORMAT = "%%(series_name)s - [%%(season)0%(logmaxseason)sdx%%(episode)0%(logmaxe
 SEASONEPISODE_REGEXP = ur"^(?P<series_name>([A-Za-z0-9_()-]+(\.| ))+)(S|- \[?)(?P<season>\d+)(E|x)(?P<episode>\d+).*\.(?P<extension>[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)