Merge pull request #895 from croneter/fix-install

Don't restart Kodi if user chose to enter PKC settings on install
This commit is contained in:
croneter 2019-06-16 14:16:08 +02:00 committed by GitHub
commit 0b9297e7c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 10 deletions

View file

@ -693,14 +693,12 @@ class InitialSetup(object):
# Open Settings page now? You will need to restart!
goto_settings = utils.yesno_dialog(utils.lang(29999),
utils.lang(39017))
# New installation - make sure we start with a clean slate
utils.wipe_database(reboot=False)
if goto_settings:
LOG.info('User chose to go to the PKC settings - suspending PKC')
app.APP.stop_pkc = True
executebuiltin(
'Addon.OpenSettings(plugin.video.plexkodiconnect)')
# New installation - make sure we start with a clean slate
# Will trigger a reboot, usually
utils.wipe_database()
# Reload relevant settings if that is not the case
app.CONN.load()
app.ACCOUNT.load()
app.SYNC.load()
return
utils.reboot_kodi()

View file

@ -539,7 +539,7 @@ def create_kodi_db_indicees():
conn.close()
def wipe_database():
def wipe_database(reboot=True):
"""
Deletes all Plex playlists as well as video nodes, then clears Kodi as well
as Plex databases completely.
@ -585,10 +585,11 @@ def wipe_database():
settings('sections_asked_for_machine_identifier', value='')
init_dbs()
LOG.info('Wiping done')
if settings('kodi_db_has_been_wiped_clean') != 'true':
no_reboot = settings('kodi_db_has_been_wiped_clean') == 'true' or not reboot
settings('kodi_db_has_been_wiped_clean', value='true')
if not no_reboot:
# Root cause is sqlite WAL mode - Kodi might still have DB access open
LOG.warn('Need to restart Kodi before filling Kodi DB again')
settings('kodi_db_has_been_wiped_clean', value='true')
reboot_kodi()