|
|
@ -88,10 +88,10 @@ class Release(Plugin): |
|
|
|
elif rel.status_id in [snatched_status.get('id'), downloaded_status.get('id')]: |
|
|
|
self.updateStatus(id = rel.id, status = ignored_status) |
|
|
|
|
|
|
|
db.expire_all() |
|
|
|
|
|
|
|
def add(self, group): |
|
|
|
|
|
|
|
try: |
|
|
|
db = get_session() |
|
|
|
|
|
|
|
identifier = '%s.%s.%s' % (group['library']['identifier'], group['meta_data'].get('audio', 'unknown'), group['meta_data']['quality']['identifier']) |
|
|
@ -143,8 +143,14 @@ class Release(Plugin): |
|
|
|
|
|
|
|
fireEvent('media.restatus', media.id) |
|
|
|
|
|
|
|
db.expire_all() |
|
|
|
return True |
|
|
|
except: |
|
|
|
log.error('Failed: %s', traceback.format_exc()) |
|
|
|
db.rollback() |
|
|
|
finally: |
|
|
|
db.close() |
|
|
|
|
|
|
|
return False |
|
|
|
|
|
|
|
def saveFile(self, filepath, type = 'unknown', include_media_info = False): |
|
|
|
|
|
|
@ -165,6 +171,7 @@ class Release(Plugin): |
|
|
|
|
|
|
|
def delete(self, id): |
|
|
|
|
|
|
|
try: |
|
|
|
db = get_session() |
|
|
|
|
|
|
|
rel = db.query(Relea).filter_by(id = id).first() |
|
|
@ -172,11 +179,17 @@ class Release(Plugin): |
|
|
|
rel.delete() |
|
|
|
db.commit() |
|
|
|
return True |
|
|
|
except: |
|
|
|
log.error('Failed: %s', traceback.format_exc()) |
|
|
|
db.rollback() |
|
|
|
finally: |
|
|
|
db.close() |
|
|
|
|
|
|
|
return False |
|
|
|
|
|
|
|
def clean(self, id): |
|
|
|
|
|
|
|
try: |
|
|
|
db = get_session() |
|
|
|
|
|
|
|
rel = db.query(Relea).filter_by(id = id).first() |
|
|
@ -190,6 +203,11 @@ class Release(Plugin): |
|
|
|
self.delete(id) |
|
|
|
|
|
|
|
return True |
|
|
|
except: |
|
|
|
log.error('Failed: %s', traceback.format_exc()) |
|
|
|
db.rollback() |
|
|
|
finally: |
|
|
|
db.close() |
|
|
|
|
|
|
|
return False |
|
|
|
|
|
|
@ -338,9 +356,10 @@ class Release(Plugin): |
|
|
|
|
|
|
|
except: |
|
|
|
log.error('Failed storing download status: %s', traceback.format_exc()) |
|
|
|
db.rollback() |
|
|
|
return False |
|
|
|
finally: |
|
|
|
db.expire_all() |
|
|
|
db.close() |
|
|
|
|
|
|
|
return True |
|
|
|
|
|
|
@ -371,6 +390,8 @@ class Release(Plugin): |
|
|
|
def createFromSearch(self, search_results, media, quality_type): |
|
|
|
|
|
|
|
available_status = fireEvent('status.get', ['available'], single = True) |
|
|
|
|
|
|
|
try: |
|
|
|
db = get_session() |
|
|
|
|
|
|
|
found_releases = [] |
|
|
@ -414,6 +435,13 @@ class Release(Plugin): |
|
|
|
rel['status_id'] = rls.status_id |
|
|
|
|
|
|
|
return found_releases |
|
|
|
except: |
|
|
|
log.error('Failed: %s', traceback.format_exc()) |
|
|
|
db.rollback() |
|
|
|
finally: |
|
|
|
db.close() |
|
|
|
|
|
|
|
return [] |
|
|
|
|
|
|
|
def forMovie(self, id = None): |
|
|
|
|
|
|
@ -442,6 +470,7 @@ class Release(Plugin): |
|
|
|
def updateStatus(self, id, status = None): |
|
|
|
if not status: return False |
|
|
|
|
|
|
|
try: |
|
|
|
db = get_session() |
|
|
|
|
|
|
|
rel = db.query(Relea).filter_by(id = id).first() |
|
|
@ -469,5 +498,11 @@ class Release(Plugin): |
|
|
|
#Update all movie info as there is no release update function |
|
|
|
fireEvent('notify.frontend', type = 'release.update_status', data = rel.to_dict()) |
|
|
|
|
|
|
|
db.expire_all() |
|
|
|
return True |
|
|
|
except: |
|
|
|
log.error('Failed: %s', traceback.format_exc()) |
|
|
|
db.rollback() |
|
|
|
finally: |
|
|
|
db.close() |
|
|
|
|
|
|
|
return False |
|
|
|