From 5a5fe76a2769d6a969b96edd2289de07f0956dbb Mon Sep 17 00:00:00 2001
From: herby2212 <12448284+herby2212@users.noreply.github.com>
Date: Sun, 15 Oct 2023 18:33:10 +0200
Subject: [PATCH] initial release
---
data/interfaces/default/css/tautulli.css | 28 ++++++++++++++++++-
.../default/js/tables/history_table.js | 12 +++++---
plexpy/datafactory.py | 10 +++++--
3 files changed, 43 insertions(+), 7 deletions(-)
diff --git a/data/interfaces/default/css/tautulli.css b/data/interfaces/default/css/tautulli.css
index e256d2d7..b8249a21 100644
--- a/data/interfaces/default/css/tautulli.css
+++ b/data/interfaces/default/css/tautulli.css
@@ -1281,7 +1281,7 @@ a .dashboard-activity-metadata-user-thumb:hover {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
- -webkit-border-radius: 50%;
+ -webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 350%;
overflow: hidden;
@@ -2854,6 +2854,32 @@ a .home-platforms-list-cover-face:hover
overflow: hidden;
max-width: 350px;
}
+.circle {
+ margin: 0.05rem;
+ display: inline-block;
+ width: 1.55rem;
+ height: 1.55rem;
+ border-radius: 50%;
+ border: 0.2rem solid white;
+}
+.circle-quarter {
+ background-image:
+ linear-gradient(00deg, #0e253f 50%, transparent 50%),
+ linear-gradient(90deg, #d1d1d1 50%, transparent 50%);
+}
+.circle-half {
+ background-image:
+ linear-gradient(-90deg, #0e253f 50%, transparent 50%),
+ linear-gradient(90deg, #d1d1d1 50%, transparent 50%);
+ }
+.circle-three-quarter {
+ background-image:
+ linear-gradient(180deg, transparent 50%, #d1d1d1 50%),
+ linear-gradient(90deg, #d1d1d1 50%, transparent 50%);
+}
+.circle-full {
+ background: #d1d1d1;
+}
#graph-tabs {
padding-bottom: 10px;
float: none;
diff --git a/data/interfaces/default/js/tables/history_table.js b/data/interfaces/default/js/tables/history_table.js
index d209f90e..7f9d578f 100644
--- a/data/interfaces/default/js/tables/history_table.js
+++ b/data/interfaces/default/js/tables/history_table.js
@@ -263,13 +263,17 @@ history_table_options = {
"targets": [12],
"data": "watched_status",
"createdCell": function (td, cellData, rowData, row, col) {
+ var circleValue = "";
if (cellData == 1) {
- $(td).html('');
+ circleValue = " circle-full";
+ } else if (cellData == 0.75) {
+ circleValue = " circle-three-quarter";
} else if (cellData == 0.5) {
- $(td).html('');
- } else {
- $(td).html('');
+ circleValue = " circle-half";
+ } else if (cellData == 0.25) {
+ circleValue = " circle-quarter";
}
+ $(td).html('');
},
"searchable": false,
"orderable": false,
diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py
index 3db32a51..efca7b92 100644
--- a/plexpy/datafactory.py
+++ b/plexpy/datafactory.py
@@ -282,13 +282,19 @@ class DataFactory(object):
if item['live']:
item['percent_complete'] = 100
+ base_watched_value = watched_percent[item['media_type']] / 4.0
+
if helpers.check_watched(
item['media_type'], item['view_offset'], item['duration'],
item['marker_credits_first'], item['marker_credits_final']
):
watched_status = 1
- elif item['percent_complete'] >= watched_percent[item['media_type']] / 2.0:
- watched_status = 0.5
+ elif item['percent_complete'] >= base_watched_value * 3.0:
+ watched_status = 0.75
+ elif item['percent_complete'] >= base_watched_value * 2.0:
+ watched_status = 0.50
+ elif item['percent_complete'] >= base_watched_value:
+ watched_status = 0.25
else:
watched_status = 0