Advertisement
Guest User

sansat

a guest
Sep 9th, 2009
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 24.05 KB | None | 0 0
  1. import urllib,urllib2,re,xbmcplugin,xbmcgui
  2.  
  3. #Filmicity
  4.  
  5. def CATEGORIES():
  6.         addDir('Bollywood Shows & Awards','http://www.interval.in/index.php?cat=16',1,'http://www.bollywood.com/files/images/bollywood.jpg')
  7.         addDir('Bollywood Movies','http://www.interval.in/index.php?cat=6',1,'http://interval.in/category_bollywoodmovies.jpg')
  8.  
  9.  
  10. def PAGES(url):
  11.         req = urllib2.Request(url)
  12.         req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
  13.         response = urllib2.urlopen(req)
  14.         link=response.read()
  15.         response.close()
  16.  
  17.         if  url == 'http://www.interval.in/index.php?cat=16':
  18.                 match=re.compile('<a href="(.+?)">\[(.+?)\]</a>').findall(link)
  19.                 #print match
  20.                 name = ' Page 1 '
  21.                 print name
  22.                 print url
  23.                 addDir(name,url,2,'')
  24.                 #page2 = str('&amp;next=49')
  25.                 #addDir(' Page 2 ',url+page2,2,'')
  26.                 for url,pageitem in match:
  27.                     #print url
  28.                     url=htmlencode('http://www.interval.in/'+url)
  29.                     name=' Page '+pageitem
  30.                     print name
  31.                     print url
  32.                     addDir(name,url,2,'')
  33.  
  34.         if  url == 'http://www.interval.in/index.php?cat=6':
  35.                 match=re.compile('<a href="(.+?)">\[(.+?)\]</a>').findall(link)
  36.                 #print match
  37.                 name = ' Page 1 '
  38.                 print name
  39.                 print url
  40.                 addDir(name,url,2,'')
  41.                 #page2 = str('&amp;next=49')
  42.                 #addDir(' Page 2 ',url+page2,2,'')
  43.                 for url,pageitem in match:
  44.                     #print url
  45.                     url=htmlencode('http://www.interval.in/'+url)
  46.                     name=' Page '+pageitem
  47.                     print name
  48.                     print url
  49.                     addDir(name,url,2,'')                    
  50.  
  51.        
  52.              
  53. def INDEX(url):
  54.                 req = urllib2.Request(url)
  55.                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
  56.                 response = urllib2.urlopen(req)
  57.                 link=response.read()
  58.                 response.close()
  59.                 match=re.compile('<a href="(.+?)"><img height=\'89\' width=\'120\' src="(.+?)" class="thumbnail" alt="(.+?)" title="(.+?)"/></a></td>').findall(link)
  60.                 print match
  61.                 for url,thumb,name,trash in match:
  62.                         url='http://www.interval.in/'+url
  63.                         print name
  64.                         print url
  65.                         print thumb
  66.                         addDir(name,url,3,thumb)
  67.  
  68. def PARTS(url):
  69.                 req = urllib2.Request(url)
  70.                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
  71.                 response = urllib2.urlopen(req)
  72.                 link=response.read()
  73.                 response.close()
  74.                 partid=re.compile('<a href="/videos.php\?id=(.+?)" title="next video" target="_self"><b> NEXT VIDEO</b></a>').findall(link)
  75.                 print partid
  76.                 save=int(partid[0])
  77.                 part=save-1
  78.                 print part
  79.                 lastpart=part+20
  80.                 save1=20
  81.                 #print part
  82.                 print lastpart
  83.                 pp = 1
  84.                 name = 'Part ' + str(int(pp))
  85.                 print name
  86.                 print url
  87.                 addDir(name,url,4,'')
  88.                 for x in range(save1):
  89.                         part=part+1
  90.                         if part == lastpart:
  91.                             break
  92.                         print part
  93.                         pp=pp+1
  94.                         name = 'Part ' + str(int(pp))
  95.                         print name
  96.                         url='http://www.interval.in/videos.php?id='+str(part)
  97.                         addDir(name,'http://www.filmicity.in/videos.php?id='+str(part)+'',4,'')
  98.                         print url  
  99.  
  100.                                      
  101.  
  102.                
  103. def VIDEOLINKS(url,name):
  104.                 LinkFill = True
  105.                 req = urllib2.Request(url)
  106.                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
  107.                 response = urllib2.urlopen(req)
  108.                 link=response.read()
  109.                 response.close()
  110.                 #VEOH
  111.                 try:
  112.                         p=re.compile('<param name="movie" value="http://www.veoh.com/videodetails.+?permalinkId=(.+?)" />')
  113.                         match=p.findall(link)
  114.                         for a in match:
  115.                                         f=urllib2.urlopen("http://keepvid.com/?url=http://www.veoh.com/videos/"+str(a))
  116.                                         myspace=f.read()
  117.                                         comp=re.compile('</script><br /><br /><a href="redirect.+?(.+?)" class="link" target="_blank">')
  118.                                         for url in comp.findall(myspace):
  119.                                                         addLink ('Play '+name,url,'')
  120.                 except:
  121.                         pass
  122.         #DAILYMOTION
  123.                 try:
  124.                                 daily=re.compile('<param name="movie" value="http://www.dailymotion.com/swf/(.+?)">').findall(link)
  125.                                 req = urllib2.Request('http://www.dailymotion.com/video/%s'%daily[0])
  126.                                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14')
  127.                                 response = urllib2.urlopen(req).read()
  128.                                 match=re.compile('url=rev=.+?&lang=en&callback=.+?&preview=.+?&video=(.+?)%40%40spark').findall(response)
  129.                                 print match[0]
  130.                                 addLink('Play '+name,urllib.unquote(match[0]),"")
  131.                                
  132.                 except: pass
  133.                 #MSNSOAPBOX
  134.                 try:
  135.                                 msn=re.compile('<param name="movie" value="http://images.video.msn.com/flash/soapbox1_1.swf.+?=v&.+?;v=(.+?)"/>').findall(link)
  136.                                 for url in msn:
  137.                                                 addLink('Play '+name,'http://soapbox.msn.com/StreamingUrl.aspx?vid='+url+'&t=.flv','')
  138.                 except:
  139.                         pass
  140.                 #GOOGLE
  141.                 try:
  142.                                 p=re.compile('src=\"http://video\.google\.com/googleplayer\.swf\?docId=(.+?)"')
  143.                                 match=p.findall(link)
  144.                                 for a in match:
  145.                                                 f=urllib2.urlopen("http://www.flashvideodownloader.org/download.php?u=http://video.google.com/videoplay?docid="+str(a))
  146.                                                 myspace=f.read()
  147.                                                 comp=re.compile('<a href="(.+?)" title="Click to Download"><font color=red>')
  148.                                                 for url in comp.findall(myspace):
  149.                                                                 addLink ('Play '+name,url,'')
  150.                 except:
  151.                         pass
  152.                 try:
  153.                                 p=re.compile('<param name="movie" value="http://video.google.com/googleplayer.swf.+?docId=(.+?)" />')
  154.                                 match=p.findall(link)
  155.                                 for a in match:
  156.                                                 f=urllib2.urlopen("http://www.flashvideodownloader.org/download.php?u=http://video.google.com/videoplay?docid="+str(a))
  157.                                                 myspace=f.read()
  158.                                                 comp=re.compile('<a href="(.+?)" title="Click to Download"><font color=red>')
  159.                                                 for url in comp.findall(myspace):
  160.                                                                 addLink ('Play '+name,url,'')
  161.                 except:
  162.                         pass
  163.                 #YOUTUBE
  164.                 try:
  165.                                 p=re.compile('<embed src="http://www.youtube.com/v/(.+?)&autoplay=1" type="application/x-shockwave-flash" wmode="transparent" width="607" height="500"></embed>')
  166.                                 match=p.findall(link)
  167.                                 for code in match:
  168.                                                 print 'code='+code
  169.                                                 req = urllib2.Request('http://www.youtube.com/watch?v='+code)
  170.                                                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14')
  171.                                                 response = urllib2.urlopen(req)
  172.                                                 link=response.read()
  173.                                                 response.close()
  174.                                                 p=re.compile('"t": "(.+?)"')
  175.                                                 match=p.findall(link)
  176.                                                 for blah in match:
  177.                                                                 linkage="http://www.youtube.com/get_video?video_id="+code+"&t="+blah+"&fmt=18"
  178.                                                                 print linkage
  179.                                                                 addLink ('Play '+name,linkage,'')
  180.                 except:
  181.                         pass
  182.                 #MYSPACE
  183.                 try:
  184.                                 p=re.compile('<param name="movie" value="http://mediaservices.myspace.com/services/media/embed.aspx/m=(.+?),t=1,mt=video,ap=0" />')
  185.                                 match=p.findall(link)
  186.                                 for a in match:
  187.                                                 f=urllib2.urlopen("http://mediaservices.myspace.com/services/rss.ashx?type=video&mediaID="+str(a))
  188.                                                 myspace=f.read()
  189.                                                 comp=re.compile('<media:content url="(.+?)"')
  190.                                                 for url in comp.findall(myspace):
  191.                                                                 addLink ('Play '+name,url,'')
  192.                 except:
  193.                         pass
  194.                 #YAHOO
  195.                 try:
  196.                                 yimg=re.compile('<param name="movie" value="http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf.+?id=(.+?)&amp;intl=us" />').findall(link)
  197.                                 for url in yimg:
  198.                                                 req = urllib2.Request('http://cosmos.bcst.yahoo.com/up/yep/process/getPlaylistFOP.php?node_id='+url)
  199.                                                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
  200.                                                 response = urllib2.urlopen(req).read()
  201.                                                 SERVER=re.compile('<STREAM APP="(.+?)"').findall(response)
  202.                                                 URL=re.compile('FULLPATH="(.+?)"').findall(response)
  203.                                                 FINAL=(SERVER[0]+URL[0]).replace('&amp;','&')
  204.                                                 addLink('Play '+name,FINAL,'')
  205.                 except:
  206.                         pass
  207.                 #MEGAVIDEO
  208.                 try:
  209.                                 mv=re.compile('<param name="movie" value="http://wwwstatic.megavideo.com/mv_player.swf.+?v=(.+)" />').findall(link)
  210.                                 mvlinks=mv[0][:8]
  211.                                 req = urllib2.Request("http://www.megavideo.com/xml/videolink.php?v="+mvlinks)
  212.                                 req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14')
  213.                                 req.add_header('Referer', 'http://www.megavideo.com/')
  214.                                 lemon = urllib2.urlopen(req);response=lemon.read();lemon.close()
  215.                                 errort = re.compile(' errortext="(.+?)"').findall(response)
  216.                                 if len(errort) > 0: addLink(errort[0],'http://novid.com','')
  217.                                 else:
  218.                                                 s = re.compile(' s="(.+?)"').findall(response)
  219.                                                 k1 = re.compile(' k1="(.+?)"').findall(response)
  220.                                                 k2 = re.compile(' k2="(.+?)"').findall(response)
  221.                                                 un = re.compile(' un="(.+?)"').findall(response)
  222.                                                 movielink = "http://www" + s[0] + ".megavideo.com/files/" + decrypt(un[0], k1[0], k2[0]) + "/"
  223.                                                 addLink('Play '+name, movielink+'?.flv','')
  224.                 except:
  225.                         pass
  226.  
  227. ####################################################################################################################
  228. # MegaVideo Routine
  229. ####################################################################################################################
  230.        
  231. #Python Video Decryption and resolving routines.
  232. #Courtesy of Voinage, Coolblaze.
  233. #Megavideo - Coolblaze # Part 1 put this below VIDEOLINKS function.
  234.  
  235. def ajoin(arr):
  236.     strtest = ''
  237.     for num in range(len(arr)):
  238.         strtest = strtest + str(arr[num])
  239.     return strtest
  240.  
  241. def asplit(mystring):
  242.     arr = []
  243.     for num in range(len(mystring)):
  244.         arr.append(mystring[num])
  245.     return arr
  246.        
  247. def decrypt(str1, key1, key2):
  248.  
  249.     __reg1 = []
  250.     __reg3 = 0
  251.     while (__reg3 < len(str1)):
  252.         __reg0 = str1[__reg3]
  253.         holder = __reg0
  254.         if (holder == "0"):
  255.             __reg1.append("0000")
  256.         else:
  257.             if (__reg0 == "1"):
  258.                 __reg1.append("0001")
  259.             else:
  260.                 if (__reg0 == "2"):
  261.                     __reg1.append("0010")
  262.                 else:
  263.                     if (__reg0 == "3"):
  264.                         __reg1.append("0011")
  265.                     else:
  266.                         if (__reg0 == "4"):
  267.                             __reg1.append("0100")
  268.                         else:
  269.                             if (__reg0 == "5"):
  270.                                 __reg1.append("0101")
  271.                             else:
  272.                                 if (__reg0 == "6"):
  273.                                     __reg1.append("0110")
  274.                                 else:
  275.                                     if (__reg0 == "7"):
  276.                                         __reg1.append("0111")
  277.                                     else:
  278.                                         if (__reg0 == "8"):
  279.                                             __reg1.append("1000")
  280.                                         else:
  281.                                             if (__reg0 == "9"):
  282.                                                 __reg1.append("1001")
  283.                                             else:
  284.                                                 if (__reg0 == "a"):
  285.                                                     __reg1.append("1010")
  286.                                                 else:
  287.                                                     if (__reg0 == "b"):
  288.                                                         __reg1.append("1011")
  289.                                                     else:
  290.                                                         if (__reg0 == "c"):
  291.                                                             __reg1.append("1100")
  292.                                                         else:
  293.                                                             if (__reg0 == "d"):
  294.                                                                 __reg1.append("1101")
  295.                                                             else:
  296.                                                                 if (__reg0 == "e"):
  297.                                                                     __reg1.append("1110")
  298.                                                                 else:
  299.                                                                     if (__reg0 == "f"):
  300.                                                                         __reg1.append("1111")
  301.  
  302.         __reg3 = __reg3 + 1
  303.  
  304.     mtstr = ajoin(__reg1)
  305.     __reg1 = asplit(mtstr)
  306.     __reg6 = []
  307.     __reg3 = 0
  308.     while (__reg3 < 384):
  309.    
  310.         key1 = (int(key1) * 11 + 77213) % 81371
  311.         key2 = (int(key2) * 17 + 92717) % 192811
  312.         __reg6.append((int(key1) + int(key2)) % 128)
  313.         __reg3 = __reg3 + 1
  314.    
  315.     __reg3 = 256
  316.     while (__reg3 >= 0):
  317.  
  318.         __reg5 = __reg6[__reg3]
  319.         __reg4 = __reg3 % 128
  320.         __reg8 = __reg1[__reg5]
  321.         __reg1[__reg5] = __reg1[__reg4]
  322.         __reg1[__reg4] = __reg8
  323.         __reg3 = __reg3 - 1
  324.    
  325.     __reg3 = 0
  326.     while (__reg3 < 128):
  327.    
  328.         __reg1[__reg3] = int(__reg1[__reg3]) ^ int(__reg6[__reg3 + 256]) & 1
  329.         __reg3 = __reg3 + 1
  330.  
  331.     __reg12 = ajoin(__reg1)
  332.     __reg7 = []
  333.     __reg3 = 0
  334.     while (__reg3 < len(__reg12)):
  335.  
  336.         __reg9 = __reg12[__reg3:__reg3 + 4]
  337.         __reg7.append(__reg9)
  338.         __reg3 = __reg3 + 4
  339.        
  340.    
  341.     __reg2 = []
  342.     __reg3 = 0
  343.     while (__reg3 < len(__reg7)):
  344.         __reg0 = __reg7[__reg3]
  345.         holder2 = __reg0
  346.    
  347.         if (holder2 == "0000"):
  348.             __reg2.append("0")
  349.         else:
  350.             if (__reg0 == "0001"):
  351.                 __reg2.append("1")
  352.             else:
  353.                 if (__reg0 == "0010"):
  354.                     __reg2.append("2")
  355.                 else:
  356.                     if (__reg0 == "0011"):
  357.                         __reg2.append("3")
  358.                     else:
  359.                         if (__reg0 == "0100"):
  360.                             __reg2.append("4")
  361.                         else:
  362.                             if (__reg0 == "0101"):
  363.                                 __reg2.append("5")
  364.                             else:
  365.                                 if (__reg0 == "0110"):
  366.                                     __reg2.append("6")
  367.                                 else:
  368.                                     if (__reg0 == "0111"):
  369.                                         __reg2.append("7")
  370.                                     else:
  371.                                         if (__reg0 == "1000"):
  372.                                             __reg2.append("8")
  373.                                         else:
  374.                                             if (__reg0 == "1001"):
  375.                                                 __reg2.append("9")
  376.                                             else:
  377.                                                 if (__reg0 == "1010"):
  378.                                                     __reg2.append("a")
  379.                                                 else:
  380.                                                     if (__reg0 == "1011"):
  381.                                                         __reg2.append("b")
  382.                                                     else:
  383.                                                         if (__reg0 == "1100"):
  384.                                                             __reg2.append("c")
  385.                                                         else:
  386.                                                             if (__reg0 == "1101"):
  387.                                                                 __reg2.append("d")
  388.                                                             else:
  389.                                                                 if (__reg0 == "1110"):
  390.                                                                     __reg2.append("e")
  391.                                                                 else:
  392.                                                                     if (__reg0 == "1111"):
  393.                                                                         __reg2.append("f")
  394.                                                                    
  395.         __reg3 = __reg3 + 1
  396.  
  397.     endstr = ajoin(__reg2)
  398.     return endstr
  399. def get_params():
  400.         param=[]
  401.         paramstring=sys.argv[2]
  402.         if len(paramstring)>=2:
  403.                 params=sys.argv[2]
  404.                 cleanedparams=params.replace('?','')
  405.                 if (params[len(params)-1]=='/'):
  406.                         params=params[0:len(params)-2]
  407.                 pairsofparams=cleanedparams.split('&')
  408.                 param={}
  409.                 for i in range(len(pairsofparams)):
  410.                         splitparams={}
  411.                         splitparams=pairsofparams[i].split('=')
  412.                         if (len(splitparams))==2:
  413.                                 param[splitparams[0]]=splitparams[1]
  414.                                
  415.         return param
  416. ########END OF PART 1
  417. #Part 2
  418. # To activate it just call Megavideo(url) - where url is your megavideo url.
  419. def Megavideo(url,info):
  420.     if len(url)<=35:
  421.         mega=re.sub('http://www.megavideo.com/v/','',url)
  422.     else:
  423.         mega=url[27:35]
  424.     req = urllib2.Request("http://www.megavideo.com/xml/videolink.php?v="+mega)
  425.     req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14')
  426.     req.add_header('Referer', 'http://www.megavideo.com/')
  427.     page = urllib2.urlopen(req);response=page.read();page.close()
  428.     errort = re.compile(' errortext="(.+?)"').findall(response)
  429.     if len(errort) > 0:
  430.         addLink(errort[0], '',4, '', '')
  431.     else:
  432.         s = re.compile(' s="(.+?)"').findall(response)
  433.         k1 = re.compile(' k1="(.+?)"').findall(response)
  434.         k2 = re.compile(' k2="(.+?)"').findall(response)
  435.         un = re.compile(' un="(.+?)"').findall(response)
  436.         movielink = "http://www" + s[0] + ".megavideo.com/files/" + decrypt(un[0], k1[0], k2[0]) + "/"
  437.         title = 'MEGAVIDEO '
  438.         addLink(name, movielink+'?.flv',4,'http://www.movie2k.com/img/mega.gif',info)
  439. ##
  440. #####END OF PART 2
  441.  
  442. def htmlencode(text):
  443.     """Use HTML entities to encode special characters in the given text."""
  444.     text = text.replace('&amp;', '&')
  445.     return text
  446.  
  447.  
  448. def addLink(name,url,iconimage):
  449.         ok=True
  450.         liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage)
  451.         liz.setInfo( type="Video", infoLabels={ "Title": name } )
  452.         ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
  453.         return ok
  454.  
  455.  
  456. def addDir(name,url,mode,iconimage):
  457.         u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
  458.         ok=True
  459.         liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage)
  460.         liz.setInfo( type="Video", infoLabels={ "Title": name } )
  461.         ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
  462.         return ok
  463.        
  464.              
  465. params=get_params()
  466. url=None
  467. name=None
  468. mode=None
  469.  
  470. try:
  471.         url=urllib.unquote_plus(params["url"])
  472. except:
  473.         pass
  474. try:
  475.         name=urllib.unquote_plus(params["name"])
  476. except:
  477.         pass
  478. try:
  479.         mode=int(params["mode"])
  480. except:
  481.         pass
  482.  
  483. print "Mode: "+str(mode)
  484. print "URL: "+str(url)
  485. print "Name: "+str(name)
  486.  
  487. if mode==None or url==None or len(url)<1:
  488.         print ""
  489.         CATEGORIES()
  490.        
  491. elif mode==1:
  492.         print ""+url
  493.         PAGES(url)
  494.  
  495. elif mode==2:
  496.         print ""+url
  497.         INDEX(url)
  498.  
  499. elif mode==3:
  500.         print ""+url
  501.         PARTS(url)
  502.  
  503. elif mode==4:
  504.         print ""+url
  505.         VIDEOLINKS(url,name)
  506.  
  507.  
  508.  
  509.  
  510.  
  511. xbmcplugin.endOfDirectory(int(sys.argv[1]))
  512.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement