|
|
@ -72,10 +72,19 @@ class Scanner(Plugin): |
|
|
|
addEvent('scanner.create_file_identifier', self.createStringIdentifier) |
|
|
|
|
|
|
|
addEvent('scanner.scan', self.scan) |
|
|
|
addEvent('scanner.to_library', self.scanToLibrary) |
|
|
|
addEvent('scanner.files', self.scanToFilesLibrary) |
|
|
|
addEvent('scanner.folder', self.scanToFolderLibrary) |
|
|
|
addEvent('scanner.name_year', self.getReleaseNameYear) |
|
|
|
|
|
|
|
def scanToLibrary(self, folder = None, files = []): |
|
|
|
def scanToFilesLibrary(self, folder = None, files = None): |
|
|
|
|
|
|
|
groups = self.scan(folder = folder, files = files) |
|
|
|
|
|
|
|
for group in groups.itervalues(): |
|
|
|
if group['library']: |
|
|
|
fireEvent('release.add', group = group) |
|
|
|
|
|
|
|
def scanToFolderLibrary(self, folder = None): |
|
|
|
|
|
|
|
if not os.path.isdir(folder): |
|
|
|
return |
|
|
@ -115,7 +124,7 @@ class Scanner(Plugin): |
|
|
|
db.remove() |
|
|
|
|
|
|
|
|
|
|
|
def scan(self, folder = None): |
|
|
|
def scan(self, folder = None, files = []): |
|
|
|
|
|
|
|
if not folder or not os.path.isdir(folder): |
|
|
|
log.error('Folder doesn\'t exists: %s' % folder) |
|
|
@ -124,10 +133,15 @@ class Scanner(Plugin): |
|
|
|
# Get movie "master" files |
|
|
|
movie_files = {} |
|
|
|
leftovers = [] |
|
|
|
for root, dirs, files in os.walk(folder): |
|
|
|
for filename in files: |
|
|
|
|
|
|
|
file_path = os.path.join(root, filename) |
|
|
|
# Scan all files of the folder if no files are set |
|
|
|
if len(files) == 0: |
|
|
|
files = [] |
|
|
|
for root, dirs, walk_files in os.walk(folder): |
|
|
|
for filename in walk_files: |
|
|
|
files.append(os.path.join(root, filename)) |
|
|
|
|
|
|
|
for file_path in files: |
|
|
|
|
|
|
|
# Remove ignored files |
|
|
|
if not self.keepFile(file_path): |
|
|
|