Fixes for Release.add after renaming

This commit is contained in:
Ruud committed 2011-11-08 23:37:00 +01:00
1 parent 89e1d220a7
commit 0420bdeec5
4 files changed
+18 -13

No files matched your search

+7 -5
View File
@@ -7,6 +7,11 @@ import traceback
log = CPLog(__name__) log = CPLog(__name__)
events = {} events = {}
def runHandler(name, handler, *args, **kwargs):
try:
return handler(*args, **kwargs)
except:
log.error('Error in event "%s", that wasn\'nt caught: %s' % (name, traceback.format_exc()))
def addEvent(name, handler, priority = 0): def addEvent(name, handler, priority = 0):
@@ -20,13 +25,10 @@ def addEvent(name, handler, priority = 0):
try: try:
parent = handler.im_self parent = handler.im_self
parent.beforeCall(handler) parent.beforeCall(handler)
try: h = runHandler(name, handler, *args, **kwargs)
h = handler(*args, **kwargs)
except:
log.error('Error in event %s, that wasn\'nt caught: %s' % (name, traceback.format_exc()))
parent.afterCall(handler) parent.afterCall(handler)
except: except:
h = handler(*args, **kwargs) h = runHandler(name, handler, *args, **kwargs)
return h return h
+3 -3
View File
@@ -60,10 +60,10 @@ class Release(Plugin):
added_file = self.saveFile(file, type = type, include_media_info = type is 'movie') added_file = self.saveFile(file, type = type, include_media_info = type is 'movie')
try: try:
added_file = db.query(File).filter_by(id = added_file.get('id')).one() added_file = db.query(File).filter_by(id = added_file.get('id')).one()
Relea.files.append(added_file) rel.files.append(added_file)
db.commit() db.commit()
except Exception, e: except Exception, e:
log.debug('Failed to attach "%s" to Relea: %s' % (file, e)) log.debug('Failed to attach "%s" to release: %s' % (file, e))
db.remove() db.remove()
@@ -77,7 +77,7 @@ class Release(Plugin):
properties = {} properties = {}
# Check database and update/insert if necessary # Check database and update/insert if necessary
return fireEvent('file.add', path = file, part = fireEvent('scanner.partnumber', file, single = True), type = Scanner.file_types[type], properties = properties, single = True) return fireEvent('file.add', path = file, part = fireEvent('scanner.partnumber', file, single = True), type = Scanner.file_types.get(type), properties = properties, single = True)
def delete(self): def delete(self):
+1 -1
View File
@@ -280,7 +280,7 @@ class Renamer(Plugin):
log.info('Removing release %s' % release) log.info('Removing release %s' % release)
# Add this release to the library # Add this release to the library
fireEvent('scanner.files', folder = destination, files = rename_files) fireEvent('scanner.files', folder = destination, files = [x for x in rename_files.itervalues()])
# Search for trailers etc # Search for trailers etc
fireEventAsync('renamer.after', group) fireEventAsync('renamer.after', group)
+7 -4
View File
@@ -1,7 +1,7 @@
from couchpotato import get_session from couchpotato import get_session
from couchpotato.core.event import fireEvent, addEvent from couchpotato.core.event import fireEvent, addEvent
from couchpotato.core.helpers.encoding import toUnicode, simplifyString from couchpotato.core.helpers.encoding import toUnicode, simplifyString
from couchpotato.core.helpers.variable import getExt, getImdb from couchpotato.core.helpers.variable import getExt, getImdb, tryInt
from couchpotato.core.logger import CPLog 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 File from couchpotato.core.settings.model import File
@@ -38,6 +38,7 @@ class Scanner(Plugin):
'nfo': ('nfo', 'nfo'), 'nfo': ('nfo', 'nfo'),
'movie': ('video', 'movie'), 'movie': ('video', 'movie'),
'backdrop': ('image', 'backdrop'), 'backdrop': ('image', 'backdrop'),
'leftover': ('leftover', 'leftover'),
} }
codecs = { codecs = {
@@ -196,11 +197,13 @@ class Scanner(Plugin):
# Check if movie is fresh and maybe still unpacking, ignore files new then 1 minute # Check if movie is fresh and maybe still unpacking, ignore files new then 1 minute
file_too_new = False file_too_new = False
for file in group['unsorted_files']: for file in group['unsorted_files']:
if os.path.getmtime(file) > time.time() - 60: file_time = os.path.getmtime(file)
file_too_new = True if file_time > time.time() - 60:
file_too_new = tryInt(time.time() - file_time)
break
if file_too_new: if file_too_new:
log.info('Files seem to be still unpacking or just unpacked, ignoring for now: %s' % identifier) log.info('Files seem to be still unpacking or just unpacked (%s), ignoring for now: %s' % (file_time, identifier))
delete_identifier.append(identifier) delete_identifier.append(identifier)
continue continue