def movies_batch_add_to_library(): from resources.lib.TheMovieDB import Movies movie_batch_file = plugin.get_setting('movies_batch_add_file_path', unicode) if xbmcvfs.exists(movie_batch_file): try: f = open(xbmc.translatePath(movie_batch_file), 'r') r = f.read() f.close() ids = r.split('\n') except: plugin.notify('Movies', 'not found', plugin.get_addon_icon(), 3000) library_folder = lib_movies.setup_library(plugin.get_setting('movies_library_folder', unicode)) for id in ids: if ',' in id: csvs = id.split(',') for csv in csvs: if not str(csv).startswith('tt') and csv != '': movie = Movies(csv).info() csv = movie.get('imdb_id') lib_movies.batch_add_movies_to_library(library_folder, csv) else: if not str(id).startswith('tt') and id != '': movie = Movies(id).info() id = movie.get('imdb_id') lib_movies.batch_add_movies_to_library(library_folder, id) os.remove(xbmc.translatePath(movie_batch_file)) lib_movies.update_library() return True
def update_library(): now = time.time() is_syncing = plugin.getProperty('openmeta_syncing_library') is_updating = plugin.getProperty('openmeta_updating_library') if is_syncing and now - int(is_syncing) < 120: plugin.log.debug('Skipping library sync') else: if plugin.get_setting('library_sync_collection', bool) == True: try: plugin.setProperty('openmeta_syncing_library', int(now)) plugin.notify('OpenMeta', 'Syncing library', plugin.get_addon_icon(), 1000) lib_tvshows.sync_trakt_collection() lib_movies.sync_trakt_collection() finally: plugin.clearProperty('openmeta_syncing_library') if is_updating and now - int(is_updating) < 120: plugin.log.debug('Skipping library update') return else: if plugin.get_setting('library_updates', bool) == True: try: plugin.setProperty('openmeta_updating_library', int(now)) plugin.notify('OpenMeta', 'Updating library', plugin.get_addon_icon(), 1000) lib_tvshows.update_library() finally: plugin.clearProperty('openmeta_updating_library')
def total_setup(): plugin.notify('Total Setup', 'Started', plugin.get_addon_icon(), 2000) if sources_setup() == True: pass if players_setup() == True: pass plugin.notify('Total Setup', 'Done', plugin.get_addon_icon(), 3000)
def update_players(url=None): url = plugin.get_setting('players_update_url', unicode) if updater.update_players(url): plugin.notify('OpenMeta players update', 'Done', plugin.get_addon_icon(), 3000) else: plugin.notify('OpenMeta players update', 'Failed', plugin.get_addon_icon(), 3000)
def clear_cache(): for filename in os.listdir(plugin.storage_path): file_path = os.path.join(plugin.storage_path, filename) if os.path.isfile(file_path): os.unlink(file_path) elif os.path.isdir(file_path): shutil.rmtree(file_path) plugin.notify('Cache', 'Cleared', plugin.get_addon_icon(), 3000)
def update_players(url=None): url = plugin.get_setting('players_update_url', unicode) if updater.update_players(url): plugin.notify('KodiTVR_VIDEO_PLAYER players update', 'Done', plugin.get_addon_icon(), 3000) else: plugin.notify('KodiTVR_VIDEO_PLAYER players update', 'Failed', plugin.get_addon_icon(), 3000)
def make_movie_item(movie_info): try: tmdb_id = movie_info.get('tmdb') except: tmdb_id = '' if tmdb_id == '': try: tmdb_id = info['tmdb'] except: tmdb_id = False try: imdb_id = movie_info.get('imdb') except: imdb_id = '' if imdb_id == '': try: imdb_id = info['imdb'] except: imdb_id = False if tmdb_id: id = tmdb_id src = 'tmdb' elif imdb_id: id = imdb_id src = 'imdb' else: plugin.notify('tmdb or imdb id', 'not found', plugin.get_addon_icon(), 3000) if xbmc.getCondVisibility('system.hasaddon(script.extendedinfo)'): context_menu = [ ('OpenInfo', 'RunScript(script.extendedinfo,info=extendedinfo,id=%s)' % id), ('Movie trailer', 'RunScript(script.extendedinfo,info=playtrailer,id=%s)' % id), ('Add to library', 'RunPlugin(%s)' % plugin.url_for('movies_add_to_library', src=src, id=id)) ] else: context_menu = [ ('Add to library', 'RunPlugin(%s)' % plugin.url_for('movies_add_to_library', src=src, id=id)) ] return { 'label': movie_info['title'], 'path': plugin.url_for('movies_play', src=src, id=id), 'context_menu': context_menu, 'thumbnail': movie_info['poster'], 'banner': movie_info['fanart'], 'poster': movie_info['poster'], 'fanart': movie_info['fanart'], 'is_playable': True, 'info_type': 'video', 'stream_info': { 'video': {} }, 'info': movie_info }
def update_library_from_settings(): now = time.time() if plugin.yesno('OpenMeta', 'Would you like to update the library now?'): try: plugin.setProperty('openmeta_updating_library', int(now)) plugin.notify('OpenMeta', 'Updating library', plugin.get_addon_icon(), 500) lib_tvshows.update_library() finally: plugin.clearProperty('openmeta_updating_library')
def sources_setup(): movielibraryfolder = plugin.get_setting('movies_library_folder', unicode) tvlibraryfolder = plugin.get_setting('tv_library_folder', unicode) try: lib_movies.auto_movie_setup(movielibraryfolder) lib_tvshows.auto_tvshows_setup(tvlibraryfolder) plugin.notify('OpenMeta sources setup', 'Done', plugin.get_addon_icon(), 3000) except: plugin.notify('OpenMeta sources setup', 'Failed', plugin.get_addon_icon(), 3000) return True
def movies_play_choose_player(src, id, usedefault): from resources.lib.TheMovieDB import Find tmdb_id = None if src == 'tmdb': tmdb_id = id elif src == 'imdb': info = Find(id).info(external_source='imdb_id') tmdb_id = info['movie_results'][0]['id'] if not tmdb_id: plugin.notify('tmdb id', 'not found', plugin.get_addon_icon(), 3000) play_movies.play_movie(tmdb_id, usedefault)
def tv_batch_add_to_library(): tv_batch_file = plugin.get_setting('tv_batch_add_file_path', unicode) if xbmcvfs.exists(tv_batch_file): try: f = open(xbmc.translatePath(tv_batch_file), 'r') r = f.read() f.close() ids = r.split('\n') except: plugin.notify('TV shows', 'not found', plugin.get_addon_icon(), 3000) library_folder = lib_tvshows.setup_library( plugin.get_setting('tv_library_folder', unicode)) ids_index = 0 for id in ids: if id == None or id == 'None': pass elif ',' in id: csvs = id.split(',') for csv in csvs: if csv == None or csv == 'None': pass elif str(csv).startswith('tt') and csv != '': tvdb_id = get_tvdb_id_from_imdb_id(csv) else: tvdb_id = csv show = TVDB[int(tvdb_id)] lib_tvshows.batch_add_tvshows_to_library( library_folder, show) else: if id == None or id == 'None' or id == '': pass elif str(id).startswith('tt'): tvdb_id = get_tvdb_id_from_imdb_id(id) else: tvdb_id = id try: show = TVDB[int(tvdb_id)] lib_tvshows.batch_add_tvshows_to_library( library_folder, show) except: # plugin.notify('Failed to add', '%s' % id, plugin.get_addon_icon(), 3000) xbmc.log('Failed to add' + '%s' % id, xbmc.LOGERROR) ids_index += 1 os.remove(xbmc.translatePath(tv_batch_file)) lib_tvshows.update_library() return True
def players_setup(): plugin.setProperty('openmeta_players_setup', 'true') url = plugin.get_setting('players_update_url', unicode) if url == '': if plugin.yesno('OpenMeta players setup', 'Would you like to set a URL for players now?'): plugin.open_settings() else: plugin.notify('OpenMeta players setup', 'Failed', plugin.get_addon_icon(), 3000) elif updater.update_players(url): plugin.notify('OpenMeta players setup', 'Done', plugin.get_addon_icon(), 3000) else: plugin.notify('OpenMeta players setup', 'Failed', plugin.get_addon_icon(), 3000) plugin.clearProperty('openmeta_players_setup') return True
def make_movie_item(movie_info): try: tmdb_id = movie_info.get('tmdb') except: tmdb_id = '' if tmdb_id == '': try: tmdb_id = info['tmdb'] except: tmdb_id = False try: imdb_id = movie_info.get('imdbnumber') except: imdb_id = '' if imdb_id == '': try: imdb_id = info['imdb_id'] except: imdb_id = False if tmdb_id: id = tmdb_id src = 'tmdb' elif imdb_id: id = imdb_id src = 'imdb' else: plugin.notify('tmdb or imdb id', 'not found', plugin.get_addon_icon(), 3000) context_menu = [('Add to library', 'RunPlugin(%s)' % plugin.url_for('movies_add_to_library', src=src, id=id))] try: if traktenabled and countenabled: if 'trakt_id' in movie_info.keys( ) and movie_info['trakt_id'] != '': movie_id = movie_info['trakt_id'] elif tmdb_id != '': movie_id = Trakt.find_trakt_ids('tmdb', tmdb_id, 'movie')['trakt'] else: movie_id = Trakt.find_trakt_ids('imdb', imdb_id, 'movie')['trakt'] playdata = Trakt.get_movie_history(movie_id) movie_info.update({ 'playcount': len([ k for d in playdata for k in d.keys() if k == 'watched_at' ]) }) except: pass movieitem = { 'label': movie_info['title'], 'path': plugin.url_for('movies_play', src=src, id=id, usedefault=True), 'context_menu': context_menu, 'thumbnail': movie_info['poster'], 'banner': movie_info['fanart'], 'poster': movie_info['poster'], 'fanart': movie_info['fanart'], 'is_playable': True, 'info_type': 'video', 'stream_info': { 'video': {} }, 'info': movie_info } if enablefanart: try: art = get_fanarttv_art(id) art = checkart(art) movieitem.update(art) except: pass return movieitem