本文整理匯總了Python中scrobbler.Scrobbler.watching方法的典型用法代碼示例。如果您正苦於以下問題:Python Scrobbler.watching方法的具體用法?Python Scrobbler.watching怎麽用?Python Scrobbler.watching使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類scrobbler.Scrobbler
的用法示例。
在下文中一共展示了Scrobbler.watching方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: __init__
# 需要導入模塊: from scrobbler import Scrobbler [as 別名]
# 或者: from scrobbler.Scrobbler import watching [as 別名]
class traktService:
scrobbler = None
watcher = None
syncThread = None
dispatchQueue = Queue.Queue()
_interval = 10 * 60 # how often to send watching call
def __init__(self):
threading.Thread.name = 'trakt'
def _dispatchQueue(self, data):
utilities.Debug("Queuing for dispatch: %s" % data)
self.dispatchQueue.put(data)
def _dispatch(self, data):
utilities.Debug("Dispatch: %s" % data)
action = data['action']
if action == 'started':
del data['action']
self.scrobbler.playbackStarted(data)
self.watcher = threading.Timer(self._interval, self.doWatching)
self.watcher.name = "trakt-watching"
self.watcher.start()
elif action == 'ended' or action == 'stopped':
self.scrobbler.playbackEnded()
if self.watcher:
if self.watcher.isAlive():
self.watcher.cancel()
self.watcher = None
elif action == 'paused':
self.scrobbler.playbackPaused()
elif action == 'resumed':
self.scrobbler.playbackResumed()
elif action == 'seek' or action == 'seekchapter':
self.scrobbler.playbackSeek()
elif action == 'databaseUpdated':
self.doSync()
elif action == 'scanStarted':
pass
elif action == 'settingsChanged':
utilities.Debug("Settings changed, reloading.")
globals.traktapi.updateSettings()
else:
utilities.Debug("Unknown dispatch action, '%s'." % action)
def run(self):
startup_delay = utilities.getSettingAsInt('startup_delay')
if startup_delay:
utilities.Debug("Delaying startup by %d seconds." % startup_delay)
xbmc.sleep(startup_delay * 1000)
utilities.Debug("Service thread starting.")
# clear any left over properties
utilities.clearProperty('traktManualSync')
utilities.clearProperty('traktManualRateData')
utilities.clearProperty('traktManualRate')
# setup event driven classes
self.Player = traktPlayer(action = self._dispatchQueue)
self.Monitor = traktMonitor(action = self._dispatchQueue)
# init traktapi class
globals.traktapi = traktAPI()
# init sync thread
self.syncThread = syncThread()
# init scrobbler class
self.scrobbler = Scrobbler(globals.traktapi)
# start loop for events
while (not xbmc.abortRequested):
while not self.dispatchQueue.empty() and (not xbmc.abortRequested):
data = self.dispatchQueue.get()
utilities.Debug("Queued dispatch: %s" % data)
self._dispatch(data)
# check if we were tasked to do a manual sync
if utilities.getPropertyAsBool('traktManualSync'):
if not self.syncThread.isAlive():
utilities.Debug("Performing a manual sync.")
self.doSync(manual=True)
else:
utilities.Debug("There already is a sync in progress.")
utilities.clearProperty('traktManualSync')
# check if we were tasked to do a manual rating
if utilities.getPropertyAsBool('traktManualRate'):
self.doManualRating()
utilities.clearProperty('traktManualRateData')
utilities.clearProperty('traktManualRate')
if xbmc.Player().isPlayingVideo():
self.scrobbler.update()
xbmc.sleep(500)
#.........這裏部分代碼省略.........
示例2: __init__
# 需要導入模塊: from scrobbler import Scrobbler [as 別名]
# 或者: from scrobbler.Scrobbler import watching [as 別名]
class traktService:
scrobbler = None
tagger = None
updateTagsThread = None
watcher = None
syncThread = None
dispatchQueue = queue.SqliteQueue()
_interval = 10 * 60 # how often to send watching call
def __init__(self):
threading.Thread.name = 'trakt'
def _dispatchQueue(self, data):
utilities.Debug("Queuing for dispatch: %s" % data)
self.dispatchQueue.append(data)
def _dispatch(self, data):
utilities.Debug("Dispatch: %s" % data)
action = data['action']
if action == 'started':
del data['action']
self.scrobbler.playbackStarted(data)
self.watcher = threading.Timer(self._interval, self.doWatching)
self.watcher.name = "trakt-watching"
self.watcher.start()
elif action == 'ended' or action == 'stopped':
self.scrobbler.playbackEnded()
if self.watcher:
if self.watcher.isAlive():
self.watcher.cancel()
self.watcher = None
elif action == 'paused':
self.scrobbler.playbackPaused()
elif action == 'resumed':
self.scrobbler.playbackResumed()
elif action == 'seek' or action == 'seekchapter':
self.scrobbler.playbackSeek()
elif action == 'databaseUpdated':
self.doSync()
elif action == 'scanStarted':
pass
elif action == 'settingsChanged':
utilities.Debug("Settings changed, reloading.")
globals.traktapi.updateSettings()
self.tagger.updateSettings()
elif action == 'markWatched':
del data['action']
self.doMarkWatched(data)
elif action == 'manualRating':
ratingData = data['ratingData']
self.doManualRating(ratingData)
elif action == 'manualSync':
if not self.syncThread.isAlive():
utilities.Debug("Performing a manual sync.")
self.doSync(manual=True, silent=data['silent'])
else:
utilities.Debug("There already is a sync in progress.")
elif action == 'updatetags':
if self.updateTagsThread and self.updateTagsThread.isAlive():
utilities.Debug("Currently updating tags already.")
else:
self.updateTagsThread = threading.Thread(target=self.tagger.updateTagsFromTrakt, name="trakt-updatetags")
self.updateTagsThread.start()
elif action == 'managelists':
self.tagger.manageLists()
elif action == 'itemlists':
del data['action']
self.tagger.itemLists(data)
elif action == 'addtolist':
del data['action']
list = data['list']
del data['list']
self.tagger.manualAddToList(list, data)
elif action == 'removefromlist':
del data['action']
list = data['list']
del data['list']
self.tagger.manualRemoveFromList(list, data)
elif action == 'loadsettings':
force = False
if 'force' in data:
force = data['force']
globals.traktapi.getAccountSettings(force)
else:
utilities.Debug("Unknown dispatch action, '%s'." % action)
def run(self):
startup_delay = utilities.getSettingAsInt('startup_delay')
if startup_delay:
utilities.Debug("Delaying startup by %d seconds." % startup_delay)
xbmc.sleep(startup_delay * 1000)
utilities.Debug("Service thread starting.")
# purge queue before doing anything
self.dispatchQueue.purge()
# queue a loadsettings action
self.dispatchQueue.append({'action': 'loadsettings'})
#.........這裏部分代碼省略.........
示例3: __init__
# 需要導入模塊: from scrobbler import Scrobbler [as 別名]
# 或者: from scrobbler.Scrobbler import watching [as 別名]
class traktService:
scrobbler = None
watcher = None
syncThread = None
dispatchQueue = Queue.Queue()
_interval = 10 * 60 # how often to send watching call
def __init__(self):
threading.Thread.name = 'trakt'
def _dispatchQueue(self, data):
utilities.Debug("Queuing for dispatch: %s" % data)
self.dispatchQueue.put(data)
def _dispatch(self, data):
utilities.Debug("Dispatch: %s" % data)
action = data['action']
if action == 'started':
del data['action']
self.scrobbler.playbackStarted(data)
self.watcher = threading.Timer(self._interval, self.doWatching)
self.watcher.name = "trakt-watching"
self.watcher.start()
elif action == 'ended' or action == 'stopped':
self.scrobbler.playbackEnded()
if self.watcher:
if self.watcher.isAlive():
self.watcher.cancel()
self.watcher = None
elif action == 'paused':
self.scrobbler.playbackPaused()
elif action == 'resumed':
self.scrobbler.playbackResumed()
elif action == 'seek' or action == 'seekchapter':
self.scrobbler.playbackSeek()
elif action == 'databaseUpdated':
self.doSync()
elif action == 'scanStarted':
pass
elif action == 'settingsChanged':
utilities.Debug("Settings changed, reloading.")
globals.traktapi.updateSettings()
else:
utilities.Debug("Unknown dispatch action, '%s'." % action)
def run(self):
startup_delay = utilities.getSettingAsInt('startup_delay')
if startup_delay:
utilities.Debug("Delaying startup by %d seconds." % startup_delay)
xbmc.sleep(startup_delay * 1000)
utilities.Debug("Service thread starting.")
# setup event driven classes
self.Player = traktPlayer(action = self._dispatchQueue)
self.Monitor = traktMonitor(action = self._dispatchQueue)
# init traktapi class
globals.traktapi = traktAPI()
# init sync thread
self.syncThread = syncThread()
# init scrobbler class
self.scrobbler = Scrobbler(globals.traktapi)
# start loop for events
while (not xbmc.abortRequested):
while not self.dispatchQueue.empty() and (not xbmc.abortRequested):
data = self.dispatchQueue.get()
utilities.Debug("Queued dispatch: %s" % data)
self._dispatch(data)
# check if we were tasked to do a manual sync
if utilities.getPropertyAsBool('traktManualSync'):
if not self.syncThread.isAlive():
utilities.Debug("Performing a manual sync.")
self.doSync(manual=True)
else:
utilities.Debug("There already is a sync in progress.")
utilities.clearProperty('traktManualSync')
if xbmc.Player().isPlayingVideo():
self.scrobbler.update()
xbmc.sleep(500)
# we are shutting down
utilities.Debug("Beginning shut down.")
# check if watcher is set and active, if so, cancel it.
if self.watcher:
if self.watcher.isAlive():
self.watcher.cancel()
# delete player/monitor
del self.Player
del self.Monitor
#.........這裏部分代碼省略.........