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)
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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)
Beispiel #5
0
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)
Beispiel #7
0
 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)