Only update media when needed
This commit is contained in:
@@ -84,7 +84,9 @@ class MovieBase(MovieTypeBase):
|
|||||||
def_title = toUnicode(titles[0])
|
def_title = toUnicode(titles[0])
|
||||||
|
|
||||||
# Default profile and category
|
# Default profile and category
|
||||||
default_profile = fireEvent('profile.default', single = True)
|
default_profile = {}
|
||||||
|
if not params.get('profile_id'):
|
||||||
|
default_profile = fireEvent('profile.default', single = True)
|
||||||
cat_id = params.get('category_id')
|
cat_id = params.get('category_id')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -100,6 +102,13 @@ class MovieBase(MovieTypeBase):
|
|||||||
'category_id': cat_id if cat_id is not None and len(cat_id) > 0 else None,
|
'category_id': cat_id if cat_id is not None and len(cat_id) > 0 else None,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Update movie info
|
||||||
|
try: del info['in_wanted']
|
||||||
|
except: pass
|
||||||
|
try: del info['in_library']
|
||||||
|
except: pass
|
||||||
|
media['info'] = info
|
||||||
|
|
||||||
new = False
|
new = False
|
||||||
try:
|
try:
|
||||||
m = db.get('media', params.get('identifier'), with_doc = True)['doc']
|
m = db.get('media', params.get('identifier'), with_doc = True)['doc']
|
||||||
@@ -110,13 +119,6 @@ class MovieBase(MovieTypeBase):
|
|||||||
# Update dict to be usable
|
# Update dict to be usable
|
||||||
m.update(media)
|
m.update(media)
|
||||||
|
|
||||||
# Update movie info
|
|
||||||
try: del info['in_wanted']
|
|
||||||
except: pass
|
|
||||||
try: del info['in_library']
|
|
||||||
except: pass
|
|
||||||
m['info'] = info
|
|
||||||
|
|
||||||
added = True
|
added = True
|
||||||
do_search = False
|
do_search = False
|
||||||
search_after = search_after and self.conf('search_on_add', section = 'moviesearcher')
|
search_after = search_after and self.conf('search_on_add', section = 'moviesearcher')
|
||||||
@@ -139,22 +141,20 @@ class MovieBase(MovieTypeBase):
|
|||||||
|
|
||||||
m['profile_id'] = params.get('profile_id', default_profile.get('id'))
|
m['profile_id'] = params.get('profile_id', default_profile.get('id'))
|
||||||
m['category_id'] = cat_id if cat_id is not None and len(cat_id) > 0 else (m.get('category_id') or None)
|
m['category_id'] = cat_id if cat_id is not None and len(cat_id) > 0 else (m.get('category_id') or None)
|
||||||
|
m['last_edit'] = int(time.time())
|
||||||
|
|
||||||
|
do_search = True
|
||||||
|
db.update(m)
|
||||||
else:
|
else:
|
||||||
try: del params['info']
|
try: del params['info']
|
||||||
except: pass
|
except: pass
|
||||||
log.debug('Movie already exists, not updating: %s', params)
|
log.debug('Movie already exists, not updating: %s', params)
|
||||||
added = False
|
added = False
|
||||||
|
|
||||||
if force_readd:
|
# Trigger update info
|
||||||
m['last_edit'] = int(time.time())
|
if added and update_after:
|
||||||
do_search = True
|
|
||||||
|
|
||||||
if added:
|
|
||||||
db.update(m)
|
|
||||||
|
|
||||||
# Do full update to get images etc
|
# Do full update to get images etc
|
||||||
if update_after:
|
fireEventAsync('movie.update_info', m['_id'], default_title = params.get('title'), on_complete = onComplete)
|
||||||
fireEventAsync('movie.update_info', m['_id'], default_title = params.get('title'), on_complete = onComplete)
|
|
||||||
|
|
||||||
# Remove releases
|
# Remove releases
|
||||||
for rel in db.run('release', 'for_media', m['_id']):
|
for rel in db.run('release', 'for_media', m['_id']):
|
||||||
|
|||||||
Reference in New Issue
Block a user