60 lines
2.3 KiB
Python
60 lines
2.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
from __future__ import absolute_import, division, unicode_literals
|
|
from logging import getLogger
|
|
|
|
from . import variables as v
|
|
from . import utils
|
|
###############################################################################
|
|
|
|
LOG = getLogger('PLEX.migration')
|
|
|
|
|
|
def check_migration():
|
|
LOG.info('Checking whether we need to migrate something')
|
|
last_migration = utils.settings('last_migrated_PKC_version')
|
|
if last_migration == v.ADDON_VERSION:
|
|
LOG.info('Already migrated to PKC version %s' % v.ADDON_VERSION)
|
|
# Ensure later migration if user downgraded PKC!
|
|
utils.settings('last_migrated_PKC_version', value=v.ADDON_VERSION)
|
|
return
|
|
|
|
if not utils.compare_version(last_migration, '1.8.2'):
|
|
LOG.info('Migrating to version 1.8.1')
|
|
# Set the new PKC theMovieDB key
|
|
utils.settings('themoviedbAPIKey',
|
|
value='19c90103adb9e98f2172c6a6a3d85dc4')
|
|
|
|
if not utils.compare_version(last_migration, '2.0.25'):
|
|
LOG.info('Migrating to version 2.0.24')
|
|
# Need to re-connect with PMS to pick up on plex.direct URIs
|
|
utils.settings('ipaddress', value='')
|
|
utils.settings('port', value='')
|
|
|
|
if not utils.compare_version(last_migration, '2.7.6'):
|
|
LOG.info('Migrating to version 2.7.5')
|
|
from .library_sync.sections import delete_files
|
|
delete_files()
|
|
|
|
if not utils.compare_version(last_migration, '2.8.3'):
|
|
LOG.info('Migrating to version 2.8.2')
|
|
from .library_sync import sections
|
|
sections.clear_window_vars()
|
|
sections.delete_videonode_files()
|
|
|
|
if not utils.compare_version(last_migration, '2.8.7'):
|
|
LOG.info('Migrating to version 2.8.6')
|
|
# Need to delete the UNIQUE index that prevents creating several
|
|
# playlist entries with the same kodi_hash
|
|
from .plex_db import PlexDB
|
|
with PlexDB() as plexdb:
|
|
plexdb.cursor.execute('DROP INDEX IF EXISTS ix_playlists_3')
|
|
# Index will be automatically recreated on next PKC startup
|
|
|
|
if not utils.compare_version(last_migration, '2.8.9'):
|
|
LOG.info('Migrating to version 2.8.8')
|
|
from .library_sync import sections
|
|
sections.clear_window_vars()
|
|
sections.delete_videonode_files()
|
|
|
|
utils.settings('last_migrated_PKC_version', value=v.ADDON_VERSION)
|