From eb83cfb6a4c6a2b4d7b65b6067da5de24d9eb89d Mon Sep 17 00:00:00 2001 From: angelblue05 Date: Thu, 13 Sep 2018 02:07:08 -0500 Subject: [PATCH] Support delete keymap --- resources/lib/entrypoint/context.py | 40 +++++++++++++++++++++-------- resources/lib/entrypoint/default.py | 10 ++++++++ 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/resources/lib/entrypoint/context.py b/resources/lib/entrypoint/context.py index bd8076f6..f264f06c 100644 --- a/resources/lib/entrypoint/context.py +++ b/resources/lib/entrypoint/context.py @@ -35,12 +35,22 @@ class Context(object): _selected_option = None - def __init__(self, transcode=False): + def __init__(self, transcode=False, delete=False): - self.kodi_id = sys.listitem.getVideoInfoTag().getDbId() or None - self.media = self.get_media_type() - self.server = sys.listitem.getProperty('embyserver') or None - item_id = sys.listitem.getProperty('embyid') + try: + self.kodi_id = sys.listitem.getVideoInfoTag().getDbId() or None + self.media = self.get_media_type() + self.server = sys.listitem.getProperty('embyserver') or None + item_id = sys.listitem.getProperty('embyid') + except AttributeError: + self.server = None + + if xbmc.getInfoLabel('ListItem.Property(embyid)'): + item_id = xbmc.getInfoLabel('ListItem.Property(embyid)') + else: + self.kodi_id = xbmc.getInfoLabel('ListItem.DBID') + self.media = xbmc.getInfoLabel('ListItem.DBTYPE') + item_id = None if self.server or item_id: self.item = TheVoid('GetItem', {'ServerId': self.server, 'Id': item_id}).get() @@ -52,6 +62,9 @@ class Context(object): if transcode: self.transcode() + elif delete: + self.delete_item() + elif self.select_menu(): self.action_menu() @@ -143,15 +156,20 @@ class Context(object): xbmc.executebuiltin('Addon.OpenSettings(plugin.video.emby)') elif selected == OPTIONS['Delete']: - delete = True + self.delete_item() - if not settings('skipContextMenu.bool'): + def delete_item(self): - if not dialog("yesno", heading="{emby}", line1=_(33015)): - delete = False + delete = True - if delete: - TheVoid('DeleteItem', {'ServerId': self.server, 'Id': self.item['Id']}) + if not settings('skipContextMenu.bool'): + + if not dialog("yesno", heading="{emby}", line1=_(33015)): + delete = False + + if delete: + LOG.info("fake deleted %s", self.item['Id']) + #TheVoid('DeleteItem', {'ServerId': self.server, 'Id': self.item['Id']}) def transcode(self): diff --git a/resources/lib/entrypoint/default.py b/resources/lib/entrypoint/default.py index 5e6d094f..5903a9d0 100644 --- a/resources/lib/entrypoint/default.py +++ b/resources/lib/entrypoint/default.py @@ -77,6 +77,8 @@ class Events(object): client.reset_device_id() elif mode == 'reset': reset() + elif mode == 'delete': + delete_item() elif mode == 'refreshboxsets': event('SyncLibrary', {'Id': "Boxsets:Refresh"}) elif mode == 'nextepisodes': @@ -676,3 +678,11 @@ def get_themes(): tvtunes_nfo(nfo_file, paths) dialog("notification", heading="{emby}", message=_(33153), icon="{emby}", time=1000, sound=False) + +def delete_item(): + + ''' Delete keymap action. + ''' + import context + + context.Context(delete=True)