Merge branch 'dev'

This commit is contained in:
JonnyWong16 2016-05-24 22:17:22 -07:00
commit fc98e2f052
9 changed files with 40 additions and 22 deletions

View file

@ -1,5 +1,13 @@
# Changelog # Changelog
## v1.4.4 (2016-05-24)
* Fix: Image queries crashing the PMS when playing clips from channels.
* Fix: Plexivity import if IP address is missing.
* Fix: Tooltips shown behind the datatable headers.
* Fix: Current activity instances rendered in a random order causing them to jump around.
## v1.4.3 (2016-05-22) ## v1.4.3 (2016-05-22)
* Fix: PlexPy not starting without any authentication method. * Fix: PlexPy not starting without any authentication method.

View file

@ -61,6 +61,8 @@ DOCUMENTATION :: END
% if data is not None: % if data is not None:
<% <%
from urllib import quote
from plexpy import helpers from plexpy import helpers
data['indexes'] = helpers.cast_to_int(data['indexes']) data['indexes'] = helpers.cast_to_int(data['indexes'])
%> %>
@ -90,9 +92,11 @@ DOCUMENTATION :: END
<div class="dashboard-activity-poster-face" style="background-image: url(${data['thumb']});"></div> <div class="dashboard-activity-poster-face" style="background-image: url(${data['thumb']});"></div>
% else: % else:
% if data['art']: % if data['art']:
<div class="dashboard-activity-poster-face" style="background-image: url(pms_image_proxy?img=${data['art']}&width=500&height=280&fallback=art);"></div> <!--Hacky solution to escape the image url until I come up with something better-->
<div class="dashboard-activity-poster-face" style="background-image: url(pms_image_proxy?img=${quote(data['art'])}&width=500&height=280&fallback=art);"></div>
% else: % else:
<div class="dashboard-activity-poster-face" style="background-image: url(pms_image_proxy?img=${data['thumb']}&width=500&height=280&fallback=art);"></div> <!--Hacky solution to escape the image url until I come up with something better-->
<div class="dashboard-activity-poster-face" style="background-image: url(pms_image_proxy?img=${quote(data['thumb'])}&width=500&height=280&fallback=art);"></div>
% endif % endif
% endif % endif
% elif data['media_type'] == 'photo': % elif data['media_type'] == 'photo':

View file

