Compare commits

...

7 Commits

Author SHA1 Message Date
JonnyWong16
04d4ffb63d v2.0.7-beta 2018-01-01 18:05:26 -08:00
JonnyWong16
80b318b45c Check for failed to retrieve releases from GitHub 2018-01-01 16:09:26 -08:00
JonnyWong16
19969a8b1f Clickable logo using pointer-events 2018-01-01 11:11:17 -08:00
JonnyWong16
b84888356f Don't decode http response content 2017-12-31 22:13:39 -08:00
JonnyWong16
c9436195f3 Fix session pause timestamp 2017-12-31 20:50:03 -08:00
JonnyWong16
98cfb50571 Fix hub related request 2017-12-31 20:32:52 -08:00
JonnyWong16
b67884ea7f Fix LAN/WAN on activity cards 2017-12-31 20:30:48 -08:00
9 changed files with 26 additions and 23 deletions

View File

@@ -1,5 +1,14 @@
# Changelog
## v2.0.7-beta (2018-01-01)
* Monitoring:
* Fix: Incorrect LAN/WAN location on activity cards.
* Fix: Paused time not recording correctly.
* Other:
* Fix: Failed to retrieve synced items when there are special characters in the title.
## v2.0.6-beta (2017-12-31)
* Monitoring:
@@ -17,8 +26,8 @@
* Fix: Error sending Join notifications.
* UI:
* New: Added total required bandwidth in the activity header.
* Fix: Failing to retrieve releases from GitHub.
* Other:
* Fix: Failing to retrieve releases from GitHub.
* Fix: CherryPy SSL connection warning. (Thanks @felixbuenemann)
* Fix: Sanitize script output in logs.
* Change: Login sessions persists across server restarts.

View File

@@ -64,7 +64,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand svg" href="home">
<a class="navbar-brand" href="home" title="Tautulli">
<object data="${http_root}images/logo-tautulli.svg" type="image/svg+xml" style="height: 45px;"></object>
</a>
</div>

View File

@@ -13,18 +13,6 @@ a:focus {
text-decoration: none;
outline: none;
}
a.svg {
position: relative;
display: inline-block;
}
a.svg:after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
select, .react-selectize.bootstrap3.root-node .react-selectize-control {
margin: 5px 0 5px 0;
border: 2px solid #444;
@@ -118,6 +106,9 @@ img {
-moz-box-sizing: content-box;
box-sizing: content-box;
}
object {
pointer-events: none;
}
.navbar {
background: #000;
-webkit-box-shadow: 0 0 0 3px rgba(0,0,0,.2);

View File

@@ -272,7 +272,7 @@ DOCUMENTATION :: END
<div class="sub-heading">Location</div>
<div class="sub-value">
% if data['ip_address'] != 'N/A':
${'LAN' if data['local'] == 1 else 'WAN'}: <span class="ip-container"><span class="ip-address">${data['ip_address']}</span></span>
${data['location'].upper()}: <span class="ip-container"><span class="ip-address">${data['ip_address']}</span></span>
<a href="#" class="external_ip-modal" data-toggle="modal" data-target="#ip-info-modal" data-ip="${data['ip_address']}">
<span id="external_ip-${sk}" class="external-ip-tooltip" data-toggle="tooltip" title="Lookup External IP" style="display: none;"><i class="fa fa-map-marker"></i></span>
</a>

View File

@@ -460,7 +460,7 @@ class ActivityProcessor(object):
if str(session_key).isdigit():
self.db.action('DELETE FROM sessions WHERE session_key = ?', [session_key])
def set_session_last_paused(self, session_key=None, timestamp=None ):
def set_session_last_paused(self, session_key=None, timestamp=None):
if str(session_key).isdigit():
result = self.db.select('SELECT last_paused, paused_counter '
'FROM sessions '
@@ -469,7 +469,7 @@ class ActivityProcessor(object):
paused_counter = None
for session in result:
if session['last_paused']:
paused_offset = timestamp - int(session['last_paused'])
paused_offset = int(time.time()) - int(session['last_paused'])
if session['paused_counter']:
paused_counter = int(session['paused_counter']) + int(paused_offset)
else:

View File

@@ -149,17 +149,17 @@ class HTTPHandler(object):
logger.warn(u"Failed to access uri endpoint %s. Status code %r" % (self.uri, response_status))
return None
def _http_format_output(self, response_content, response_headers):
def _http_format_output(self, response_content, response_headers):
"""Formats the request response to the desired type"""
try:
if self.output_format == 'text':
output = response_content.decode('utf-8', 'ignore')
if self.output_format == 'dict':
output = helpers.convert_xml_to_dict(response_content.decode('utf-8', 'ignore'))
output = helpers.convert_xml_to_dict(response_content)
elif self.output_format == 'json':
output = helpers.convert_xml_to_json(response_content.decode('utf-8', 'ignore'))
output = helpers.convert_xml_to_json(response_content)
elif self.output_format == 'xml':
output = helpers.parse_xml(response_content.decode('utf-8', 'ignore'))
output = helpers.parse_xml(response_content)
else:
output = response_content

View File

@@ -195,7 +195,6 @@ class PmsConnect(object):
"""
uri = '/hubs/metadata/' + rating_key + '/related'
request = self.request_handler.make_request(uri=uri,
proto=self.protocol,
request_type='GET',
output_format=output_format)

View File

@@ -1,2 +1,2 @@
PLEXPY_BRANCH = "beta"
PLEXPY_RELEASE_VERSION = "v2.0.6-beta"
PLEXPY_RELEASE_VERSION = "v2.0.7-beta"

View File

@@ -178,6 +178,10 @@ def checkGithub(auto_update=False):
url = 'https://api.github.com/repos/%s/plexpy/releases' % plexpy.CONFIG.GIT_USER
releases = request.request_json(url, timeout=20, whitelist_status_code=404, validator=lambda x: type(x) == list)
if releases is None:
logger.warn('Could not get releases from GitHub.')
return plexpy.LATEST_VERSION
if plexpy.CONFIG.GIT_BRANCH == 'master':
release = next((r for r in releases if not r['prerelease']), releases[0])
elif plexpy.CONFIG.GIT_BRANCH == 'beta':