Advertisement
Guest User

Untitled

a guest
Nov 5th, 2010
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.80 KB | None | 0 0
  1. import urllib,urllib2,re,xbmcplugin,xbmcgui,xbmcaddon
  2.  
  3. #Fox News Video- by Redeyed
  4.  
  5. __settings__ = xbmcaddon.Addon(id='plugin.video.fox.news')
  6. __language__ = __settings__.getLocalizedString
  7.  
  8.  
  9. def INDEX(url):
  10. addDir(__language__(30001),'87249',20,'')
  11. addDir(__language__(30002),'http://video.foxnews.com/',2,'')
  12. addDir(__language__(30003),'http://video.foxnews.com/',3,'')
  13. addDir(__language__(30004),'http://video.foxnews.com/',4,'')
  14. addDir(__language__(30005),'http://video.foxnews.com/',5,'')
  15. addDir(__language__(30006),'http://video.foxnews.com/',6,'')
  16. addDir(__language__(30007),'http://video.foxnews.com/',7,'')
  17. addDir(__language__(30008),'http://video.foxnews.com/',8,'')
  18. addDir(__language__(30009),'http://video.foxnews.com/',9,'')
  19. addDir(__language__(30010),'http://video.foxnews.com/',10,'')
  20. addDir(__language__(30011),'http://video.foxnews.com/',11,'')
  21. addDir(__language__(30012),'http://video.foxnews.com/',12,'')
  22. addDir(__language__(30013),'86994',20,'')
  23. addDir(__language__(30014),'http://video.foxnews.com/',13,'')
  24. addDir(__language__(30015),'http://video.foxnews.com/',14,'')
  25. addDir(__language__(30016),'http://video.foxnews.com/',15,'')
  26.  
  27. #Hot Topics
  28. def INDEX2(url):
  29. addDir(__language__(30017),'87281',20,'')
  30. addDir(__language__(30018),'87282',20,'')
  31. addDir(__language__(30019),'87283',20,'')
  32. addDir(__language__(30020),'87284',20,'')
  33. addDir(__language__(30021),'87285',20,'')
  34. addDir(__language__(30022),'87286',20,'')
  35. addDir(__language__(30023),'87287',20,'')
  36.  
  37. #News
  38. def INDEX3(url):
  39. addDir(__language__(30024),'86856',20,'')
  40. addDir(__language__(30025),'86857',20,'')
  41. addDir(__language__(30026),'86858',20,'')
  42. addDir(__language__(30027),'86859',20,'')
  43. addDir(__language__(30028),'86860',20,'')
  44. addDir(__language__(30029),'86861',20,'')
  45. addDir(__language__(30030),'86862',20,'')
  46. addDir(__language__(30031),'86864',20,'')
  47. addDir(__language__(30032),'86865',20,'')
  48. addDir(__language__(30033),'86866',20,'')
  49. addDir(__language__(30034),'86867',20,'')
  50. addDir(__language__(30035),'86868',20,'')
  51. addDir(__language__(30036),'86870',20,'')
  52.  
  53. #Entertainment
  54. def INDEX4(url):
  55. addDir(__language__(30037),'86871',20,'')
  56. addDir(__language__(30038),'86872',20,'')
  57. addDir(__language__(30039),'86873',20,'')#
  58. addDir(__language__(30040),'86874',20,'')
  59. addDir(__language__(30041),'86875',20,'')
  60. addDir(__language__(30042),'86876',20,'')
  61. addDir(__language__(30043),'86877',20,'')
  62. addDir(__language__(30044),'86878',20,'')#
  63. addDir(__language__(30045),'86881',20,'')
  64.  
  65. #Business
  66. def INDEX5(url):
  67. addDir(__language__(30046),'86883',20,'')
  68. addDir(__language__(30047),'86884',20,'')
  69. addDir(__language__(30048),'86888',20,'')#
  70. addDir(__language__(30049),'86889',20,'')
  71. addDir(__language__(30050),'86890',20,'')
  72.  
  73. #Health
  74. def INDEX6(url):
  75. addDir(__language__(30051),'86892',20,'')
  76. addDir(__language__(30052),'86893',20,'')
  77. addDir(__language__(30053),'86894',20,'')
  78. addDir(__language__(30054),'86895',20,'')
  79. addDir(__language__(30055),'86897',20,'')
  80. addDir(__language__(30056),'86896',20,'')
  81. addDir(__language__(30057),'86898',20,'')
  82. addDir(__language__(30058),'86899',20,'')#
  83. addDir(__language__(30059),'86900',20,'')#
  84. addDir(__language__(30060),'86901',20,'')
  85. addDir(__language__(30061),'86902',20,'')#
  86. addDir(__language__(30062),'86903',20,'')#
  87. addDir(__language__(30063),'86904',20,'')#
  88. addDir(__language__(30064),'86905',20,'')#
  89. addDir(__language__(30065),'86906',20,'')
  90. addDir(__language__(30066),'86907',20,'')
  91. addDir(__language__(30067),'86908',20,'')#
  92.  
  93. #Shows
  94. def INDEX7(url):
  95. addDir(__language__(30068),'86909',20,'')
  96. addDir(__language__(30069),'86910',20,'')#
  97. addDir(__language__(30070),'86911',20,'')
  98. addDir(__language__(30071),'86912',20,'')
  99. addDir(__language__(30072),'86913',20,'')
  100. addDir(__language__(30073),'86914',20,'')
  101. addDir(__language__(30074),'86915',20,'')
  102. addDir(__language__(30075),'86916',20,'')
  103. addDir(__language__(30076),'86917',20,'')
  104. addDir(__language__(30077),'86919',20,'')
  105. addDir(__language__(30078),'86920',20,'')
  106. addDir(__language__(30079),'86921',20,'')
  107. addDir(__language__(30080),'86922',20,'')
  108. addDir(__language__(30081),'86923',20,'')
  109. addDir(__language__(30082),'86924',20,'')
  110. addDir(__language__(30083),'86925',20,'')
  111. addDir(__language__(30084),'86926',20,'')
  112. addDir(__language__(30085),'86927',20,'')
  113. addDir(__language__(30086),'86928',20,'')
  114. addDir(__language__(30087),'86929',20,'')
  115. addDir(__language__(30088),'86930',20,'')
  116. addDir(__language__(30089),'86931',20,'')
  117.  
  118. #Opinion
  119. def INDEX8(url):
  120. addDir(__language__(30090),'86933',20,'')
  121. addDir(__language__(30091),'86934',20,'')
  122. addDir(__language__(30092),'86935',20,'')
  123. addDir(__language__(30093),'86936',20,'')
  124. addDir(__language__(30094),'86937',20,'')
  125. addDir(__language__(30095),'86938',20,'')
  126. addDir(__language__(30096),'86939',20,'')
  127. addDir(__language__(30097),'86940',20,'')
  128. addDir(__language__(30098),'86941',20,'')
  129. addDir(__language__(30099),'86942',20,'')
  130. addDir(__language__(30100),'86943',20,'')#
  131.  
  132. #Sports
  133. def INDEX9(url):
  134. addDir(__language__(30101),'86944',20,'')
  135. addDir(__language__(30102),'86945',20,'')#
  136. addDir(__language__(30103),'86946',20,'')
  137.  
  138. #Leisure
  139. def INDEX10(url):
  140. addDir(__language__(30104),'86965',20,'')
  141. addDir(__language__(30105),'86967',20,'')
  142. addDir(__language__(30106),'86968',20,'')
  143. addDir(__language__(30107),'86969',20,'')
  144.  
  145. #Howcast
  146. def INDEX11(url):
  147. addDir(__language__(30108),'86970',20,'')
  148. addDir(__language__(30109),'86971',20,'')
  149. addDir(__language__(30110),'86972',20,'')
  150. addDir(__language__(30111),'86973',20,'')
  151. addDir(__language__(30112),'86974',20,'')
  152. addDir(__language__(30113),'86975',20,'')
  153. addDir(__language__(30114),'86976',20,'')
  154.  
  155. #Strategy Room
  156. def INDEX12(url):
  157. addDir(__language__(30115),'86978',20,'')
  158. addDir(__language__(30116),'86980',20,'')
  159. addDir(__language__(30117),'86981',20,'')
  160. addDir(__language__(30118),'86982',20,'')
  161. addDir(__language__(30119),'86983',20,'')
  162. addDir(__language__(30120),'86984',20,'')
  163. addDir(__language__(30121),'86985',20,'')
  164. addDir(__language__(30122),'86986',20,'')
  165. addDir(__language__(30123),'86987',20,'')
  166. addDir(__language__(30124),'86988',20,'')
  167. addDir(__language__(30125),'86989',20,'')
  168. addDir(__language__(30126),'86990',20,'')
  169. addDir(__language__(30127),'86991',20,'')
  170. addDir(__language__(30128),'86992',20,'')
  171. addDir(__language__(30129),'86993',20,'')
  172.  
  173. #FNC iMag
  174. def INDEX13(url):
  175. addDir(__language__(30130),'86947',20,'')#
  176. addDir(__language__(30131),'8694',20,'')#
  177. addDir(__language__(30132),'8694',20,'')
  178. addDir(__language__(30133),'86950',20,'')
  179. addDir(__language__(30134),'86951',20,'')
  180. addDir(__language__(30135),'86952',20,'')
  181. addDir(__language__(30136),'86953',20,'')
  182. addDir(__language__(30137),'86954',20,'')
  183. addDir(__language__(30138),'86955',20,'')
  184. addDir(__language__(30139),'86956',20,'')
  185. addDir(__language__(30140),'86957',20,'')
  186. addDir(__language__(30141),'86958',20,'')
  187. addDir(__language__(30142),'86961',20,'')
  188.  
  189. #FOX News Radio
  190. def INDEX14(url):
  191. addDir(__language__(30143),'86995',20,'')
  192. addDir(__language__(30144),'86996',20,'')
  193. addDir(__language__(30145),'86997',20,'')
  194. addDir(__language__(30146),'86998',20,'')
  195. addDir(__language__(30147),'86999',20,'')
  196. addDir(__language__(30148),'87000',20,'')
  197.  
  198. #FOX Fan
  199. def INDEX15(url):
  200. addDir(__language__(30149),'87001',20,'')
  201.  
  202. def VIDEOLINKS(url,name):
  203. req = urllib2.Request('http://video.foxnews.com/v/feed/playlist/'+url+'.xml')
  204. 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')
  205. response = urllib2.urlopen(req)
  206. link=response.read()
  207. response.close()
  208. a=re.compile('<title>(.+?)</title>\n <media:content url="(.+?)">\n <media:player url=".+?" />\n <media:description>(.+?)</media:description>\n <media:thumbnail><!\[\CDATA\[(.+?)]\]\></media:thumbnail>\n <media:keywords>.+?</media:keywords>\n <media:credit role=".+?" scheme=".+?">.+?</media:credit>\n <mvn:assetUUID>.+?</mvn:assetUUID>\n <mvn:mavenId></mvn:mavenId>\n <mvn:creationDate>.+?</mvn:creationDate>\n <mvn:airDate>(.+?)-(.+?)-(.+?)T.+?</mvn:airDate>\n')
  209. match=a.findall(link)
  210. for name,url,desc,thumbnail,Year,Month,Day in match:
  211. addLink(name,url,thumbnail,Month+'/'+Day+'/'+Year,desc)
  212.  
  213.  
  214.  
  215.  
  216. def get_params():
  217. param=[]
  218. paramstring=sys.argv[2]
  219. if len(paramstring)>=2:
  220. params=sys.argv[2]
  221. cleanedparams=params.replace('?','')
  222. if (params[len(params)-1]=='/'):
  223. params=params[0:len(params)-2]
  224. pairsofparams=cleanedparams.split('&')
  225. param={}
  226. for i in range(len(pairsofparams)):
  227. splitparams={}
  228. splitparams=pairsofparams[i].split('=')
  229. if (len(splitparams))==2:
  230. param[splitparams[0]]=splitparams[1]
  231.  
  232. return param
  233.  
  234.  
  235.  
  236.  
  237. def addLink(name,url,iconimage,date,desc):
  238. ok=True
  239. liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage)
  240. description = desc + "\n \n Date aired: " + date
  241. liz.setInfo( type="Video", infoLabels={ "Title": name, "Date": date ,"Plot":description} )
  242. ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)
  243. return ok
  244.  
  245.  
  246. def addDir(name,url,mode,iconimage):
  247. u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
  248. ok=True
  249. liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage)
  250. liz.setInfo( type="Video", infoLabels={ "Title": name } )
  251. ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
  252. return ok
  253.  
  254.  
  255.  
  256. params=get_params()
  257. url=None
  258. name=None
  259. mode=None
  260.  
  261. try:
  262. url=urllib.unquote_plus(params["url"])
  263. except:
  264. pass
  265. try:
  266. name=urllib.unquote_plus(params["name"])
  267. except:
  268. pass
  269. try:
  270. mode=int(params["mode"])
  271. except:
  272. pass
  273.  
  274. print "Mode: "+str(mode)
  275. print "URL: "+str(url)
  276. print "Name: "+str(name)
  277.  
  278. if mode==None or url==None or len(url)<1:
  279. print ""
  280. INDEX(url)
  281. elif mode==2:
  282. print ""+url
  283. INDEX2(url)
  284. elif mode==3:
  285. print ""+url
  286. INDEX3(url)
  287. elif mode==4:
  288. print ""+url
  289. INDEX4(url)
  290. elif mode==5:
  291. print ""+url
  292. INDEX5(url)
  293. elif mode==6:
  294. print ""+url
  295. INDEX6(url)
  296. elif mode==7:
  297. print ""+url
  298. INDEX7(url)
  299. elif mode==8:
  300. print ""+url
  301. INDEX8(url)
  302. elif mode==9:
  303. print ""+url
  304. INDEX9(url)
  305. elif mode==10:
  306. print ""+url
  307. INDEX10(url)
  308. elif mode==11:
  309. print ""+url
  310. INDEX11(url)
  311. elif mode==12:
  312. print ""+url
  313. INDEX12(url)
  314. elif mode==13:
  315. print ""+url
  316. INDEX13(url)
  317. elif mode==14:
  318. print ""+url
  319. INDEX14(url)
  320. elif mode==15:
  321. print ""+url
  322. INDEX15(url)
  323. elif mode==20:
  324. print ""+url
  325. VIDEOLINKS(url,name)
  326.  
  327.  
  328.  
  329. xbmcplugin.endOfDirectory(int(sys.argv[1]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement