def add_movie_to_library(self): if not xbmc.getCondVisibility('System.HasAddon(plugin.video.openmeta)'): xbmc.executebuiltin('RunPlugin(plugin://plugin.video.openmeta/setup/total)') if xbmcgui.Dialog().yesno('OpenInfo', 'Add [B]%s[/B] to library?' % self.info['title']): xbmc.executebuiltin('RunPlugin(plugin://plugin.video.openmeta/movies/add_to_library/tmdb/%s)' % self.info.get('id', '')) Utils.after_add(type='movie') Utils.notify(header='[B]%s[/B] added to library' % self.info['title'], message='Exit & re-enter to refresh', icon=self.info['poster'], time=5000, sound=False)
def remove_movie_from_library(self): if not xbmc.getCondVisibility( 'System.HasAddon(plugin.video.openmeta)'): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.openmeta/setup/total)') if xbmcgui.Dialog().yesno( 'OpenInfo', 'Remove [B]%s[/B] from library?' % self.info['title']): if os.path.exists( xbmc.translatePath('%s%s/' % (Utils.OPENMETA_MOVIE_FOLDER, self.info['imdb_id']))): Utils.get_kodi_json(method='VideoLibrary.RemoveMovie', params='{"movieid": %d}' % int(self.info['dbid'])) shutil.rmtree( xbmc.translatePath('%s%s/' % (Utils.OPENMETA_MOVIE_FOLDER, self.info['imdb_id']))) Utils.after_add(type='movie') Utils.notify(header='Removed [B]%s[/B] from library' % self.info.get('title', ''), message='Exit & re-enter to refresh', icon=self.info['poster'], time=5000, sound=False)
def remove_tvshow_from_library(self): if not xbmc.getCondVisibility( 'System.HasAddon(plugin.video.chappaai)'): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.chappaai/setup/total)') if xbmcgui.Dialog().yesno( 'Wraith', 'Remove [B]%s[/B] from library?' % self.info['TVShowTitle']): if os.path.exists( xbmc.translatePath( '%s%s/' % (Utils.CHAPPAAI_TV_FOLDER, self.info['tvdb_id']))): Utils.get_kodi_json(method='VideoLibrary.RemoveTVShow', params='{"tvshowid": %s}' % int(self.info['dbid'])) shutil.rmtree( xbmc.translatePath( '%s%s/' % (Utils.CHAPPAAI_TV_FOLDER, self.info['tvdb_id']))) Utils.after_add(type='tv') Utils.notify(header='Removed [B]%s[/B] from library' % self.info['TVShowTitle'], message='Exit & re-enter to refresh', icon=self.info['poster'], time=5000, sound=False)
def add_tvshow_to_library(self): if not xbmc.getCondVisibility( 'System.HasAddon(plugin.video.chappaai)'): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.chappaai/setup/total)') if xbmcgui.Dialog().yesno( 'Wraith', 'Add [B]%s[/B] to library?' % self.info['TVShowTitle']): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.chappaai/tv/add_to_library/%s)' % self.info['tvdb_id']) Utils.after_add(type='tv') Utils.notify(header='[B]%s[/B] added to library' % self.info['TVShowTitle'], message='Exit & re-enter to refresh', icon=self.info['poster'], time=5000, sound=False)
def start_info_actions(infos, params): if 'imdbid' in params and 'imdb_id' not in params: params['imdb_id'] = params['imdbid'] for info in infos: data = [], '' if info == 'libraryallmovies': return local_db.get_db_movies('"sort": {"order": "descending", "method": "dateadded", "limit": %s}' % params.get("limit", "0")) elif info == 'libraryalltvshows': return local_db.get_db_tvshows('"sort": {"order": "descending", "method": "dateadded", "limit": %s}' % params.get("limit", "0")) elif info == 'popularmovies': return TheMovieDB.get_tmdb_movies('popular') elif info == 'topratedmovies': return TheMovieDB.get_tmdb_movies('top_rated') elif info == 'incinemamovies': return TheMovieDB.get_tmdb_movies('now_playing') elif info == 'upcomingmovies': return TheMovieDB.get_tmdb_movies('upcoming') elif info == 'populartvshows': return TheMovieDB.get_tmdb_shows('popular') elif info == 'topratedtvshows': return TheMovieDB.get_tmdb_shows('top_rated') elif info == 'onairtvshows': return TheMovieDB.get_tmdb_shows('on_the_air') elif info == 'airingtodaytvshows': return TheMovieDB.get_tmdb_shows('airing_today') elif info == 'allmovies': wm.open_video_list(media_type='movie',mode='filter') elif info == 'alltvshows': wm.open_video_list(media_type='tv',mode='filter') elif info == 'search_menu': search_str = xbmcgui.Dialog().input(heading='Enter search string', type=xbmcgui.INPUT_ALPHANUM) return wm.open_video_list(search_str=search_str, mode='search') elif info == 'studio': if 'id' in params and params['id']: return wm.open_video_list(media_type='tv', mode='filter', listitems=TheMovieDB.get_company_data(params['id'])) elif 'studio' in params and params['studio']: company_data = TheMovieDB.search_company(params['studio']) if company_data: return TheMovieDB.get_company_data(company_data[0]['id']) elif info == 'set': if params.get('dbid') and 'show' not in str(params.get('type', '')): name = local_db.get_set_name_from_db(params['dbid']) if name: params['setid'] = TheMovieDB.get_set_id(name) if params.get('setid'): set_data, _ = TheMovieDB.get_set_movies(params['setid']) return set_data elif info == 'keywords': movie_id = params.get('id', False) if not movie_id: movie_id = TheMovieDB.get_movie_tmdb_id(imdb_id=params.get('imdb_id'), dbid=params.get('dbid')) if movie_id: return TheMovieDB.get_keywords(movie_id) elif info == 'directormovies': if params.get('director'): director_info = TheMovieDB.get_person_info(person_label=params['director']) if director_info and director_info.get('id'): movies = TheMovieDB.get_person_movies(director_info['id']) for item in movies: del item['credit_id'] return Utils.merge_dict_lists(movies, key='department') elif info == 'writermovies': if params.get('writer') and not params['writer'].split(' / ')[0] == params.get('director', '').split(' / ')[0]: writer_info = TheMovieDB.get_person_info(person_label=params['writer']) if writer_info and writer_info.get('id'): movies = TheMovieDB.get_person_movies(writer_info['id']) for item in movies: del item['credit_id'] return Utils.merge_dict_lists(movies, key='department') elif info == 'afteradd': return Utils.after_add(params.get('type')) elif info == 'moviedbbrowser': if xbmcgui.Window(10000).getProperty('infodialogs.active'): return None xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') search_str = params.get('id', '') if not search_str and params.get('search'): result = xbmcgui.Dialog().input(heading='Enter search string', type=xbmcgui.INPUT_ALPHANUM) if result and result > -1: search_str = result else: xbmcgui.Window(10000).clearProperty('infodialogs.active') return None xbmcgui.Window(10000).clearProperty('infodialogs.active') return wm.open_video_list(search_str=search_str, mode='search') elif info == 'playmovie': resolve_url(params.get('handle')) Utils.get_kodi_json(method='Player.Open', params='{"item": {"movieid": %s}, "options": {"resume": true}}' % params.get('dbid')) elif info == 'playepisode': resolve_url(params.get('handle')) Utils.get_kodi_json(method='Player.Open', params='{"item": {"episodeid": %s}, "options": {"resume": true}}' % params.get('dbid')) elif info == 'playmusicvideo': resolve_url(params.get('handle')) Utils.get_kodi_json(method='Player.Open', params='{"item": {"musicvideoid": %s}}' % params.get('dbid')) elif info == 'playalbum': resolve_url(params.get('handle')) Utils.get_kodi_json(method='Player.Open', params='{"item": {"albumid": %s}}' % params.get('dbid')) elif info == 'playsong': resolve_url(params.get('handle')) Utils.get_kodi_json(method='Player.Open', params='{"item": {"songid": %s}}' % params.get('dbid')) elif info == 'openinfodialog': resolve_url(params.get('handle')) if xbmc.getCondVisibility('System.HasActiveModalDialog | System.HasModalDialog'): container_id = '' else: container_id = xbmc.getInfoLabel('Container(%s).ListItem.label' % xbmc.getInfoLabel('System.CurrentControlID')) dbid = xbmc.getInfoLabel('%sListItem.DBID' % container_id) if not dbid: dbid = xbmc.getInfoLabel('%sListItem.Property(dbid)' % container_id) db_type = xbmc.getInfoLabel('%sListItem.DBType' % container_id) if db_type == 'movie': xbmc.executebuiltin('RunScript(script.extendedinfo,info=extendedinfo,dbid=%s,id=%s,imdb_id=%s,name=%s)' % (dbid, xbmc.getInfoLabel('ListItem.Property(id)'), xbmc.getInfoLabel('ListItem.IMDBNumber'), xbmc.getInfoLabel('ListItem.Title'))) elif db_type == 'tvshow': xbmc.executebuiltin('RunScript(script.extendedinfo,info=extendedtvinfo,dbid=%s,id=%s,tvdb_id=%s,name=%s)' % (dbid, xbmc.getInfoLabel('ListItem.Property(id)'), xbmc.getInfoLabel('ListItem.Property(tvdb_id)'), xbmc.getInfoLabel('ListItem.Title'))) elif db_type == 'season': xbmc.executebuiltin('RunScript(script.extendedinfo,info=seasoninfo,tvshow=%s,season=%s)' % (xbmc.getInfoLabel('ListItem.TVShowTitle'), xbmc.getInfoLabel('ListItem.Season'))) elif db_type == 'episode': xbmc.executebuiltin('RunScript(script.extendedinfo,info=extendedepisodeinfo,tvshow=%s,season=%s,episode=%s)' % (xbmc.getInfoLabel('ListItem.TVShowTitle'), xbmc.getInfoLabel('ListItem.Season'), xbmc.getInfoLabel('ListItem.Episode'))) elif db_type in ['actor', 'director']: xbmc.executebuiltin('RunScript(script.extendedinfo,info=extendedactorinfo,name=%s)' % xbmc.getInfoLabel('ListItem.Label')) else: Utils.notify('Error', 'Could not find valid content type') elif info == 'extendedinfo': resolve_url(params.get('handle')) xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') wm.open_movie_info(movie_id=params.get('id'), dbid=params.get('dbid'), imdb_id=params.get('imdb_id'), name=params.get('name')) xbmcgui.Window(10000).clearProperty('infodialogs.active') elif info == 'extendedactorinfo': resolve_url(params.get('handle')) xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') wm.open_actor_info(actor_id=params.get('id'), name=params.get('name')) xbmcgui.Window(10000).clearProperty('infodialogs.active') elif info == 'extendedtvinfo': resolve_url(params.get('handle')) xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') wm.open_tvshow_info(tmdb_id=params.get('id'), tvdb_id=params.get('tvdb_id'), dbid=params.get('dbid'), imdb_id=params.get('imdb_id'), name=params.get('name')) xbmcgui.Window(10000).clearProperty('infodialogs.active') elif info == 'seasoninfo': resolve_url(params.get('handle')) xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') wm.open_season_info(tvshow=params.get('tvshow'), tvshow_id=params.get('tvshow_id'), dbid=params.get('dbid'), season=params.get('season')) xbmcgui.Window(10000).clearProperty('infodialogs.active') elif info == 'extendedepisodeinfo': resolve_url(params.get('handle')) xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') wm.open_episode_info(tvshow=params.get('tvshow'), tvshow_id=params.get('tvshow_id'), tvdb_id=params.get('tvdb_id'), dbid=params.get('dbid'), season=params.get('season'), episode=params.get('episode')) xbmcgui.Window(10000).clearProperty('infodialogs.active') elif info == 'albuminfo': resolve_url(params.get('handle')) if params.get('id', ''): album_details = get_album_details(params.get('id', '')) Utils.pass_dict_to_skin(album_details, params.get('prefix', '')) elif info == 'artistdetails': resolve_url(params.get('handle')) artist_details = get_artist_details(params['artistname']) Utils.pass_dict_to_skin(artist_details, params.get('prefix', '')) elif info == 'setfocus': resolve_url(params.get('handle')) xbmc.executebuiltin('SetFocus(22222)') elif info == 'slideshow': resolve_url(params.get('handle')) window_id = xbmcgui.getCurrentwindow_id() window = xbmcgui.Window(window_id) itemlist = window.getFocus() num_items = itemlist.getSelectedPosition() for i in range(0, num_items): Utils.notify(item.getProperty('Image')) elif info == 'action': resolve_url(params.get('handle')) for builtin in params.get('id', '').split('$$'): xbmc.executebuiltin(builtin) elif info == 'youtubevideo': resolve_url(params.get('handle')) xbmc.executebuiltin('Dialog.Close(all,true)') PLAYER.playtube(params.get('id', '')) elif info == 'playtrailer': resolve_url(params.get('handle')) if params.get('id'): movie_id = params['id'] elif int(params.get('dbid', -1)) > 0: movie_id = local_db.get_imdb_id_from_db(media_type='movie', dbid=params['dbid']) elif params.get('imdb_id'): movie_id = TheMovieDB.get_movie_tmdb_id(params['imdb_id']) else: movie_id = '' if movie_id: TheMovieDB.play_movie_trailer_fullscreen(movie_id) elif info == 'playtvtrailer': resolve_url(params.get('handle')) if params.get('id'): tvshow_id = params['id'] elif int(params.get('dbid', -1)) > 0: tvshow_id = local_db.get_imdb_id_from_db(media_type='show', dbid=params['dbid']) elif params.get('tvdb_id'): tvshow_id = TheMovieDB.get_show_tmdb_id(params['tvdb_id']) else: tvshow_id = '' if tvshow_id: TheMovieDB.play_tv_trailer_fullscreen(tvshow_id) elif info == 'string': resolve_url(params.get('handle')) xbmcgui.Window(10000).setProperty('infodialogs.active', 'true') dialog = xbmcgui.Dialog() if params.get('type', '') == 'movie': moviesearch = dialog.input('MovieSearch') xbmc.executebuiltin('Skin.SetString(MovieSearch,%s)' % moviesearch) xbmc.executebuiltin('Container.Refresh') elif params.get('type', '') == 'tv': showsearch = dialog.input('ShowSearch') xbmc.executebuiltin('Skin.SetString(ShowSearch,%s)' % showsearch) xbmc.executebuiltin('Container.Refresh') elif params.get('type', '') == 'youtube': youtubesearch = dialog.input('YoutubeSearch') xbmc.executebuiltin('Skin.SetString(YoutubeSearch,%s)' % youtubesearch) xbmc.executebuiltin('Container.Refresh') xbmcgui.Window(10000).clearProperty('infodialogs.active') elif info == 'deletecache': resolve_url(params.get('handle')) xbmcgui.Window(10000).clearProperty('infodialogs.active') xbmcgui.Window(10000).clearProperty('extendedinfo_running') for rel_path in os.listdir(Utils.ADDON_DATA_PATH): path = os.path.join(Utils.ADDON_DATA_PATH, rel_path) try: if os.path.isdir(path): shutil.rmtree(path) except Exception as e: Utils.log(e) Utils.notify('Cache deleted')
def context_menu(self): if self.listitem.getProperty( 'dbid') and self.listitem.getProperty('dbid') != 0: dbid = self.listitem.getProperty('dbid') else: dbid = 0 item_id = self.listitem.getProperty('id') if self.type == 'tv': imdb_id = Utils.fetch(TheMovieDB.get_tvshow_ids(item_id), 'imdb_id') tvdb_id = Utils.fetch(TheMovieDB.get_tvshow_ids(item_id), 'tvdb_id') else: imdb_id = TheMovieDB.get_imdb_id_from_movie_id(item_id) if self.listitem.getProperty('TVShowTitle'): listitems = ['Play first episode'] else: listitems = ['Play'] if self.listitem.getProperty('dbid'): listitems += ['Remove from library'] else: listitems += ['Add to library'] listitems += ['Trailer'] selection = xbmcgui.Dialog().select(heading='Choose option', list=listitems) if selection == 0: if self.listitem.getProperty('TVShowTitle'): url = 'plugin://plugin.video.openmeta/tv/play/%s/1/1' % tvdb_id PLAYER.play_from_button(url, listitem=None, window=self, dbid=0) else: if self.listitem.getProperty('dbid'): dbid = self.listitem.getProperty('dbid') url = '' else: dbid = 0 url = 'plugin://plugin.video.openmeta/movies/play/tmdb/%s' % item_id PLAYER.play_from_button(url, listitem=None, window=self, type='movieid', dbid=dbid) if selection == 1: if self.listitem.getProperty('TVShowTitle'): TVLibrary = xbmcaddon.Addon( 'plugin.video.openmeta').getSetting( 'tv_library_folder') if self.listitem.getProperty('dbid'): Utils.get_kodi_json(method='VideoLibrary.RemoveTVShow', params='{"tvshowid": %s}' % dbid) if os.path.exists( xbmc.translatePath('%s%s/' % (TVLibrary, tvdb_id))): shutil.rmtree( xbmc.translatePath('%s%s/' % (TVLibrary, tvdb_id))) Utils.after_add(type='tv') Utils.notify( header='[B]%s[/B]' % self.listitem.getProperty('TVShowTitle'), message='Removed from library', icon=self.listitem.getProperty('poster'), time=5000, sound=False) xbmc.sleep(250) self.update(force_update=True) self.getControl(500).selectItem(self.position) else: if xbmcgui.Dialog().yesno( 'OpenInfo', 'Add [B]%s[/B] to library?' % self.listitem.getProperty('TVShowTitle')): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.openmeta/tv/add_to_library/%s)' % tvdb_id) Utils.after_add(type='tv') Utils.notify( header='[B]%s[/B] added to library' % self.listitem.getProperty('TVShowTitle'), message='Exit & re-enter to refresh', icon=self.listitem.getProperty('poster'), time=5000, sound=False) else: if self.listitem.getProperty('dbid'): if xbmcgui.Dialog().yesno( 'OpenInfo', 'Remove [B]%s[/B] from library?' % self.listitem.getProperty('title')): Utils.get_kodi_json( method='VideoLibrary.RemoveMovie', params='{"movieid": %s}' % dbid) MovieLibrary = xbmcaddon.Addon( 'plugin.video.openmeta').getSetting( 'movies_library_folder') if os.path.exists( xbmc.translatePath( '%s%s/' % (MovieLibrary, imdb_id))): shutil.rmtree( xbmc.translatePath( '%s%s/' % (MovieLibrary, imdb_id))) Utils.after_add(type='movie') Utils.notify( header='[B]%s[/B]' % self.listitem.getProperty('title'), message='Removed from library', icon=self.listitem.getProperty('poster'), time=5000, sound=False) xbmc.sleep(250) self.update(force_update=True) self.getControl(500).selectItem(self.position) else: if xbmcgui.Dialog().yesno( 'OpenInfo', 'Add [B]%s[/B] to library?' % self.listitem.getProperty('title')): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.openmeta/movies/add_to_library/tmdb/%s)' % item_id) Utils.after_add(type='movie') Utils.notify( header='[B]%s[/B] added to library' % self.listitem.getProperty('title'), message='Exit & re-enter to refresh', icon=self.listitem.getProperty('poster'), time=5000, sound=False) if selection == 2: if self.listitem.getProperty('TVShowTitle'): url = 'plugin://script.extendedinfo?info=playtvtrailer&&id=' + item_id else: url = 'plugin://script.extendedinfo?info=playtrailer&&id=' + item_id PLAYER.play(url, listitem=None, window=self)
def context_menu(self): if self.listitem.getProperty( 'dbid') and self.listitem.getProperty('dbid') != 0: dbid = self.listitem.getProperty('dbid') else: dbid = 0 item_id = self.listitem.getProperty('id') if self.type == 'tv': imdb_id = Utils.fetch(TheMovieDB.get_tvshow_ids(item_id), 'imdb_id') tvdb_id = Utils.fetch(TheMovieDB.get_tvshow_ids(item_id), 'tvdb_id') elif self.type == "episode": tvdb_id = self.listitem.getProperty("tvdb_id") imdb_id = self.listitem.getProperty("imdb_id") else: imdb_id = TheMovieDB.get_imdb_id_from_movie_id(item_id) if self.listitem.getProperty('TVShowTitle'): listitems = ['Play first episode'] else: listitems = ['Play'] if self.listitem.getProperty('dbid'): listitems += ['Remove from library'] else: listitems += ['Add to library'] listitems += ['Trailer'] if self.type == "tv": listitems += ['Rate TV show'] elif self.type == "episode": listitems += ['Library: all tvshows'] else: listitems += ['Rate movie'] listitems += [LANG(14076)] if self.type == "tv" or self.type == "episode": if self.listitem.getProperty("dbid"): listitems = [LANG(208)] if not self.type == "tv" or self.type == "episode": listitems += ['Add to list'] if self.mode == "list": listitems += ['Remove from list'] if self.type == "movie" and xbmc.getCondVisibility( "system.hasaddon(plugin.video.couchpotato_manager)"): listitems += ['Add to CouchPotato'] if xbmc.getCondVisibility( "system.hasaddon(plugin.video.trakt_list_manager)"): listitems += ['Visit : [COLOR skyblue]%s[/COLOR]'] if self.type == "tv" and xbmc.getCondVisibility( "system.hasaddon(plugin.video.sickrage)"): listitems += ['Add to SickBeard'] if self.trakt_account and (self.type == 'movie' or self.type == 'tv'): listitems += ['Trakt Manager'] selection = xbmcgui.Dialog().select(heading='Choose option', list=listitems) if selection != -1 and listitems[selection] == 'Trakt Manager': name = self.listitem.getProperty("title") if self.type == "movie": content = "movie" else: content = "tvshow" xbmc.executebuiltin( "RunScript(script.extendedinfo,info=traktManager,name=%s,tmdb=%s,content=%s)" % (name, item_id, content)) elif selection == 0: if self.listitem.getProperty('TVShowTitle'): url = 'plugin://plugin.video.chappaai/tv/play/%s/1/1' % tvdb_id PLAYER.play_from_button(url, listitem=None, window=self, dbid=0) else: if self.listitem.getProperty('dbid'): dbid = self.listitem.getProperty('dbid') url = '' else: dbid = 0 url = 'plugin://plugin.video.chappaai/movies/play/tmdb/%s' % item_id PLAYER.play_from_button(url, listitem=None, window=self, type='movieid', dbid=dbid) if selection == 1: if self.listitem.getProperty('TVShowTitle'): TVLibrary = xbmcaddon.Addon( 'plugin.video.chappaai').getSetting( 'tv_library_folder') if self.listitem.getProperty('dbid'): Utils.get_kodi_json(method='VideoLibrary.RemoveTVShow', params='{"tvshowid": %s}' % dbid) if os.path.exists( xbmc.translatePath('%s%s/' % (TVLibrary, tvdb_id))): shutil.rmtree( xbmc.translatePath('%s%s/' % (TVLibrary, tvdb_id))) Utils.after_add(type='tv') Utils.notify( header='[B]%s[/B]' % self.listitem.getProperty('TVShowTitle'), message='Removed from library', icon=self.listitem.getProperty('poster'), time=5000, sound=False) xbmc.sleep(250) self.update(force_update=True) self.getControl(500).selectItem(self.position) else: if xbmcgui.Dialog().yesno( 'Wraith', 'Add [B]%s[/B] to library?' % self.listitem.getProperty('TVShowTitle')): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.chappaai/tv/add_to_library/%s)' % tvdb_id) Utils.after_add(type='tv') Utils.notify( header='[B]%s[/B] added to library' % self.listitem.getProperty('TVShowTitle'), message='Exit & re-enter to refresh', icon=self.listitem.getProperty('poster'), time=5000, sound=False) else: if self.listitem.getProperty('dbid'): if xbmcgui.Dialog().yesno( 'Wraith', 'Remove [B]%s[/B] from library?' % self.listitem.getProperty('title')): Utils.get_kodi_json( method='VideoLibrary.RemoveMovie', params='{"movieid": %s}' % dbid) MovieLibrary = xbmcaddon.Addon( 'plugin.video.chappaai').getSetting( 'movies_library_folder') if os.path.exists( xbmc.translatePath( '%s%s/' % (MovieLibrary, imdb_id))): shutil.rmtree( xbmc.translatePath( '%s%s/' % (MovieLibrary, imdb_id))) Utils.after_add(type='movie') Utils.notify( header='[B]%s[/B]' % self.listitem.getProperty('title'), message='Removed from library', icon=self.listitem.getProperty('poster'), time=5000, sound=False) xbmc.sleep(250) self.update(force_update=True) self.getControl(500).selectItem(self.position) else: if xbmcgui.Dialog().yesno( 'Wraith', 'Add [B]%s[/B] to library?' % self.listitem.getProperty('title')): xbmc.executebuiltin( 'RunPlugin(plugin://plugin.video.chappaai/movies/add_to_library/tmdb/%s)' % item_id) Utils.after_add(type='movie') Utils.notify( header='[B]%s[/B] added to library' % self.listitem.getProperty('title'), message='Exit & re-enter to refresh', icon=self.listitem.getProperty('poster'), time=5000, sound=False) if selection == 2: if self.listitem.getProperty('TVShowTitle'): url = 'plugin://script.extendedinfo?info=playtvtrailer&&id=' + item_id else: url = 'plugin://script.extendedinfo?info=playtrailer&&id=' + item_id PLAYER.play(url, listitem=None, window=self)