mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-19 12:59:42 -07:00
Manual merge of v1.4.16 into v2
This commit is contained in:
commit
d7cef5add7
5 changed files with 21 additions and 10 deletions
|
@ -1,5 +1,12 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.4.16 (2016-11-25)
|
||||||
|
|
||||||
|
* Fix: Websocket for new json response on PMS 1.3.0.
|
||||||
|
* Fix: Update stream and transcoder tooltip percent.
|
||||||
|
* Fix: Typo in the edit user modal.
|
||||||
|
|
||||||
|
|
||||||
## v1.4.15 (2016-11-11)
|
## v1.4.15 (2016-11-11)
|
||||||
|
|
||||||
* New: Add stream and transcoder progress percent to the current activity tooltip.
|
* New: Add stream and transcoder progress percent to the current activity tooltip.
|
||||||
|
|
|
@ -45,7 +45,7 @@ DOCUMENTATION :: END
|
||||||
<input type="text" class="form-control" id="friendly_name" name="friendly_name" value="${data['friendly_name']}" size="30">
|
<input type="text" class="form-control" id="friendly_name" name="friendly_name" value="${data['friendly_name']}" size="30">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="help-block">Replace all occurances of the username with this name.</p>
|
<p class="help-block">Replace all occurrences of the username with this name.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="profile_url">Profile Picture URL</label>
|
<label for="profile_url">Profile Picture URL</label>
|
||||||
|
|
|
@ -221,8 +221,11 @@
|
||||||
|
|
||||||
// update the progress bars
|
// update the progress bars
|
||||||
// percent - 3 because of 3px padding-right
|
// percent - 3 because of 3px padding-right
|
||||||
$('#bufferbar-' + key).width(parseInt(s.transcode_progress) - 3 + '%').html(s.transcode_progress + '%');
|
$('#bufferbar-' + key).width(parseInt(s.transcode_progress) - 3 + '%').html(s.transcode_progress + '%')
|
||||||
$('#bar-' + key).width(parseInt(s.progress_percent) - 3 + '%').html(s.progress_percent + '%');
|
.attr('data-original-title', 'Transcoder Progress ' + s.transcode_progress + '%');
|
||||||
|
$('#bar-' + key).width(parseInt(s.progress_percent) - 3 + '%').html(s.progress_percent + '%')
|
||||||
|
.attr('data-original-title', 'Stream Progress ' + s.progress_percent + '%');
|
||||||
|
|
||||||
|
|
||||||
// add temporary class so we know which instances are still active
|
// add temporary class so we know which instances are still active
|
||||||
instance.addClass('updated-temp');
|
instance.addClass('updated-temp');
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
PLEXPY_BRANCH = "master"
|
PLEXPY_BRANCH = "master"
|
||||||
PLEXPY_RELEASE_VERSION = "1.4.15"
|
PLEXPY_RELEASE_VERSION = "1.4.16"
|
||||||
|
|
|
@ -166,11 +166,12 @@ def process(opcode, data):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
info = json.loads(data)
|
info = json.loads(data)
|
||||||
except Exception as ex:
|
except Exception as e:
|
||||||
logger.warn(u"PlexPy WebSocket :: Error decoding message from websocket: %s" % ex)
|
logger.warn(u"PlexPy WebSocket :: Error decoding message from websocket: %s" % e)
|
||||||
logger.debug(data)
|
logger.debug(data)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
info = info.get('NotificationContainer', info)
|
||||||
type = info.get('type')
|
type = info.get('type')
|
||||||
|
|
||||||
if not type:
|
if not type:
|
||||||
|
@ -178,13 +179,13 @@ def process(opcode, data):
|
||||||
|
|
||||||
if type == 'playing':
|
if type == 'playing':
|
||||||
# logger.debug('%s.playing %s' % (name, info))
|
# logger.debug('%s.playing %s' % (name, info))
|
||||||
try:
|
time_line = info.get('PlaySessionStateNotification', info.get('_children'))
|
||||||
children = info.get('_children')
|
|
||||||
except:
|
if not time_line:
|
||||||
logger.debug(u"PlexPy WebSocket :: Session found but unable to get timeline data.")
|
logger.debug(u"PlexPy WebSocket :: Session found but unable to get timeline data.")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
activity = activity_handler.ActivityHandler(timeline=children[0])
|
activity = activity_handler.ActivityHandler(timeline=time_line[0])
|
||||||
activity.process()
|
activity.process()
|
||||||
|
|
||||||
if type == 'timeline':
|
if type == 'timeline':
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue