Skip to content

Commit

Permalink
Merge pull request #155 from nate1280/manual_sync_changes
Browse files Browse the repository at this point in the history
Ability to specify which library is updated in manual sync.
  • Loading branch information
rudf0rd committed Jan 29, 2014
2 parents 964c878 + b96de6f commit d68fb4b
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 8 deletions.
3 changes: 3 additions & 0 deletions script.py
Expand Up @@ -98,6 +98,9 @@ def Main():
data['silent'] = False
if 'silent' in args:
data['silent'] = (args['silent'].lower() == 'true')
data['library'] = "all"
if 'library' in args and args['library'] in ['episodes', 'movies']:
data['library'] = args['library']

elif args['action'] == 'loadsettings':
data = {'action': 'loadsettings', 'force': True}
Expand Down
11 changes: 6 additions & 5 deletions service.py
Expand Up @@ -74,7 +74,7 @@ def _dispatch(self, data):
elif action == 'manualSync':
if not self.syncThread.isAlive():
utilities.Debug("Performing a manual sync.")
self.doSync(manual=True, silent=data['silent'])
self.doSync(manual=True, silent=data['silent'], library=data['library'])
else:
utilities.Debug("There already is a sync in progress.")
elif action == 'updatetags':
Expand Down Expand Up @@ -349,22 +349,23 @@ def doMarkWatched(self, data):
if markedNotification:
utilities.notification(utilities.getString(1550), utilities.getString(1552) % (len(params['episodes']), s))

def doSync(self, manual=False, silent=False):
self.syncThread = syncThread(manual, silent)
def doSync(self, manual=False, silent=False, library="all"):
self.syncThread = syncThread(manual, silent, library)
self.syncThread.start()

class syncThread(threading.Thread):

_isManual = False

def __init__(self, isManual=False, runSilent=False):
def __init__(self, isManual=False, runSilent=False, library="all"):
threading.Thread.__init__(self)
self.name = "trakt-sync"
self._isManual = isManual
self._runSilent = runSilent
self._library = library

def run(self):
sync = Sync(show_progress=self._isManual, run_silent=self._runSilent, api=globals.traktapi)
sync = Sync(show_progress=self._isManual, run_silent=self._runSilent, library=self._library, api=globals.traktapi)
sync.sync()

if utilities.getSettingAsBool('tagging_enable') and utilities.getSettingAsBool('tagging_tag_after_sync'):
Expand Down
13 changes: 10 additions & 3 deletions sync.py
Expand Up @@ -10,10 +10,11 @@

class Sync():

def __init__(self, show_progress=False, run_silent=False, api=None):
def __init__(self, show_progress=False, run_silent=False, library="all", api=None):
self.traktapi = api
self.show_progress = show_progress
self.run_silent = run_silent
self.library = library
if self.show_progress and self.run_silent:
Debug("[Sync] Sync is being run silently.")
self.sync_on_update = utilities.getSettingAsBool('sync_on_update')
Expand Down Expand Up @@ -764,12 +765,18 @@ def sync(self):
Debug("[Sync] Starting synchronization with trakt.tv")

if self.syncCheck('movies'):
self.syncMovies()
if self.library in ["all", "movies"]:
self.syncMovies()
else:
Debug("[Sync] Movie sync is being skipped for this manual sync.")
else:
Debug("[Sync] Movie sync is disabled, skipping.")

if self.syncCheck('episodes'):
self.syncEpisodes()
if self.library in ["all", "episodes"]:
self.syncEpisodes()
else:
Debug("[Sync] Episode sync is being skipped for this manual sync.")
else:
Debug("[Sync] Episode sync is disabled, skipping.")

Expand Down

0 comments on commit d68fb4b

Please sign in to comment.