diff --git a/mythboxy.py b/mythboxy.py deleted file mode 100644 index bbd63c6..0000000 --- a/mythboxy.py +++ /dev/null @@ -1,329 +0,0 @@ -import mc -import re -import mythtv -from mythtv import MythError -from operator import itemgetter, attrgetter - - -class MythBoxee: - be = None - db = None - - def DiscoverBackend(): - config = mc.GetApp().GetLocalConfig() - mc.ShowDialogNotification("DiscoverBackend") - - pin = config.GetValue("pin") - dbconn = config.GetValue("dbconn") - - if not pin: - pin = 0000 - - try: - self.db = mythtv.MythDB(SecurityPin=pin) - except Exception, e: - mc.ShowDialogNotification(e.message) - if e.ename == 'DB_CREDENTIALS' and count < 3: - mc.ActivateWindow(14002) - mc.GetWindow(14002).GetControl(6020).SetVisible(False) - mc.GetWindow(14002).GetControl(6010).SetVisible(True) - mc.GetWindow(14002).GetControl(6011).SetFocus() - elif e.ename == 'DB_CONNECTION' or e.ename == 'DB_CREDENTIALS' and count > 3: - mc.ActivateWindow(14002) - mc.GetWindow(14002).GetControl(6010).SetVisible(False) - mc.GetWindow(14002).GetControl(6020).SetVisible(True) - mc.GetWindow(14002).GetControl(6021).SetFocus() - return False - else: - mc.ShowDialogNotification(str(self.db.dbconn)) - config.SetValue("dbconn", str(self.db.dbconn)) - return True - - def __init__(self): - config = mc.GetApp().GetLocalConfig() - # If dbconn isn't set, we'll assume we haven't found the backend. - if not config.GetValue("dbconn"): - discoverBackend = False - while discoverBackend is False: - discoverBackend = self.DiscoverBackend() - - # Parse our DB info - dbconn = config.GetValue("dbconn") - dbconf = eval(dbconn) - - # Now that the backend has been discovered, lets connect. - try: - self.db = mythtv.MythDB(**dbconf) - except MythError, e: - print e.message - mc.ShowDialogNotification("Failed to connect to the MythTV Backend") - else: - self.be = mythtv.MythBE(db=self.db) - mc.ActivateWindow(14010) - - - -mbbe = None -mbdb = None - -config = mc.GetApp().GetLocalConfig() - -titles = [] -recordings = [] -idbanners = {} -shows = {} - - -def DiscoverBackend1(): - mc.ShowDialogNotification("DiscoverBackend") - - pin = config.GetValue("pin") - dbconn = config.GetValue("dbconn") - - if not pin: - pin = 0000 - - try: - db = mythtv.MythDB(SecurityPin=pin) - except Exception, e: - mc.ShowDialogNotification(e.message) - if e.ename == 'DB_CREDENTIALS' and count < 3: - mc.ActivateWindow(14002) - mc.GetWindow(14002).GetControl(6020).SetVisible(False) - mc.GetWindow(14002).GetControl(6010).SetVisible(True) - mc.GetWindow(14002).GetControl(6011).SetFocus() - elif e.ename == 'DB_CONNECTION' or e.ename == 'DB_CREDENTIALS' and count > 3: - mc.ActivateWindow(14002) - mc.GetWindow(14002).GetControl(6010).SetVisible(False) - mc.GetWindow(14002).GetControl(6020).SetVisible(True) - mc.GetWindow(14002).GetControl(6021).SetFocus() - return False - else: - mc.ShowDialogNotification(str(db.dbconn)) - config.SetValue("dbconn", str(db.dbconn)) - return True - - -def Launch(): - # If dbconn isn't set, we'll assume we haven't found the backend. - if not config.GetValue("dbconn"): - discoverBackend = False - while discoverBackend is False: - discoverBackend = DiscoverBackend() - - # Parse our DB info - dbconn = config.GetValue("dbconn") - dbconf = eval(dbconn) - - # Now that the backend has been discovered, lets connect. - try: - mbdb = mythtv.MythDB(**dbconf) - except MythError, e: - print e.message - mc.ShowDialogNotification("Failed to connect to the MythTV Backend") - else: - mbbe = mythtv.MythBE(db=mbdb) - mc.ActivateWindow(14010) - - -def LoadShows(): - del titles[:] - del recordings[:] - idbanners.clear() - shows.clear() - - config = mc.GetApp().GetLocalConfig() - sg = mc.Http() - html = sg.Get("http://" + config.GetValue("server") + ":6544/Myth/GetRecorded") - results = re.compile("(.*?)").findall(html) - for title,subtitle,endtime,airdate,starttime,desc,chanid in results: - if title not in titles: - titles.append(title) - idbanners[title] = GetSeriesIDBanner(title) - shows[title] = [] - - single = [title,subtitle,desc,chanid,airdate,starttime,endtime] - recordings.append(single) - - shows[title].append(single) - - titles.sort() - - items = mc.ListItems() - for title in titles: - item = mc.ListItem( mc.ListItem.MEDIA_UNKNOWN ) - item.SetLabel(title) - item.SetThumbnail(idbanners[title][1]) - item.SetProperty("seriesid", idbanners[title][0]) - items.append(item) - - mc.GetWindow(14000).GetList(13).SetItems(items) - - -def LoadSingleShow(): - config = mc.GetApp().GetLocalConfig() - ilist = mc.GetActiveWindow().GetList(13) - item = ilist.GetItem(ilist.GetFocusedItem()) - name = item.GetLabel() - config.SetValue("seriesid", item.GetProperty("seriesid")) - config.SetValue("show", name) - mc.ActivateWindow(14001) - - SetSortables() - GetSetSeriesDetails(name, item.GetProperty("seriesid")) - LoadSeriesEpisodes(name) - - -def SetSortables(): - config.SetValue("SortBy", "Recorded Date") - config.SetValue("SortDir", "Descending") - sortable = ['Original Air Date', 'Recorded Date', 'Title'] - items = mc.ListItems() - for sorttype in sortable: - item = mc.ListItem( mc.ListItem.MEDIA_UNKNOWN ) - item.SetLabel(sorttype) - items.append(item) - - mc.GetActiveWindow().GetList(2014).SetItems(items) - mc.GetActiveWindow().GetList(2014).SetSelected(1, True) - - sortableby = ['Ascending', 'Descending'] - items = mc.ListItems() - for sorttype in sortableby: - item = mc.ListItem( mc.ListItem.MEDIA_UNKNOWN ) - item.SetLabel(sorttype) - items.append(item) - - mc.GetActiveWindow().GetList(2015).SetItems(items) - mc.GetActiveWindow().GetList(2015).SetSelected(1, True) - - -def ShowEpisodeDetails(): - print "ShowEpisodeDetails" - - -def SortBySeriesEpisodes(): - sortByItems = sortByItemNumber = mc.GetWindow(14001).GetList(2014).GetSelected() - sortDirectionItems = sortDirectionItemNumber = mc.GetWindow(14001).GetList(2015).GetSelected() - - mc.GetActiveWindow().GetList(2014).UnselectAll() - mc.GetActiveWindow().GetList(2014).SetSelected(mc.GetActiveWindow().GetList(2014).GetFocusedItem(), True) - - config.SetValue("SortBy", mc.GetActiveWindow().GetList(2014).GetItem(mc.GetActiveWindow().GetList(2014).GetFocusedItem()).GetLabel()) - - LoadSeriesEpisodes(config.GetValue("name")) - - -def SortDirSeriesEpisodes(): - sortByItems = sortByItemNumber = mc.GetWindow(14001).GetList(2014).GetSelected() - - mc.GetActiveWindow().GetList(2015).UnselectAll() - mc.GetActiveWindow().GetList(2015).SetSelected(mc.GetActiveWindow().GetList(2015).GetFocusedItem(), True) - - config.SetValue("SortDir", mc.GetActiveWindow().GetList(2015).GetItem(mc.GetActiveWindow().GetList(2015).GetFocusedItem()).GetLabel()) - - LoadSeriesEpisodes(config.GetValue("name")) - -def GetSeriesIDBanner(name): - sg = mc.Http() - sg.SetUserAgent('MythBoxee v3.0.beta') - html = sg.Get("http://www.thetvdb.com/api/GetSeries.php?seriesname=" + name.replace(" ", "%20")) - series = re.compile("(.*?)").findall(html) - banners = re.compile("(.*?)").findall(html) - show = [] - if series: - show.append(series[0]) - show.append("http://www.thetvdb.com/banners/" + banners[0]) - else: - show.append("00000") - show.append("http://192.168.1.210/") - return show - - -def GetSetSeriesDetails(name, seriesid): - sg = mc.Http() - sg.SetUserAgent('MythBoxee v3.0.beta') - html = sg.Get("http://thetvdb.com/api/6BEAB4CB5157AAE0/series/" + seriesid + "/") - overview = re.compile("(.*?)").findall(html) - poster = re.compile("(.*?)").findall(html) - items = mc.ListItems() - item = mc.ListItem( mc.ListItem.MEDIA_UNKNOWN ) - item.SetLabel(name) - item.SetTitle(name) - if overview: - item.SetDescription(overview[0]) - item.SetProperty("description", overview[0]) - item.SetThumbnail("http://www.thetvdb.com/banners/" + poster[0]) - items.append(item) - - mc.GetWindow(14001).GetList(21).SetItems(items) - - -def LoadSeriesEpisodes(name): - config = mc.GetApp().GetLocalConfig() - config.SetValue("name", name) - showitems = mc.ListItems() - - sortBy = config.GetValue("SortBy") - sortDir = config.GetValue("SortDir") - - print shows[name] - - if sortBy == "Original Air Date" and sortDir == "Ascending": - episodes = sorted(shows[name], key=itemgetter(4)) - elif sortBy == "Original Air Date" and sortDir == "Descending": - episodes = sorted(shows[name], key=itemgetter(4), reverse=True) - elif sortBy == "Recorded Date" and sortDir == "Ascending": - episodes = sorted(shows[name], key=itemgetter(5)) - elif sortBy == "Recorded Date" and sortDir == "Descending": - episodes = sorted(shows[name], key=itemgetter(5), reverse=True) - elif sortBy == "Title" and sortDir == "Ascending": - episodes = sorted(shows[name], key=itemgetter(1)) - elif sortBy == "Title" and sortDir == "Descending": - episodes = sorted(shows[name], key=itemgetter(1), reverse=True) - else: - episodes = shows[name] - - for title,subtitle,desc,chanid,airdate,starttime,endtime in episodes: - showitem = mc.ListItem( mc.ListItem.MEDIA_VIDEO_EPISODE ) - showitem.SetLabel(subtitle) - showitem.SetTitle(subtitle) - showitem.SetTVShowTitle(name) - showitem.SetDescription(desc) - date = airdate.split("-") - showitem.SetProperty("starttime", starttime) - showitem.SetDate(int(date[0]), int(date[1]), int(date[2])) - showitem.SetThumbnail("http://" + config.GetValue("server") + ":6544/Myth/GetPreviewImage?ChanId=" + chanid + "&StartTime=" + starttime.replace("T", "%20")) - showitem.SetPath("http://" + config.GetValue("server") + ":6544/Myth/GetRecording?ChanId=" + chanid + "&StartTime=" + starttime.replace("T", "%20")) - showitems.append(showitem) - - mc.GetActiveWindow().GetList(2013).SetItems(showitems) - - - -def GetServer(): - config = mc.GetApp().GetLocalConfig() - server = config.GetValue("server") - response = mc.ShowDialogKeyboard("Enter IP Address of MythTV Backend Server", server, False) - url = "http://" + response + ":6544/Myth/GetServDesc" - if VerifyServer(url) == True: - config.SetValue("server", response) - -def VerifyServer(url): - config = mc.GetApp().GetLocalConfig() - http = mc.Http() - data = http.Get(url) - if http.GetHttpResponseCode() == 200: - config.SetValue("verified", "1") - return True - else: - return False - - - - - - - - - diff --git a/skin/Boxee Skin NG/720p/setup.xml b/skin/Boxee Skin NG/720p/setup.xml deleted file mode 100644 index 0270969..0000000 --- a/skin/Boxee Skin NG/720p/setup.xml +++ /dev/null @@ -1,201 +0,0 @@ - - - 6003 - yes - - - 1280 - 720 - Control.IsVisible(2000) - - - 1280 - 720 - mb_bg_setup.png - Conditional - - - 11 - 216 - 20 - 2000 - horizontal - - - logo - 450 - 150 - 402 - 107 - logo.png - keep - - - - 515 - 300 - 275 - 46 - - 8 - 6012 - right - right - font28 - white - - - login button control - 415 - 370 - 200 - 40 - true - FFFFFFFF - - font21 - white - 88FFFFFF - center - center - 20 - - - - - 6011 - 6013 - - - - - - login button control - 685 - 370 - 200 - 40 - true - FFFFFFFF - - font21 - white - 88FFFFFF - center - center - 20 - - - - - 6011 - 6012 - - - - - - 515 - 300 - 275 - 46 - - 8 - 6012 - right - right - font28 - white - - - 515 - 320 - 275 - 46 - - 8 - 6012 - right - right - font28 - white - - - 515 - 340 - 275 - 46 - - 8 - 6012 - right - right - font28 - white - - - 515 - 360 - 275 - 46 - - 8 - 6012 - right - right - font28 - white - - - login button control - 555 - 370 - 200 - 40 - true - FFFFFFFF - - font21 - white - 88FFFFFF - center - center - 20 - - - - - 6024 - 6026 - - - - login button control - 555 - 370 - 200 - 40 - true - FFFFFFFF - - font21 - white - 88FFFFFF - center - center - 20 - - - - - 6024 - 6025 - - - - -