All pastes #34893 Raw Edit

No1

public python v1 · immutable
#34893 ·published 2005-12-26 04:54 UTC
rendered paste body
import xml.dom.minidomimport urllib,urllib2 , reimport xbmc, xbmcguifrom string import split, replace, findtry: Emulating = xbmcgui.Emulatingexcept: Emulating = False# Coded by ThreeZee (threezee@comcast.net)# Find me on EFNet (irc.efnet.net) in #CeneXACTION_PREVIOUS_MENU = 10curPage = 1#Base URL for CJ ListCJURL = "http://www.steakandcheese.com/content/browse.asp?type=1&page="Root = "Q:\\scripts\\3xPaK\\Images\\SC\\"#Root = "CJ/"#Pre-define global ListsCJVid_ID = []CJVid_Title = []class CJ_Main(xbmcgui.Window):        def __init__(self):  	if Emulating: xbmcgui.Window.__init__(self)        	self.scaleX = ( float(self.getWidth())  / float(720) )        self.scaleY = ( float(self.getHeight()) / float(576) )                self.addControl(xbmcgui.ControlImage(0,0,720,480, Root + "SC_Background.jpg"))        self.addControl(xbmcgui.ControlImage(int(12 * self.scaleX),int(130 * self.scaleY),int(170 * self.scaleX),int(407 * self.scaleY), Root + "SC_Panel.jpg"))        self.addControl(xbmcgui.ControlImage(int(((self.getWidth() - 627) / 2) * self.scaleX),int(22 * self.scaleY),int(650 * self.scaleX),int(130 * self.scaleY), Root + "SC_Banner.jpg"))        self.refreshbtn = xbmcgui.ControlButton(int(50 * self.scaleX),int(160 * self.scaleY), int(100 * self.scaleX), int(40 * self.scaleY), "Refresh")        self.nextbtn = xbmcgui.ControlButton(int(50 * self.scaleX),int(225 * self.scaleY), int(100 * self.scaleX), int(40 * self.scaleY), "Next Page")        self.prevbtn = xbmcgui.ControlButton(int(50 * self.scaleX),int(267 * self.scaleY), int(100 * self.scaleX), int(40 * self.scaleY), "Prev Page")        self.exitbtn = xbmcgui.ControlButton(int(50 * self.scaleX),int(482 * self.scaleY), int(100 * self.scaleX), int(40 * self.scaleY),  "Exit")        self.vidList = xbmcgui.ControlList(int(185 * self.scaleX),int(160 * self.scaleY), int(490 * self.scaleX), int(365 * self.scaleY))        self.lblStatus = xbmcgui.ControlFadeLabel(int(205 * self.scaleX),int(133 * self.scaleY), int(500 * self.scaleX), int(90 * self.scaleY), "font12", "0xFFFFFFFF")        self.addControl(self.lblStatus)        self.lblStatus.addLabel("SteakandCheese.com - Page " + str(curPage))        self.addControl(self.vidList)        self.addControl(self.refreshbtn)                self.addControl(self.nextbtn)        self.addControl(self.exitbtn)        self.addControl(self.prevbtn)        self.refreshbtn.controlDown(self.nextbtn)        self.refreshbtn.controlRight(self.vidList)        self.refreshbtn.controlUp(self.exitbtn)        self.exitbtn.controlRight(self.vidList)        self.exitbtn.controlDown(self.refreshbtn)        self.exitbtn.controlUp(self.prevbtn)        self.nextbtn.controlDown(self.prevbtn)        self.nextbtn.controlRight(self.vidList)        self.nextbtn.controlUp(self.refreshbtn)        self.prevbtn.controlRight(self.vidList)        self.prevbtn.controlDown(self.exitbtn)        self.prevbtn.controlUp(self.nextbtn)        self.vidList.controlLeft(self.refreshbtn)        self.setFocus(self.refreshbtn)        self.getCJList()    def onAction(self, action):        if action == ACTION_PREVIOUS_MENU:		self.close()    def onControl(self, control):        global curPage        if control == self.refreshbtn:            curPage = 1             self.getCJList()        if control == self.nextbtn:            curPage = int(curPage) + 1            self.getCJList()        if control == self.prevbtn:            if int(curPage) == 1: return            curPage = int(curPage) - 1        if control == self.vidList:            tmpStreamItem = self.vidList.getSelectedPosition()            dialog = xbmcgui.Dialog()            progress = xbmcgui.DialogProgress()            progress.create("SteakandCheese.com", "Fetching video file... " + CJVid_Title[tmpStreamItem])            progress.update(10)            try:                #Open socket with page URL      http://www.steakandcheese.com/content/detail.asp?ID=24877&type=1&page=1                CJ_Sock = urllib.urlopen("http://www.steakandcheese.com/content/detail.asp?ID=" + str(CJVid_ID[tmpStreamItem]) + "&type=1&page=1&subtype=1")                progress.update(30)                CJ_HTML = CJ_Sock.read()                progress.update(60)                CJ_Sock.close()                            # http://www.steakandcheese.com/downloads/Break_Dancing_Pilot.wmv                            # name="Filename" value="/downloads/(.*)">                CJ_re = re.compile('<td><a href="(.*) onMouseOver="changeImages(\'detailOptions_06\'')                progress.update(90)                CJ_Vids = CJ_re.search(CJ_HTML)                progress.close()                if CJ_Vids:                    xbmc.Player().play(CJ_Vids.group(1))                else:                    dialog.ok("FreakHole.com","no such movie found")            except:                progress.close()                dialog.ok("FreakHole.com","Unable to get ID=" +  str(CJVid_ID[tmpStreamItem]))    def getCJList(self):        global curPage        dialog = xbmcgui.Dialog()        progress = xbmcgui.DialogProgress()        progress.create("SteakandCheese.com", "Fetching video index...")        self.lblStatus.reset()        self.lblStatus.addLabel("SteakandCheese.com - Page " + str(curPage))        progress.update(10)        try:            #Open socket with page URL            CJ_Sock = urllib.urlopen(CJURL + str(curPage))            progress.update(30)            CJ_HTML = CJ_Sock.read()            progress.update(60)            CJ_Sock.close()                        # <a href="detail.asp?ID=24911&type=1&page=1"><b>Claus_In_The_Hood.wmv</b></a></td><td align="center" nowrap valign="middle" style="line-height:16px;">December 25, 2005</td>            CJ_re = re.compile('ID=(.*?)&type=1&page=.*?"><b>(.*?)</b></a></td><td align="center" nowrap valign="middle" style="line-height:16px;">(.*?)</td>')                        progress.update(90)            CJ_Vids1 = CJ_re.findall(CJ_HTML)            progress.close()                        CJVid_ID[0:50] = ""            CJVid_Title[0:50] = ""            self.vidList.reset()                        for tmpVid in CJ_Vids1:                self.vidList.addItem(tmpVid[1])                CJVid_ID.append(tmpVid[0])                CJVid_Title.append(tmpVid[1])            self.setFocus(self.vidList)        except:            progress.close()            dialog.ok("SteakandCheese.com","Could not retrieve page " + Current_Page)            Display_Main = CJ_Main()Display_Main.doModal()del Display_Main