Tout modifié pour la nouvelle API
This commit is contained in:
parent
d1de6ffe09
commit
cb4ea4d419
5 changed files with 86 additions and 95 deletions
52
file.py
52
file.py
|
@ -1,21 +1,16 @@
|
|||
#coding:utf-8
|
||||
import posixpath
|
||||
import re
|
||||
|
||||
class File:
|
||||
"""
|
||||
Décrit une référence de fichier dans le disque
|
||||
"""
|
||||
def __init__(self, path, name,api_id=None):
|
||||
def __init__(self, path, name, info, api_id=None):
|
||||
self.path = path
|
||||
self.name = name
|
||||
self.fullname = path+name
|
||||
'''
|
||||
self.info_lang = []
|
||||
self.info_quality = []
|
||||
self.info_subtitles = []
|
||||
self.title = ''
|
||||
self.simple_name = self.title.replace(' ', '')
|
||||
'''
|
||||
self.info = info
|
||||
self.markers = {}
|
||||
self.api_id = api_id
|
||||
|
||||
def get_ext(self):
|
||||
|
@ -23,37 +18,46 @@ class File:
|
|||
return ext
|
||||
|
||||
def without_ext(self):
|
||||
_, ext = posixpath.splitext(self.name)
|
||||
return ext
|
||||
n, ext = posixpath.splitext(self.name)
|
||||
return n
|
||||
|
||||
def _extract_title(self, title, tok):
|
||||
def extract_title(self, tok):
|
||||
# extrait un titre de film depuis la variable #TITLE#
|
||||
fname, ext = posixpath.splitext(title)
|
||||
if 'TITLE' in self.info:
|
||||
fname = self.info['TITLE']
|
||||
else:
|
||||
fname, ext = posixpath.splitext(self.name)
|
||||
# 1) séparateurs
|
||||
fname = fname.replace('.', ' ')
|
||||
fname = fname.replace('_', ' ')
|
||||
fname = fname.replace('-', ' ')
|
||||
# 2) marqueurs
|
||||
fname, info = tok.tokenize(fname)
|
||||
self.markers = info
|
||||
# 3) minuscule
|
||||
fname = fname.lower()
|
||||
# 4) année
|
||||
if self.year is not None:
|
||||
fname = fname.replace('['+str(self.year)+']', '')
|
||||
fname = fname.replace('[ '+str(self.year)+' ]', '')
|
||||
fname = fname.replace('['+str(self.year)+' ]', '')
|
||||
fname = fname.replace('[ '+str(self.year)+']', '')
|
||||
if not 'YEAR' in self.info:
|
||||
m = re.match(r'.*\[ ?(\d{4}) ?\].*', fname)
|
||||
if m:
|
||||
self.info['YEAR'] = m.group(1)
|
||||
if 'YEAR' in self.info:
|
||||
year = self.info['YEAR']
|
||||
fname = fname.replace('['+str(year)+']', '')
|
||||
fname = fname.replace('[ '+str(year)+' ]', '')
|
||||
fname = fname.replace('['+str(year)+' ]', '')
|
||||
fname = fname.replace('[ '+str(year)+']', '')
|
||||
# 5) espaces en bout, centraux et rajoutés
|
||||
fname = fname.lstrip().rstrip()
|
||||
while ' ' in fname:
|
||||
fname = fname.replace(' ', ' ')
|
||||
return fname
|
||||
self.title = fname
|
||||
|
||||
def filename_same(self, other):
|
||||
# Compare les noms de fichiers de self et de other
|
||||
# En supprimant les espaces, la date, et les marques de qualitée
|
||||
return self.simple_name == other.simple_name
|
||||
|
||||
return self.name == other.name
|
||||
'''
|
||||
def additional_info(self):
|
||||
"""
|
||||
Info supplémentaires sur la langue, la qualitée et les sous-titres du fichier
|
||||
|
@ -87,7 +91,7 @@ class File:
|
|||
if m in self.info_subtitles:
|
||||
info['subtitles'] = 'EN'
|
||||
return info
|
||||
|
||||
'''
|
||||
def __eq__(self, other):
|
||||
return (self.path, self.name) == (other.path, other.name)
|
||||
|
||||
|
@ -95,7 +99,9 @@ class File:
|
|||
return hash((self.path, self.name))
|
||||
|
||||
def __str__(self):
|
||||
return str(self.path+'/'+self.name+' year:['+str(self.year)+']')
|
||||
if 'YEAR' in self.info:
|
||||
return str(self.path+'/'+self.name+' year:['+str(self.info['YEAR'])+']')
|
||||
return str(self.path+'/'+self.name)
|
||||
|
||||
def __repr__(self):
|
||||
return str(self)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue