From c76f19e42dfeaf033daad222e81298a31b9c212b Mon Sep 17 00:00:00 2001
From: angelblue05 <angelblue.dev@gmail.com>
Date: Sat, 13 Oct 2018 01:00:05 -0500
Subject: [PATCH] Adjust for resume settings

With .55 the resume setting is set per library. Instead query server to see if the item is played to offer delete
---
 resources/lib/connect.py |  3 ---
 resources/lib/player.py  | 35 ++++++++++++++++++-----------------
 2 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/resources/lib/connect.py b/resources/lib/connect.py
index ed630ccf..86bee85d 100644
--- a/resources/lib/connect.py
+++ b/resources/lib/connect.py
@@ -154,9 +154,6 @@ class Connect(object):
         if 'PrimaryImageTag' in self.user:
             window('EmbyUserImage', api.API(self.user, client['auth/server-address']).get_user_artwork(self.user['Id']))
 
-        server_info = client['api'].get_system_info()
-        settings('markPlayed', value=str(server_info.get('MaxResumePct', 90)))
-
     def select_servers(self, state=None):
 
         state = state or self.connect_manager.connect({'enableAutoLogin': False})
diff --git a/resources/lib/player.py b/resources/lib/player.py
index b5bd521e..d0d77fe8 100644
--- a/resources/lib/player.py
+++ b/resources/lib/player.py
@@ -344,23 +344,6 @@ class Player(xbmc.Player):
                         played = 100
                         item['CurrentPosition'] = int(item['Runtime'])
 
-                    marker = float(settings('markPlayed')) / 100
-                    LOG.info("Percent played: %s Mark played at: %s", played, marker)
-                    delete = False
-
-                    if item['Type'] == 'Episode' and settings('deleteTV.bool'):
-                        delete = True
-                    elif item['Type'] == 'Movie' and settings('deleteMovies.bool'):
-                        delete = True
-
-                    if not settings('offerDelete.bool'):
-                        delete = False
-
-                    if played >= marker and delete:
-
-                        if dialog("yesno", heading=_(30091), line1=_(33015), autoclose=120000):
-                            item['Server']['api'].delete_item(item['Id'])
-
                 data = {
                     'ItemId': item['Id'],
                     'MediaSourceId': item['MediaSourceId'],
@@ -386,6 +369,24 @@ class Player(xbmc.Player):
                     for file in files:
                         xbmcvfs.delete(os.path.join(path, file.decode('utf-8')))
 
+                result = item['Server']['api'].get_item(item['Id']) or {}
+
+                if 'UserData' in result and result['UserData']['Played']:
+                    delete = False
+
+                    if result['Type'] == 'Episode' and settings('deleteTV.bool'):
+                        delete = True
+                    elif result['Type'] == 'Movie' and settings('deleteMovies.bool'):
+                        delete = True
+
+                    if not settings('offerDelete.bool'):
+                        delete = False
+
+                    if delete:
+
+                        if dialog("yesno", heading=_(30091), line1=_(33015), autoclose=120000):
+                            item['Server']['api'].delete_item(item['Id'])
+
                 window('emby.external_check', clear=True)
 
         self.played.clear()