diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f1af865..503e04a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## v1.1.10 (2015-09-20) + +* Added dedicated settings section for home stats configuration with ability to show/hide selected stats and sections. +* Added support for Twitter notifications. +* Only show music in graphs if music logging is enabled. +* The monitoring ignore interval now excludes paused time. +* Fix display bug on activity panel which incorrectly reported transcoding sometimes. +* Fix bug with Email notification TLS checkbox when it would be disabled by changing any other settings afterwards. +* Fix issue on some Python releases where the webbrowser library isn't included. + + ## v1.1.9 (2015-09-14) * Another JonnyWong release. I'm going to stop thanking you now ;) diff --git a/PlexPy.py b/PlexPy.py index 0243ce0f..4d8d953f 100755 --- a/PlexPy.py +++ b/PlexPy.py @@ -20,7 +20,7 @@ import sys # Ensure lib added to path, before any other imports sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib/')) -from plexpy import webstart, logger +from plexpy import webstart, logger, web_socket import locale import time @@ -191,6 +191,16 @@ def main(): # Start the background threads plexpy.start() + # Open connection for websocket + if plexpy.CONFIG.MONITORING_USE_WEBSOCKET: + try: + web_socket.start_thread() + except: + logger.warn(u"Websocket :: Unable to open connection.") + # Fallback to polling + plexpy.POLLING_FAILOVER = True + plexpy.initialize_scheduler() + # Open webbrowser if plexpy.CONFIG.LAUNCH_BROWSER and not args.nolaunch: plexpy.launch_browser(plexpy.CONFIG.HTTP_HOST, http_port, diff --git a/data/interfaces/default/base.html b/data/interfaces/default/base.html index 96aa9c81..d0ec31bf 100644 --- a/data/interfaces/default/base.html +++ b/data/interfaces/default/base.html @@ -37,7 +37,7 @@ from plexpy import version % elif plexpy.CONFIG.CHECK_GITHUB and plexpy.CURRENT_VERSION != plexpy.LATEST_VERSION and plexpy.COMMITS_BEHIND > 0 and plexpy.INSTALL_TYPE != 'win':
diff --git a/data/interfaces/default/css/plexpy.css b/data/interfaces/default/css/plexpy.css index 2842814e..2d623547 100644 --- a/data/interfaces/default/css/plexpy.css +++ b/data/interfaces/default/css/plexpy.css @@ -33,6 +33,33 @@ select.input-sm { color: #999; outline: none; } +select[multiple] { + height: 125px; + margin: 5px 0 5px 0; + color: #fff; + border: 0px solid #444; + background: #555; + padding: 2px 2px; + background-color: #555; + border-radius: 3px; + transition: background-color .3s; +} +select[multiple]:focus { + outline: 0; + outline: thin dotted \9; + color: #555; + background-color: #fff; + transition: background-color .3s; +} +select[multiple]:focus::-webkit-scrollbar-thumb { + background-color: rgba(0,0,0,.15); +} +select[multiple] option { + padding: 6px 10px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} img { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; @@ -1074,7 +1101,7 @@ a:hover .dashboard-recent-media-cover { display: block; width: 100%; height: 100%; - background-image: url(../images/plex-logo-light.svg); + background-image: url(../images/plex-logo-light-small.png); background-size: 100px; background-repeat: no-repeat; background-position: center; diff --git a/data/interfaces/default/current_activity.html b/data/interfaces/default/current_activity.html index 04632966..2c98bfea 100644 --- a/data/interfaces/default/current_activity.html +++ b/data/interfaces/default/current_activity.html @@ -19,7 +19,7 @@ session_key Returns a unique session id for the active stream rating_key Returns the unique identifier for the media item. media_index Returns the index of the media item. parent_media_index Returns the index of the media item's parent. -type Returns the type of session. Either 'track', 'episode' or 'movie'. +media_type Returns the type of session. Either 'track', 'episode' or 'movie'. thumb Returns the location of the item's thumbnail. Use with pms_image_proxy. bif_thumb Returns the location of the item's bif thumbnail. Use with pms_image_proxy. art Returns the location of the item's artwork @@ -67,21 +67,21 @@ DOCUMENTATION :: END % if data['stream_count'] != '0': % for a in data['sessions']: - % if a['type'] != 'photo': + % if a['media_type'] != 'photo': % endif - % if a['type'] == 'movie' or a['type'] == 'episode' or a['type'] == 'track': + % if a['media_type'] == 'movie' or a['media_type'] == 'episode' or a['media_type'] == 'track': % endifusers
users
users
users
plays
+ % else: + ${top_stat['rows'][0]['total_duration'] | hd} + % endif +plays
@@ -485,7 +637,7 @@ DOCUMENTATION :: END % endifSelect the cards to show in the watch statistics on the home page. Select none to disable.
+Specify the number of days for the statistics on the home page. Default is 30 days.
+Specify the number of days for the watch statistics on the home page. Default is 30 days.
Specify the number of items to show in the top lists for the statistics on the home page. Max is 10 items, default is 5 items, 0 to disable.
+Specify the number of items to show in the top lists for the watch statistics on the home page. Max is 10 items, default is 5 items, 0 to disable.
Use play duration instead of play count to generate statistics.
Select the cards to show in the library statistics on the home page. Select none to disable.
+If you're using websocket monitoring, any server changes require a restart of PlexPy.
The interval (in seconds) PlexPy will ping your Plex Server. Min 30 seconds, recommended 60 seconds.
Instead of polling the server at regular intervals let the server tell us when something happens. This is currently experimental. Encrypted websocket is not currently supported.
+The interval (in seconds) PlexPy will wait for a video item to be active before logging it. 0 to disable.
+The interval (in seconds) an item must be in a playing state before logging it. 0 to disable.