Browse Source

Delete release

pull/51/merge
Ruud 14 years ago
parent
commit
c0c0628708
  1. 23
      couchpotato/core/plugins/movie/static/movie.js
  2. 15
      couchpotato/core/plugins/release/main.py
  3. 8
      couchpotato/core/plugins/searcher/main.py

23
couchpotato/core/plugins/movie/static/movie.js

@ -249,7 +249,8 @@ var ReleaseAction = new Class({
'events': { 'events': {
'click': function(e){ 'click': function(e){
(e).stop(); (e).stop();
self.delete(release); self.del(release);
this.getParent('.item').destroy();
} }
} }
}) })
@ -259,12 +260,18 @@ var ReleaseAction = new Class({
} }
self.movie.slide('in'); self.movie.slide('in');
}, },
get: function(release, type){
var self = this;
return (release.info.filter(function(info){
return type == info.identifier
}).pick() || {}).value
},
download: function(release){ download: function(release){
var self = this; var self = this;
p(release)
Api.request('release.download', { Api.request('release.download', {
'data': { 'data': {
'id': release.id 'id': release.id
@ -272,7 +279,7 @@ var ReleaseAction = new Class({
}); });
}, },
delete: function(release){ del: function(release){
var self = this; var self = this;
Api.request('release.delete', { Api.request('release.delete', {
@ -281,14 +288,6 @@ var ReleaseAction = new Class({
} }
}) })
},
get: function(release, type){
var self = this;
return (release.info.filter(function(info){
return type == info.identifier
}).pick() || {}).value
} }
}); });

15
couchpotato/core/plugins/release/main.py

@ -16,6 +16,7 @@ class Release(Plugin):
addEvent('release.add', self.add) addEvent('release.add', self.add)
addApiView('release.download', self.download) addApiView('release.download', self.download)
addApiView('release.delete', self.delete)
def add(self, group): def add(self, group):
db = get_session() db = get_session()
@ -77,6 +78,20 @@ class Release(Plugin):
# Check database and update/insert if necessary # Check database and update/insert if necessary
return fireEvent('file.add', path = file, part = self.getPartNumber(file), type = self.file_types[type], properties = properties, single = True) return fireEvent('file.add', path = file, part = self.getPartNumber(file), type = self.file_types[type], properties = properties, single = True)
def delete(self):
db = get_session()
id = getParam('id')
rel = db.query(Relea).filter_by(id = id).first()
if rel:
rel.delete()
db.commit()
return jsonified({
'success': True
})
def download(self): def download(self):
db = get_session() db = get_session()

8
couchpotato/core/plugins/searcher/main.py

@ -6,6 +6,7 @@ from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin from couchpotato.core.plugins.base import Plugin
from couchpotato.core.settings.model import Movie, Release, ReleaseInfo from couchpotato.core.settings.model import Movie, Release, ReleaseInfo
from couchpotato.environment import Env from couchpotato.environment import Env
from sqlalchemy.exc import InterfaceError
import re import re
import traceback import traceback
@ -85,14 +86,17 @@ class Searcher(Plugin):
for info in nzb: for info in nzb:
try: try:
if not isinstance(nzb[info], (str, unicode)):
continue
rls_info = ReleaseInfo( rls_info = ReleaseInfo(
identifier = info, identifier = info,
value = nzb[info] value = nzb[info]
) )
rls.info.append(rls_info) rls.info.append(rls_info)
except Exception: db.commit()
except InterfaceError:
log.debug('Couldn\'t add %s to ReleaseInfo: %s' % (info, traceback.format_exc())) log.debug('Couldn\'t add %s to ReleaseInfo: %s' % (info, traceback.format_exc()))
db.commit()
for nzb in sorted_results: for nzb in sorted_results:

Loading…
Cancel
Save