Browse Source

Migrate update

pull/3111/head
Ruud 11 years ago
parent
commit
2ce0f7beb4
  1. 32
      couchpotato/core/database.py

32
couchpotato/core/database.py

@ -6,6 +6,7 @@ from couchpotato import CPLog
from couchpotato.api import addApiView from couchpotato.api import addApiView
from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.event import addEvent, fireEvent
from couchpotato.core.helpers.encoding import toUnicode from couchpotato.core.helpers.encoding import toUnicode
from couchpotato.core.helpers.variable import getImdb
log = CPLog(__name__) log = CPLog(__name__)
@ -112,10 +113,11 @@ class Database(object):
def migrate(self): def migrate(self):
time.sleep(1)
from couchpotato import Env from couchpotato import Env
old_db = os.path.join(Env.get('data_dir'), 'couchpotato.db') old_db = os.path.join(Env.get('data_dir'), 'couchpotato.db')
if not os.path.isfile(old_db): return
time.sleep(1)
if os.path.isfile(old_db): if os.path.isfile(old_db):
@ -282,31 +284,33 @@ class Database(object):
all_files = migrate_data['file'] all_files = migrate_data['file']
poster_type = migrate_data['filetype']['poster'] poster_type = migrate_data['filetype']['poster']
medias = migrate_data['movie'] medias = migrate_data['movie']
media_link = {}
for x in medias: for x in medias:
m = medias[x] m = medias[x]
status = statuses.get(m['status_id']).get('identifier') status = statuses.get(m['status_id']).get('identifier')
l = libraries[m['library_id']]
# Only migrate wanted movies # Only migrate wanted movies, Skip if no identifier present
if status != 'active': continue if status != 'active' or not getImdb(l.get('identifier')): continue
l = libraries[m['library_id']]
profile_id = profile_link.get(m['profile_id']) profile_id = profile_link.get(m['profile_id'])
category_id = category_link.get(m['category_id']) category_id = category_link.get(m['category_id'])
title = titles_by_library.get(m['library_id']) title = titles_by_library.get(m['library_id'])
releases = releases_by_media.get(x, []) releases = releases_by_media.get(x, [])
info = json.loads(l.get('info', ''))
files = library_files.get(m['library_id'], []) files = library_files.get(m['library_id'], [])
if not isinstance(files, list): if not isinstance(files, list):
files = [files] files = [files]
added_media = fireEvent('movie.add', { added_media = fireEvent('movie.add', {
'info': json.loads(l.get('info', '')), 'info': info,
'identifier': l.get('identifier'), 'identifier': l.get('identifier'),
'profile_id': profile_id, 'profile_id': profile_id,
'category_id': category_id, 'category_id': category_id,
'title': title 'title': title
}, force_readd = False, search_after = False, status = status, single = True) }, force_readd = False, search_after = False, update_after = False, notify_after = False, status = status, single = True)
added_media['files'] = added_media.get('files', {})
for f in files: for f in files:
file = all_files[f.get('file_id')] file = all_files[f.get('file_id')]
@ -323,16 +327,10 @@ class Database(object):
if not rel.get('info'): continue if not rel.get('info'): continue
quality = quality_link[rel.get('quality_id')] quality = quality_link[rel.get('quality_id')]
added_rel = fireEvent('release.create_from_search', [rel['info']], added_media, quality, single = True)
# Update status
added_rel['status'] = status
added_rel['last_edit'] = int(time.time())
db.update(added_rel)
break
return # Add status to keys
rel['info']['status'] = status
added_rel_identifiers = fireEvent('release.create_from_search', [rel['info']], added_media, quality, single = True)
# rename old database # rename old database
os.rename(old_db, old_db + '.old') os.rename(old_db, old_db + '.old')

Loading…
Cancel
Save