Remove release on new scan
This commit is contained in:
@@ -115,12 +115,35 @@ class Manage(Plugin):
|
|||||||
if done_movie['library']['identifier'] not in added_identifiers:
|
if done_movie['library']['identifier'] not in added_identifiers:
|
||||||
fireEvent('movie.delete', movie_id = done_movie['id'], delete_from = 'all')
|
fireEvent('movie.delete', movie_id = done_movie['id'], delete_from = 'all')
|
||||||
else:
|
else:
|
||||||
|
|
||||||
for release in done_movie.get('releases', []):
|
for release in done_movie.get('releases', []):
|
||||||
for release_file in release.get('files', []):
|
if len(release.get('files', [])) == 0:
|
||||||
# Remove release not available anymore
|
fireEvent('release.delete', release['id'])
|
||||||
if not os.path.isfile(ss(release_file['path'])):
|
else:
|
||||||
fireEvent('release.clean', release['id'])
|
for release_file in release.get('files', []):
|
||||||
break
|
# Remove release not available anymore
|
||||||
|
if not os.path.isfile(ss(release_file['path'])):
|
||||||
|
fireEvent('release.clean', release['id'])
|
||||||
|
break
|
||||||
|
|
||||||
|
# Check if there are duplicate releases (different quality) use the last one, delete the rest
|
||||||
|
if len(done_movie.get('releases', [])) > 1:
|
||||||
|
used_files = {}
|
||||||
|
for release in done_movie.get('releases', []):
|
||||||
|
|
||||||
|
for release_file in release.get('files', []):
|
||||||
|
already_used = used_files.get(release_file['path'])
|
||||||
|
|
||||||
|
if already_used:
|
||||||
|
print already_used, release['id']
|
||||||
|
if already_used < release['id']:
|
||||||
|
fireEvent('release.delete', release['id'], single = True) # delete this one
|
||||||
|
else:
|
||||||
|
fireEvent('release.delete', already_used, single = True) # delete previous one
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
used_files[release_file['path']] = release.get('id')
|
||||||
|
del used_files
|
||||||
|
|
||||||
Env.prop('manage.last_update', time.time())
|
Env.prop('manage.last_update', time.time())
|
||||||
except:
|
except:
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ class Release(Entity):
|
|||||||
movie = ManyToOne('Movie')
|
movie = ManyToOne('Movie')
|
||||||
status = ManyToOne('Status')
|
status = ManyToOne('Status')
|
||||||
quality = ManyToOne('Quality')
|
quality = ManyToOne('Quality')
|
||||||
files = ManyToMany('File', cascade = 'all, delete-orphan', single_parent = True)
|
files = ManyToMany('File')
|
||||||
info = OneToMany('ReleaseInfo', cascade = 'all, delete-orphan')
|
info = OneToMany('ReleaseInfo', cascade = 'all, delete-orphan')
|
||||||
|
|
||||||
def to_dict(self, deep = {}, exclude = []):
|
def to_dict(self, deep = {}, exclude = []):
|
||||||
|
|||||||
Reference in New Issue
Block a user