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)
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 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)
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 len(titles) != len(eps):
print "Pas autant de titres que d'épisodes : on retente en lisant une ligne sur deux."
titles = get_titles(args.titles, oneintwo=True)
if len(titles) != len(eps):
print "Pas autant de titres que d'épisodes : on retente en lisant une ligne sur deux."
titles = get_titles(args.titles, oneintwo=True)
parser.add_argument('-t', '--titles', help="Fichier contenant les titres des épisodes", action="store", type=str, default="titles")
parser.add_argument('-m', '--maxseason', help="Nombre total de saisons (pour le nombre de 0)", action="store", type=str, default=1)
parser.add_argument('-s', '--seriesname', help="Override le nom de la série", action="store", type=str)
parser.add_argument('-t', '--titles', help="Fichier contenant les titres des épisodes", action="store", type=str, default="titles")
parser.add_argument('-m', '--maxseason', help="Nombre total de saisons (pour le nombre de 0)", action="store", type=str, default=1)
parser.add_argument('-s', '--seriesname', help="Override le nom de la série", action="store", type=str)