diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index b90e1b76..84a1b337 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -69,8 +69,8 @@ class DataFactory(object): 'SUM(CASE WHEN paused_counter IS NULL THEN 0 ELSE paused_counter END) AS paused_counter', 'session_history.user_id', 'session_history.user', - '(CASE WHEN users.friendly_name IS NULL THEN users.username ELSE users.friendly_name END) \ - AS friendly_name', + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" \ + THEN users.username ELSE users.friendly_name END) AS friendly_name', 'platform', 'player', 'ip_address', diff --git a/plexpy/graphs.py b/plexpy/graphs.py index 0ed17392..3666a471 100644 --- a/plexpy/graphs.py +++ b/plexpy/graphs.py @@ -463,7 +463,8 @@ class Graphs(object): if y_axis == 'plays': query = 'SELECT ' \ 'users.user_id, users.username, ' \ - '(CASE WHEN users.friendly_name IS NULL THEN users.username ELSE users.friendly_name END) AS friendly_name,' \ + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" ' \ + ' THEN users.username ELSE users.friendly_name END) AS friendly_name,' \ 'SUM(CASE WHEN media_type = "episode" THEN 1 ELSE 0 END) AS tv_count, ' \ 'SUM(CASE WHEN media_type = "movie" THEN 1 ELSE 0 END) AS movie_count, ' \ 'SUM(CASE WHEN media_type = "track" THEN 1 ELSE 0 END) AS music_count, ' \ @@ -479,7 +480,8 @@ class Graphs(object): else: query = 'SELECT ' \ 'users.user_id, users.username, ' \ - '(CASE WHEN users.friendly_name IS NULL THEN users.username ELSE users.friendly_name END) AS friendly_name,' \ + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" ' \ + ' THEN users.username ELSE users.friendly_name END) AS friendly_name,' \ 'SUM(CASE WHEN media_type = "episode" AND stopped > 0 THEN (stopped - started) ' \ ' - (CASE WHEN paused_counter IS NULL THEN 0 ELSE paused_counter END) ELSE 0 END) AS tv_count, ' \ 'SUM(CASE WHEN media_type = "movie" AND stopped > 0 THEN (stopped - started) ' \ @@ -904,7 +906,8 @@ class Graphs(object): if y_axis == 'plays': query = 'SELECT ' \ 'users.user_id, users.username, ' \ - '(CASE WHEN users.friendly_name IS NULL THEN users.username ELSE users.friendly_name END) AS friendly_name, ' \ + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" ' \ + ' THEN users.username ELSE users.friendly_name END) AS friendly_name,' \ 'SUM(CASE WHEN session_history_media_info.transcode_decision = "direct play" ' \ 'THEN 1 ELSE 0 END) AS dp_count, ' \ 'SUM(CASE WHEN session_history_media_info.transcode_decision = "copy" ' \ @@ -925,7 +928,8 @@ class Graphs(object): else: query = 'SELECT ' \ 'users.user_id, users.username, ' \ - '(CASE WHEN users.friendly_name IS NULL THEN users.username ELSE users.friendly_name END) AS friendly_name, ' \ + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" ' \ + ' THEN users.username ELSE users.friendly_name END) AS friendly_name,' \ 'SUM(CASE WHEN session_history_media_info.transcode_decision = "direct play" ' \ 'AND session_history.stopped > 0 THEN (session_history.stopped - session_history.started) ' \ ' - (CASE WHEN paused_counter IS NULL THEN 0 ELSE paused_counter END) ELSE 0 END) AS dp_count, ' \ diff --git a/plexpy/libraries.py b/plexpy/libraries.py index c942b768..649d454a 100644 --- a/plexpy/libraries.py +++ b/plexpy/libraries.py @@ -753,8 +753,9 @@ class Libraries(object): try: if str(section_id).isdigit(): - query = 'SELECT (CASE WHEN users.friendly_name IS NULL THEN users.username ' \ - 'ELSE users.friendly_name END) AS friendly_name, users.user_id, users.thumb, COUNT(user) AS user_count ' \ + query = 'SELECT (CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" ' \ + 'THEN users.username ELSE users.friendly_name END) AS friendly_name, ' \ + 'users.user_id, users.thumb, COUNT(user) AS user_count ' \ 'FROM session_history ' \ 'JOIN session_history_metadata ON session_history_metadata.id = session_history.id ' \ 'JOIN users ON users.user_id = session_history.user_id ' \ diff --git a/plexpy/users.py b/plexpy/users.py index ef530e55..949c9f44 100644 --- a/plexpy/users.py +++ b/plexpy/users.py @@ -181,8 +181,8 @@ class Users(object): 'session_history_media_info.transcode_decision', 'session_history.user', 'session_history.user_id as custom_user_id', - '(CASE WHEN users.friendly_name IS NULL THEN users.username ELSE \ - users.friendly_name END) AS friendly_name' + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" \ + THEN users.username ELSE users.friendly_name END) AS friendly_name' ] try: @@ -717,8 +717,8 @@ class Users(object): 'user_login.host', 'user_login.user_agent', 'user_login.timestamp', - '(CASE WHEN users.friendly_name IS NULL THEN user_login.user ELSE users.friendly_name END) \ - AS friendly_name' + '(CASE WHEN users.friendly_name IS NULL OR TRIM(users.friendly_name) = "" \ + THEN users.username ELSE users.friendly_name END) AS friendly_name' ] try: