Browse Source

Cleanup

pull/1631/head
mano3m 12 years ago
parent
commit
2979a8edec
  1. 65
      couchpotato/core/plugins/renamer/main.py

65
couchpotato/core/plugins/renamer/main.py

@ -103,7 +103,7 @@ class Renamer(Plugin):
# make sure the movie folder name is included in the search # make sure the movie folder name is included in the search
folder = None folder = None
movie_files = [] files = []
if movie_folder: if movie_folder:
log.info('Scanning movie folder %s...', movie_folder) log.info('Scanning movie folder %s...', movie_folder)
movie_folder = movie_folder.rstrip(os.path.sep) movie_folder = movie_folder.rstrip(os.path.sep)
@ -112,38 +112,17 @@ class Renamer(Plugin):
# Get all files from the specified folder # Get all files from the specified folder
try: try:
for root, folders, names in os.walk(movie_folder): for root, folders, names in os.walk(movie_folder):
movie_files.extend([os.path.join(root, name) for name in names]) files.extend([os.path.join(root, name) for name in names])
except: except:
log.error('Failed getting files from %s: %s', (movie_folder, traceback.format_exc())) log.error('Failed getting files from %s: %s', (movie_folder, traceback.format_exc()))
db = get_session() db = get_session()
# Get the release with the downloader ID that was downloaded by the downloader # Get the download info stored in the downloaded release
download_info = None download_info = getDownloadInfo(download_id = download_id, downloader = downloader)
if download_id and downloader:
rls = None
rlsnfo_dwnlds = db.query(ReleaseInfo).filter_by(identifier = 'download_downloader', value = downloader).all()
rlsnfo_ids = db.query(ReleaseInfo).filter_by(identifier = 'download_id', value = download_id).all()
for rlsnfo_dwnld in rlsnfo_dwnlds:
for rlsnfo_id in rlsnfo_ids:
if rlsnfo_id.release == rlsnfo_dwnld.release:
rls = rlsnfo_id.release
break
if rls: break
if rls:
download_info = {
'imdb_id': rls.movie.library.identifier,
'quality': rls.quality.identifier,
'is_torrent': any(downloader_type in fireEvent('download.downloader_type', downloader = downloader) for downloader_type in ['torrent', 'torrent_magnet'])
}
else:
log.error('Download ID %s from downloader %s not found in releases', (download_id, downloader))
groups = fireEvent('scanner.scan', folder = folder if folder else self.conf('from'), groups = fireEvent('scanner.scan', folder = folder if folder else self.conf('from'),
files = movie_files, download_info = download_info, return_ignored = False, single = True) files = files, download_info = download_info, return_ignored = False, single = True)
destination = self.conf('to') destination = self.conf('to')
folder_name = self.conf('folder_name') folder_name = self.conf('folder_name')
@ -678,7 +657,7 @@ Remove it if you want it to be renamed (again, or at least let it try again)
elif item['status'] == 'completed': elif item['status'] == 'completed':
log.info('Download of %s completed!', item['name']) log.info('Download of %s completed!', item['name'])
if item['id'] and item['downloader'] and item['folder']: if item['id'] and item['downloader'] and item['folder']:
fireEventAsync('renamer.scan', movie_folder = item['folder'], downloader = item['downloader'], download_id = item['id']) fireEvent('renamer.scan', movie_folder = item['folder'], downloader = item['downloader'], download_id = item['id'])
else: else:
scan_required = True scan_required = True
@ -697,3 +676,35 @@ Remove it if you want it to be renamed (again, or at least let it try again)
self.checking_snatched = False self.checking_snatched = False
return True return True
def getDownloadInfo(self, download_id, downloader):
rls = None
download_info = None
if download_id and downloader:
db = get_session()
rlsnfo_dwnlds = db.query(ReleaseInfo).filter_by(identifier = 'download_downloader', value = downloader).all()
rlsnfo_ids = db.query(ReleaseInfo).filter_by(identifier = 'download_id', value = download_id).all()
for rlsnfo_dwnld in rlsnfo_dwnlds:
for rlsnfo_id in rlsnfo_ids:
if rlsnfo_id.release == rlsnfo_dwnld.release:
rls = rlsnfo_id.release
break
if rls: break
if not rls:
log.error('Download ID %s from downloader %s not found in releases', (download_id, downloader))
if rls:
download_info = {
'imdb_id': rls.movie.library.identifier,
'quality': rls.quality.identifier,
'is_torrent': any(downloader_type in fireEvent('download.downloader_type', downloader = downloader) for downloader_type in ['torrent', 'torrent_magnet'])
}
return download_info

Loading…
Cancel
Save