import os import xbmc import xbmcgui import xbmcaddon import xbmcplugin import xbmcvfs try: import simplejson as json except ImportError: import json from metahandler import metahandlers from donnie.settings import Settings from donnie.databaseconnector import DataConnector reg = Settings(['plugin.video.theroyalwe', 'script.module.donnie']) if reg.getBoolSetting('tv_show_custom_directory'): TV_SHOWS_PATH = reg.getSetting('tv_show_directory') else: DATA_PATH = os.path.join(xbmc.translatePath('special://profile/addon_data/plugin.video.theroyalwe'), '') TV_SHOWS_PATH = os.path.join(xbmc.translatePath(DATA_PATH + 'tvshows'), '') def xbmcpath(path,filename): path = path.replace('/', os.sep) translatedpath = os.path.join(xbmc.translatePath( path ), ''+filename+'') return translatedpath def formatStrPath(showname, season, episode): strpath = xbmcpath(TV_SHOWS_PATH, showname) strpath = xbmcpath(strpath, 'Season %s' % season) strfile = '%sx%s Episode.strm' % (season, str(episode).zfill(2))
xbmc.executebuiltin("XBMC.Notification("+title+","+message+", 1000, "+image+")") def mkdir(self, dir_path): dir_path = dir_path.strip() if not os.path.exists(dir_path): os.makedirs(dir_path) if __name__ == '__main__': filename = None Wt = Walter() xbmc.log("Walter Caching Service starting...") xbmc.log("Marking abandoned jobs as failed.") Wt.DB.execute("UPDATE wt_download_queue SET status=3 WHERE status=1") Wt.DB.commit() while(not xbmc.abortRequested): if not reg.getBoolSetting('enable-caching'): print "Caching service disabled in settings, enable and restart to proceed." break row = Wt.DB.query("SELECT * FROM wt_download_queue WHERE status=0 ORDER BY num ASC LIMIT 1") if row: Ca = CachingClass(Wt.cache_root, Wt.DB) try: filename = Ca.Cache(row[0], row[2], row[3], media=row[1], folder=row[5]) except Exception, e: Ca = CachingClass(Wt.cache_root, Wt.DB) filename = None if filename: Wt.notify('Cache Complete', filename) else: Wt.notify('Caching Error', 'Check the log for details.')