From a6a30cc54c65cee5020162fb78b6c480c5e6df9d Mon Sep 17 00:00:00 2001
From: shaun <shaun@bluebit.com.au>
Date: Wed, 25 Mar 2015 18:47:22 +1100
Subject: [PATCH] only set the first run setting if it is not set

---
 resources/lib/LibrarySync.py | 33 +++++++++++++++++++++++----------
 service.py                   |  3 +--
 2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/resources/lib/LibrarySync.py b/resources/lib/LibrarySync.py
index 675c3395..54a25062 100644
--- a/resources/lib/LibrarySync.py
+++ b/resources/lib/LibrarySync.py
@@ -74,15 +74,17 @@ class LibrarySync():
     
     def MoviesSync(self, fullsync=True):
         
-        addon = xbmcaddon.Addon(id='plugin.video.mb3sync')
+        
         WINDOW = xbmcgui.Window( 10000 )
         pDialog = None
         startedSync = datetime.today()
         
         try:
+            addon = xbmcaddon.Addon(id='plugin.video.mb3sync')
             dbSyncIndication = addon.getSetting("dbSyncIndication")
+            dbSyncFirstRun = addon.getSetting("SyncFirstMovieRunDone")
                 
-            if(addon.getSetting("SyncFirstMovieRunDone") != "true" or dbSyncIndication == "Dialog Progress"):
+            if(dbSyncFirstRun != "true" or dbSyncIndication == "Dialog Progress"):
                 pDialog = xbmcgui.DialogProgress()
             elif(dbSyncIndication == "BG Progress"):
                 pDialog = xbmcgui.DialogProgressBG()
@@ -224,7 +226,9 @@ class LibrarySync():
             if cleanNeeded:
                 self.doKodiLibraryUpdate(True, pDialog)
         
-            addon.setSetting("SyncFirstMovieRunDone", "true")
+            if(dbSyncFirstRun != "true"):
+                addon = xbmcaddon.Addon(id='plugin.video.mb3sync') #force a new instance of the addon
+                addon.setSetting("SyncFirstMovieRunDone", "true")
             
             # display notification if set up
             notificationString = ""
@@ -263,8 +267,9 @@ class LibrarySync():
         
         try:
             dbSyncIndication = addon.getSetting("dbSyncIndication")
+            dbSyncFirstRun = addon.getSetting("SyncFirstTVRunDone")
                 
-            if(addon.getSetting("SyncFirstTVRunDone") != "true" or dbSyncIndication == "Dialog Progress"):
+            if(dbSyncFirstRun != "true" or dbSyncIndication == "Dialog Progress"):
                 pDialog = xbmcgui.DialogProgress()
             elif(dbSyncIndication == "BG Progress"):
                 pDialog = xbmcgui.DialogProgressBG()
@@ -581,7 +586,9 @@ class LibrarySync():
                 if cleanNeeded:
                     self.doKodiLibraryUpdate(True, pDialog)
           
-            addon.setSetting("SyncFirstTVRunDone", "true")
+            if(dbSyncFirstRun != "true"):
+                addon = xbmcaddon.Addon(id='plugin.video.mb3sync') #force a new instance of the addon
+                addon.setSetting("SyncFirstTVRunDone", "true")          
 
             # display notification if set up
             notificationString = ""
@@ -619,8 +626,9 @@ class LibrarySync():
         
         try:
             dbSyncIndication = addon.getSetting("dbSyncIndication")
+            dbSyncFirstRun = addon.getSetting("SyncFirstMusicVideoRunDone")
                 
-            if(addon.getSetting("SyncFirstMusicVideoRunDone") != "true" or dbSyncIndication == "Dialog Progress"):
+            if(dbSyncFirstRun != "true" or dbSyncIndication == "Dialog Progress"):
                 pDialog = xbmcgui.DialogProgress()
             elif(dbSyncIndication == "BG Progress"):
                 pDialog = xbmcgui.DialogProgressBG()
@@ -736,7 +744,9 @@ class LibrarySync():
             if cleanNeeded:
                 self.doKodiLibraryUpdate(True, pDialog)
         
-            addon.setSetting("SyncFirstMusicVideoRunDone", "true")
+            if(dbSyncFirstRun != "true"):
+                addon = xbmcaddon.Addon(id='plugin.video.mb3sync')
+                addon.setSetting("SyncFirstMusicVideoRunDone", "true")
             
         finally:
             if(pDialog != None):
@@ -768,8 +778,9 @@ class LibrarySync():
         
         try:
             playCountSyncIndication = addon.getSetting("playCountSyncIndication")
+            playCountSyncFirstRun = addon.getSetting("SyncFirstCountsRunDone")
                 
-            if(addon.getSetting("SyncFirstCountsRunDone") != "true" or playCountSyncIndication == "Dialog Progress"):
+            if(playCountSyncFirstRun != "true" or playCountSyncIndication == "Dialog Progress"):
                 pDialog = xbmcgui.DialogProgress()
             elif(playCountSyncIndication == "BG Progress"):
                 pDialog = xbmcgui.DialogProgressBG()
@@ -899,8 +910,10 @@ class LibrarySync():
                                 count += 1
                                 
                         showCurrent += 1
-                        
-            addon.setSetting("SyncFirstCountsRunDone", "true")
+             
+            if(playCountSyncFirstRun != "true"):
+                addon = xbmcaddon.Addon(id='plugin.video.mb3sync')                  
+                addon.setSetting("SyncFirstCountsRunDone", "true")
                 
             # display notification if set up
             notificationString = ""
diff --git a/service.py b/service.py
index 52333974..d7c28ac3 100644
--- a/service.py
+++ b/service.py
@@ -6,8 +6,7 @@ import threading
 import json
 from datetime import datetime
 
-addonSettings = xbmcaddon.Addon(id='plugin.video.mb3sync')
-cwd = addonSettings.getAddonInfo('path')
+cwd = xbmcaddon.Addon(id='plugin.video.mb3sync').getAddonInfo('path')
 BASE_RESOURCE_PATH = xbmc.translatePath( os.path.join( cwd, 'resources', 'lib' ) )
 sys.path.append(BASE_RESOURCE_PATH)