@ -448,10 +448,10 @@ function childTableOptions(rowData) {
// Create the tooltips. // Create the tooltips.
$('.expand-history-tooltip').tooltip({ container: 'body' }); $('.expand-history-tooltip').tooltip({ container: 'body' });
$('.external-ip-tooltip').tooltip(); $('.external-ip-tooltip').tooltip({ container: 'body' });
$('.transcode-tooltip').tooltip(); $('.transcode-tooltip').tooltip({ container: 'body' });
$('.media-type-tooltip').tooltip(); $('.media-type-tooltip').tooltip({ container: 'body' });
$('.watched-tooltip').tooltip(); $('.watched-tooltip').tooltip({ container: 'body' });
$('.thumb-tooltip').popover({ $('.thumb-tooltip').popover({
html: true, html: true,
container: 'body', container: 'body',

View file

@ -132,8 +132,8 @@ history_table_modal_options = {
$('#ajaxMsg').fadeOut(); $('#ajaxMsg').fadeOut();
// Create the tooltips. // Create the tooltips.
$('.transcode-tooltip').tooltip(); $('.transcode-tooltip').tooltip({ container: 'body' });
$('.media-type-tooltip').tooltip(); $('.media-type-tooltip').tooltip({ container: 'body' });
$('.thumb-tooltip').popover({ $('.thumb-tooltip').popover({
html: true, html: true,
container: '#history-modal', container: '#history-modal',

View file

@ -217,10 +217,10 @@ libraries_list_table_options = {
$('#ajaxMsg').fadeOut(); $('#ajaxMsg').fadeOut();
// Create the tooltips. // Create the tooltips.
$('.purge-tooltip').tooltip(); $('.purge-tooltip').tooltip({ container: 'body' });
$('.edit-tooltip').tooltip(); $('.edit-tooltip').tooltip({ container: 'body' });
$('.transcode-tooltip').tooltip(); $('.transcode-tooltip').tooltip({ container: 'body' });
$('.media-type-tooltip').tooltip(); $('.media-type-tooltip').tooltip({ container: 'body' });
$('.thumb-tooltip').popover({ $('.thumb-tooltip').popover({
html: true, html: true,
container: 'body', container: 'body',

View file

@ -220,13 +220,14 @@ users_list_table_options = {
$('#ajaxMsg').fadeOut(); $('#ajaxMsg').fadeOut();
// Create the tooltips. // Create the tooltips.
$('.purge-tooltip').tooltip(); $('.purge-tooltip').tooltip({ container: 'body' });
$('.edit-tooltip').tooltip(); $('.edit-tooltip').tooltip({ container: 'body' });
$('.transcode-tooltip').tooltip(); $('.transcode-tooltip').tooltip({ container: 'body' });
$('.media-type-tooltip').tooltip(); $('.media-type-tooltip').tooltip({ container: 'body' });
$('.watched-tooltip').tooltip(); $('.watched-tooltip').tooltip({ container: 'body' });
$('.thumb-tooltip').popover({ $('.thumb-tooltip').popover({
html: true, html: true,
container: 'body',
trigger: 'hover', trigger: 'hover',
placement: 'right', placement: 'right',
template: '<div class="popover history-thumbnail-popover" role="tooltip"><div class="arrow" style="top: 50%;"></div><div class="popover-content"></div></div>', template: '<div class="popover history-thumbnail-popover" role="tooltip"><div class="arrow" style="top: 50%;"></div><div class="popover-content"></div></div>',

View file

@ -100,6 +100,7 @@ def extract_plexivity_xml(xml=None):
video_resolution = helpers.get_xml_attr(c, 'videoResolution') video_resolution = helpers.get_xml_attr(c, 'videoResolution')
width = helpers.get_xml_attr(c, 'width') width = helpers.get_xml_attr(c, 'width')
ip_address = ''
machine_id = '' machine_id = ''
platform = '' platform = ''
player = '' player = ''

View file

@ -14,7 +14,7 @@
# along with PlexPy. If not, see <http://www.gnu.org/licenses/>. # along with PlexPy. If not, see <http://www.gnu.org/licenses/>.
import threading import threading
import urllib2 import urllib
from urlparse import urlparse from urlparse import urlparse
import plexpy import plexpy
@ -387,7 +387,7 @@ class PmsConnect(object):
Output: array Output: array
""" """
uri = '/search?query=' + urllib2.quote(query.encode('utf8')) + track uri = '/search?query=' + urllib.quote(query.encode('utf8')) + track
request = self.request_handler.make_request(uri=uri, request = self.request_handler.make_request(uri=uri,
proto=self.protocol, proto=self.protocol,
request_type='GET', request_type='GET',
@ -1021,6 +1021,8 @@ class PmsConnect(object):
session_output = self.get_session_each(session_type, session_) session_output = self.get_session_each(session_type, session_)
session_list.append(session_output) session_list.append(session_output)
session_list = sorted(session_list, key=lambda k: k['session_key'])
output = {'stream_count': helpers.get_xml_attr(xml_head[0], 'size'), output = {'stream_count': helpers.get_xml_attr(xml_head[0], 'size'),
'sessions': session.mask_session_info(session_list) 'sessions': session.mask_session_info(session_list)
} }
@ -1902,10 +1904,12 @@ class PmsConnect(object):
""" """
if img: if img:
uri = '/photo/:/transcode?url=http://127.0.0.1:32400%s' % img params = {'url': plexpy.CONFIG.PMS_URL + img}
if width.isdigit() and height.isdigit(): if width.isdigit() and height.isdigit():
uri += '&width=%s&height=%s' % (width, height) params['width'] = width
params['height'] = height
uri = '/photo/:/transcode?%s' % urllib.urlencode(params)
result = self.request_handler.make_request(uri=uri, result = self.request_handler.make_request(uri=uri,
proto=self.protocol, proto=self.protocol,
request_type='GET', request_type='GET',

View file

@ -1,2 +1,2 @@
PLEXPY_VERSION = "master" PLEXPY_VERSION = "master"
PLEXPY_RELEASE_VERSION = "1.4.3" PLEXPY_RELEASE_VERSION = "1.4.4"