[xbmc-addons] r2272 committed - First commit of Sarpur plugin

2 views
Skip to first unread message

xbmc-...@googlecode.com

unread,
Jan 26, 2012, 4:24:25 PM1/26/12
to xbmc-addo...@googlegroups.com
Revision: 2272
Author: dagurp
Date: Thu Jan 26 13:23:52 2012
Log: First commit of Sarpur plugin
http://code.google.com/p/xbmc-addons/source/detail?r=2272

Added:
/addons/plugin.video.sarpur
/addons/plugin.video.sarpur/addon.xml
/addons/plugin.video.sarpur/default.py
/addons/plugin.video.sarpur/icon.png
/addons/plugin.video.sarpur/resources
/addons/plugin.video.sarpur/resources/data
/addons/plugin.video.sarpur/scraper.py
Modified:
/addons/addons.xml
/addons/addons.xml.md5

=======================================
--- /dev/null
+++ /addons/plugin.video.sarpur/addon.xml Thu Jan 26 13:23:52 2012
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="plugin.video.sarpur"
+ name="Sarpur"
+ version="1.0"
+ provider-name="dagur">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ <import addon="script.module.beautifulsoup" version="3.0.8"/>
+ <import addon="script.module.simplejson" version="2.0.10"/>
+ </requires>
+ <extension point="xbmc.python.pluginsource"
+ library="default.py">
+ <provides>audio video</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Play videos and radio recordings from the Icelandic
National Radio's website</summary>
+ <description lang="en">An Iceland IP-Address is required to use this
because ruv.is locks all other out</description>
+ <platform>all</platform>
+ </extension>
+</addon>
=======================================
--- /dev/null
+++ /addons/plugin.video.sarpur/default.py Thu Jan 26 13:23:52 2012
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+
+import urllib, urllib2, re, xbmcplugin, xbmcgui, xbmc
+from datetime import datetime, timedelta
+from scraper import showtree, tabs, get_episodes, get_stream_info,
get_latest_episodes
+
+user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3)
Gecko/2008092417 Firefox/3.0.3'
+action_key = None
+action_value = None
+name = None
+
+
+def forsida():
+ for tab in tabs:
+ title, url = tab
+ addDir(title.encode('utf-8'), 'nytt', url)
+ for i,stod in enumerate(showtree[:-1]):
+ title = u'%s \xfe\xe6ttir' % stod['name']
+ addDir(title.encode('utf-8'), 'stod', i)
+# addDir(u'V\xf6ktun K\xf6tlu'.encode('utf-8'), 'eldfjall', 'katla')
+ addDir(u'Bein \xfatsending
R\xdaV'.encode('utf-8'), 'spila', 'http://www.ruv.is/ruv')
+
+def nytt(flokkur):
+ pageurl = u'http://www.ruv.is%s' % flokkur
+ for name, url in get_latest_episodes(pageurl.encode('utf-8')):
+ addDir(name.encode('utf-8'), 'spila', url.encode('utf-8'))
+
+def flokkar(stod):
+ for i, flokkur in enumerate(showtree[stod]['categories']):
+
addDir(flokkur['name'].encode('utf-8'), 'flokkur', "%d;%d" % (stod,i))
+
+def thaettir(stod, flokkur):
+ for show in showtree[stod]['categories'][flokkur][u'shows']:
+ name, url = show
+ if url[0] == '/':
+ url = 'http://dagskra.ruv.is%s' % url
+ addDir(name.encode('utf-8'), 'thattur', url.encode('utf-8'))
+
+def upptokur(url):
+ episodes = get_episodes(url)
+ if not episodes:
+ w = xbmcgui.Dialog()
+ w.ok(u"Engar uppt\xf6kur".encode('utf-8'),
+ u"Engar uppt\xf6kur eru \xed bo\xf0i fyrir \xfeennan
\xfe\xe1tt.".encode('utf-8'))
+ else:
+ for episode in episodes:
+ name, url = episode
+ addDir(name.encode('utf-8'), 'spila', url, "DefaultVideo.png")
+
+def spila(url):
+ stream_info = get_stream_info(url)
+#rtmpdump -r rtmp://178.19.48.74/ruvvod?key=93292 -a vod -y
mp4:ruvvod/4621116.f4v -o dagur.f4v
+ #playpath = "mp4:ruvvod/4621116.f4v"
+ #rtmp_url = "rtmp://178.19.48.74/ruvvod?key=93292"
+ item = xbmcgui.ListItem("RTL")
+ item.setProperty("PlayPath", stream_info['playpath'])
+
item.setProperty("SWFPlayer", "http://www.ruv.is/files/spilari/player.swf")
+ item.setProperty("PageURL", url)
+ xbmc.Player(xbmc.PLAYER_CORE_DVDPLAYER).play(stream_info['rtmp_url'],
item)
+
+def eldfjall(nafn):
+ url = "http://www.ruv.is/%s/" % nafn
+ item = xbmcgui.ListItem("RTL")
+
#item.setProperty("PlayPath", "rtsp://10.31.98.2:554/axis-media/media.amp?videocodec=h264&resolution=4CIF&compression=25&textstring=R%DAV%20-%20KATLA%20S%C9%D0%20FR%C1%20H%C1FELLI&textposition=bottom&text=1&clock=1&date=1&overlayimage=0&fps=15&audio=0&videokeyframeinterval=30&videobitrate=250&videobitratepriority=framerate&squarepixel=0&videocodec=h264&rotation=0")
+
item.setProperty("SWFPlayer", "http://uppfaersla.ruv.is/files/spilari/player.swf")
+ item.setProperty("PageURL", url)
+
#xbmc.Player(xbmc.PLAYER_CORE_DVDPLAYER).play("rtmp://vefur-vod.ruv.is/katla",
item)
+
xbmc.Player(xbmc.PLAYER_CORE_DVDPLAYER).play("rtsp://10.31.98.2:554/axis-media/media.amp?videocodec=h264&resolution=4CIF&compression=25&textstring=R%DAV%20-%20KATLA%20S%C9%D0%20FR%C1%20H%C1FELLI&textposition=bottom&text=1&clock=1&date=1&overlayimage=0&fps=15&audio=0&videokeyframeinterval=30&videobitrate=250&videobitratepriority=framerate&squarepixel=0&videocodec=h264&rotation=0",
item)
+
+def get_params():
+ param=[]
+ paramstring=sys.argv[2]
+ if len(paramstring)>=2:
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
+
+ return param
+
+def addDir(name, action_key, action_value, iconimage='DefaultFolder.png'):
+ is_folder = True
+ if action_key == 'spila':
+ is_folder = False
+
u=sys.argv[0]+"?action_key="+urllib.quote_plus(action_key)+"&action_value="+str(action_value)+"&name="+urllib.quote_plus(name)
+ liz=xbmcgui.ListItem(name, iconImage=iconimage, thumbnailImage='')
+ liz.setInfo(type="Video", infoLabels={ "Title": name } )
+ return
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=is_folder)
+
+
+params=get_params()
+try:
+ action_key = urllib.unquote_plus(params["action_key"])
+ action_value = urllib.unquote_plus(params["action_value"])
+ name = urllib.unquote_plus(params["name"])
+except:
+ pass
+
+print action_key
+print action_value
+if action_key is None:
+ forsida()
+elif action_key == 'stod':
+ flokkar(int(action_value))
+elif action_key == 'flokkur':
+ stod, flokkur = action_value.split(';')
+ thaettir(int(stod), int(flokkur))
+elif action_key == 'thattur':
+ upptokur(action_value)
+elif action_key == 'spila':
+ spila(action_value)
+elif action_key == 'nytt':
+ nytt(action_value)
+elif action_key == 'eldfjall':
+ eldfjall(action_value)
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
+
=======================================
--- /dev/null
+++ /addons/plugin.video.sarpur/icon.png Thu Jan 26 13:23:52 2012
@@ -0,0 +1,208 @@
+‰PNG
+
+
+IHDR \r¨f ÕIDATxÚí wxUUÖÆçÿÏ
+ò؆QF Å
+c GAðsÆNH¤÷"ÂG‡HÕ¡Ê €ˆ2Šè(!$!¤’JHBH(
+‚@€P H Åq}çÝ‘bÈÙgŸ[’{Éû{žóŒÏ@Nýî½×^ë] BH å ü
+ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ € B „P ! B € B „P ! B € B „P ! B € B „P ! B € B
„P ! B € B „P ! B € B „P ˆ‡üôó/râ̹‹×÷ç~æ—B
W ¿üò_Ù¶ÿ¤Dæî Á³Š¤Ý¤<yqT–<38M ÷N’{ºÇË båînñR¿Kœºîë‘(
+{$Xÿ› [ ç±þ ¥éÐt “#]ßÏ—‰Ñ %su™”
+ýŽ_0 € ‡Oþ _-Ú.
+'/•ç†eÈ ½ åö¶óå ^›ëÓëš s•p<1 UÂÆåÈ?笓õ¥Ç”à
+ ©Â >gÃAé1­@ž
+’.õ:-° h„Ï ¼ÉU§u”<l NÈØ
+™“µ]ÎþÈí €ø
+‚ÍßH‡ÉyÖ2>Yj
+Í«– ¯]!„DHÞ‰òÚ˜l™ ^"ßý@1  ¯8uöœŒúj­<90EÍ¶Þ PˆÆ}= ¤É 4yÕ ¤ˆ
+´™˜«®V —È+ï,–fáéÒð ¹éõ(¯· ØŠt~/_¶î;Á H
+ qÃŽƒ§Ôž
+ Ö› x[Û k› *}?Z)ù› ÉÏç qüÝø;kw|+Cf­R‚p{» ¯>ß:ÄÊ #³$¾` ü÷×_ù K
vl/;%­',‘z x5èðóaãs¤¨äˆ×Ÿ©x÷
édÍäww‹ón :Ož "ïFo” Î ç?6 €\`ïá來µ G”Ý›AvK›hyqÔ"kÙ}ÊçŸñÀ±ï¥ƒµmø£—+ µ=x#Qò‹¿á?< €Dfï »º,ð: ‡h<–Ùþ&kí y¼ Š×Ÿ· %x„ Pãyõ l¯ ÒµÖŒÚlX†š¡«Šï¾ÿIZŽÍ‘ëB¼ ¬ÞIrî'n ( 5 ¤áâèÌÓAt}è\i7i‰œ¯†d
+ ôú}¼Òã#Éë[Ε„e{ø P j.Ñy»Ô îÙ Š”Nï-­öL¼ Ÿ ªÏâÉ3´ž Ë—€ Psél
+`Ogÿ–ãrä× 8VÃgh?)Ï£lÄÇ ¤ð%  Ô\š‡gx4øÿ:0ENŸý)`ž †(
+rŸ#0_ö
+9à Pó@Þ|ƒîñîÏø;-
+¥ß Üó  †nŸçÓ”­| ( 5 TÒÕnå6å6B Y{î@eä—k]Ç4z|°Œ/  æñYZ‰ëÙ uú œE‡­€Û
+ 0 ) 5‘þ3Wº :Ó 6[« ó€àóÃ3 ï ¼ ¦ S ¸ç˜ ¼ RÎÍà ¨W’JÀ t°
+hÜw¡ñs=3$Í|‹ñŸ5òXß 9T
+IO bÄÛsÖÊ ;Ĩ¼~ ZOZâJ ‡ ,¼1}¹ñs=Ñßü( GŸ ~ NH„ ûùô 5ø ¤‹]ºËìe
+›ã*é'µh_Ð| ¨B¼¹U´Ñ³=90Õø¾O
+L»ì(4• D €ê'cÍ~¹«Ë¥RYÔÞ›ÐbŒ¹ <Ò;Ù¨–?P@r –FÉ@†+€ãg~”ú] Ì ÷¡_é1@ ¨.¶— –† L;à¬cB[ [ ¸ú !cÍŠœþ6Ø, ¸|
¯\S!¸x}h¤ô àcQ
+ÀU <õ+;ò‚¥–I• L=M  ÛÔ‚ û~Âg =Û³áéF÷ë9}Y¥? k» k ¶ /$  j—¸¯Z3}å z‘’¾j¿ã=p¤g* &}
+tßQ\þn£g{y´ÙŠ©É ûT㻺ÆIá–#|1) UÃÄè
+R[cœÙuJ Á Ùc, Uaôák

+‘ZaΙŽm N7pìçä–ôx¿
+t"¦ øŸU%G¥~×8‡—1Å1 `Ï7g¤n{³
+‹×
+ ºïióž r“Aªsøg«
+ïõÞ‚b3—¡It ¢ ø Ì0&©®µ_Ÿ'K6
+rÜF<Ò;ÉÈCoå–ÃA) 7·Žvx¶ I-t>Þ|~D¦‘ à÷ÍJe<€ à'°´7­{‡­· /ÛÄ *^9ë Ýw¥Š
+Ü‚êw] Ž÷tì>tFY‹›n—îí™ ; œæËJ ð-ó—îråˆ‹Æ N{Ò·f¯2º Ún ‹Ö
+p|.ô2t¢Ÿ 5 Ï
+Ï`~ À·Dç•:Îh —îÿš¿I?Kî:&·¶qΘCÐ1ØÀÑœÓs
+ø·þ
+? ú$» €Gû'W‹O" à* 3ÊÓƒS]½ˆHrq
+ þÍàžÝƒ0  ßÇ+
+; •:,Õ§,(VBê¶ ÚW‹vð
+¥ øžŒUerKëhã—ñ†–‘ò‰ƒãÍàYÎ 3ÿk°T 4РěgBêó ºžýQ]Èå? Ào¼<:Ë ñe¿
+ªDÖ T ÞÙIß äÞ
+ñÊB<XÀò JtÎF˜Ýu¼ [ìÚ] 1 v
+¢ ø•-{O*_>ãÆ
+!seü<ý
+>Ä¡2ðÚ kY < Àä {å†ÐHMq“ÞÛ U~ öu¿÷ Ow!
+@ Ðsz « ³‘à ¿a×1Ç£.Ó"£@
t\Žvö ù ½³‘'nI¨Á(;z–/' ÀÿüøÓyyj »€ Szp‹1Ù gæqAᄃs}][óÆ}’µÛ™-{O¸îŽ\§u”c¬
+P |Jñîãrwwó–Ù·µ ‘ MN?J‹ lµƒÁAwÀÌBÛÏ µ§Ÿ c¿
+B—#ä ¸ ýQzL( U Unzãaï«Ë|
{{Î:mà Yn‡ î* Ïv¿&ø×4<]ÛÊlÄ—k\ þþò å˜C6!¡ ø ×Ç/qÕ K7[!zÞ$\ßa't\à ºÚO¶ouÖÀZÝ`•c j'œ*þ®¸g÷x•LE( Õ Žøþ12Ó|
¿Ú*ÊZ Ûg ï9.÷j: ! a^NiÀ} IË÷Èím+O•® ¥VKvÀà 3¹›Á_·]Œõ=ìtõ ™ @ päÀ±³* C©ùÌrêìOʤÒÍË;7ÛþåÅŸÝ®©;ÀçÛ^v*`¾3Dß Û¦ìFÈë rm ôï#2]
+þ[ÛFËÄè ÆŸ IE° uÌb¾à =ïXûp¼d î²@ú|
´ÂØyö¨5‹Á ÀÍòU—´2tö*¹¾¥ÆN{@Š žê Ÿ ŸÅîs¾0r‘m"”'
+ëX+ ±s× ¾Üõ •8#— 1 ]R €ÈóÃ2+ ™’eN–Yn9ÊPñ÷Ýä ØÍä
+]§äËõ¡š´×ðôj t(Fê­ÝçCí„îó½1}™²<7ý¾`5>ü‹ÕFŸ
+G¦¯ Ï•º
+b~g×–V¸ /9  rÊ­§ Tb𠥎§L¶ ‡ ÿ 
+ •E±7[û~; è4y©v  ˜¨:ò ð;Ÿ ”¢]¡Ø%æà¹Ð<ÄÍ Ê
+
+beRì&£˜ ü ïëYùi ÌX
 RœJX‘³ YùÔÙsÚûÀ à¥QYrm‹HCï€$Y¶ù íJ V˜>µ¶`sÕåÀC ÿ¢IÕmf‰%\“+ Ç€=¦-S
+R¦ƒ ù & ¿„e{,áIÕ
+%6 Oã‹N ¨
+}
+ëï
+jýu¥¾8ÒñX
+à àˆüë–§ã"×k É =7tv‘_÷¸ ¦Áà ñ‘J« Cç©ö]?ÚØ¢#ž‚†(nš‡6¶„¦À¡ÀgÇÁSòÊÛ‹å o 4q9ʶb €Š`07va> eù3ƒÓ$ËÁ°szü×rO÷x£{b`M ·?.C‘Í šD ÔÎÃ`Îâ
+>=òÂw ‘µC-ùífW ,äøÛ‰âÞ#g¬­Qºñ÷{£µâ eš.É +1 j LZ+žJÌN/á O ø=ÛöŸ´=ÇÖ– ¶ // Î’u;¾µ½7 `ž±–ž&Yn0 EðÊ.x†½7ZbÕÑø `o
+ ýwc6zÕQ 1‘iq›åiKTn´©îƒè .bõö£¶÷A¿Ä ÞL4þN!„#¾Xm+bp
+±ÞC½ ]ÿ{)÷à‰t ¦ Tœ© 6{ô2]t¸i +!Öò Bb·% ôI‘íò¹âõXß
+Ö¾ÞÞY åÁX

+s"¤A÷ k&Í’ F¬—¢’£ÚB
+ ,Ä"0¸°¤nà°r¹·G‚ þt•m'$ܯ×ôåÆöç8ªCPs­ ˜à;œ
+»é·•Z„ÇÿV »èHL ¨!”ŸGÏõúªgíÓq/»6áÅ{N(›k Aìù{ÍXa tÄ`þçœu– $YB id—
+z
+Uâl
+¹ùÏ ËPÿ Ó ø C ïsO·8u„wì´ýò
+[£r u³ Zß ÆaŸ¯®ÔË + /2·«“ ·µ •ÇKâäЉïùÒS .ÑthºO àbäÚ $ðò³;¢û<£Ä8g ƒszÂ×¶ûkÌ´ çm fo¥»r.v뵇
+¯¿ šcGìõQï`ú9 ¸ƒ}Xeù ”ùê¶ ž\ ˤ Ì   ü –°÷½‘à— ƒ öôëv^¹¬Åqay +Þ
èX~柲r¯6À‡zú^3–«¿[¯s¬WKe¤#?jmEZOÈ•ÅkË´§
+˜QQ®\Y
+E¥Ëý – ,TGw• Œ \¯þ\— åÍ5hÖ*¾ø €r6íF ‹(¿¼h— ¦¿ X¤úüU
+ÀØ.´ ¸Ä¨ AB̈h—åä ˆ"›ˆÅ;T2
+

+’®¼úp®ŽØÀ¥+^e%âÏ_ ™¥Z—O +6ª7غï„tz/_îé o<ð ³ 6< +
+YbK 8I#ƒŽIÞ^è6L( #ë˜5±
+pëFã~)
+)O
+JSÁ¬Š‘þ­{Oª ¿IÐ Á¿Gz'«Ïm—Ih ~/ u.\n
+G‘ ü©µ4‡ ™ví¹&d® øèqpùÀ‡ æl8¨V
+zÆûí{Dzÿžnñò ™*ÈéÍé à*¦ìÛ³2-~³Šè#áçÆ–þ ƒ •®Šý2–ÁH²¹@QÉak_œ¥­ ¬¸ºÀªàÍ W¨6bþH B‹.ˆÖK£ ©Uƒ©_?LQ ë@ŒâòÓ ˆ.‚~ ìÝÔÊ?«/ Z õI’°ñ9òEf‰c 2
+ ¹" •kÍNÈ[ÇêàÎNþY
+` @_gk)]Xrø2!8¢ ¢|/o˜@ ZžZŒ Û®ïçËÌ
+[Ô ½iö ¶
+k· « Í*T+
+Iš
+å]Þ áÉ )j© aàC\±uAÞ ‡|?Ë—WYâÙ Z[‰¢mG
+ ³P ˆùVáÄ÷ W hY
+"!_¿Ä0¸Ä€Cà püÎÒƒg¤óû ê Ï“{B îê²@õ ø‹uod âè ô)u ˜¬r
+ Z÷Gž‚7 w$(5
+š! ‹·«”à% Ë ‰IþØ^á´ Ï £×¨¼Ò€(‘¦ Ô Õ fVTža–D´üv?
+ÁaÐ f€=2ì²1»ÝÛ=ÁïA2Ï„+E­bºX+ ç‡gJÃ7 ]Uü ™©X+ |×pQF¿
+Òƒì L P”òA|±´™˜«fÖò " >
+ ˜Í!
+8
+ $ ¸½Ý|Ÿç \ ©¼ ›†g¨vë <" A( A
+|£rK¥×ôeÖ¶![åÌc ê ­C°_ð:D. ‚™-Çæ¨ÕNÆêýŒÖS ®. µ·nç·ªö ÛÔ C†
+„á¶¶Ñ>_1 Ò áûs—8Uш –ñ=§/WY‘0C¥]  Z@¤¿º¯ôUûeVê6ykö*U Û¸O’ê°ƒ¤
+œµ#¸†c-ôÜóE>¼ÏO2¬ÏU+tžJ¨‚i' ¡
±éAk°#n š†w£7ª"¦Ô¢}’½î@µ çŒ P u;Är ^ /ÔjP ˆJøá€¨y×ÛsÖR 8üå·²U ˆšv¡Þ @Tä™ ¢æ]‘Ù¥ qÝ™†×Õq-Ýtˆ Àá/ÒblvÀ¾¤È¤Cz.\xn ç:i pHõEÓÑ Gg©²àV —Èkc «–]!cs$l\®„ ÏU¥Àp+zÂÚ á¨ É=ž 9¡¸ iË噑 ›wP첊’ p•Òvb^` öÐH峇̷v“òd¼õ²hm™´›œgä|
‹ ÿHïDe½=dv‘5Ã
+4nmV ÈlD= ²ð Ë GG³Ó’Úa‘Jp¾ÈØ.ñ »U•"ú$4î ì7Ç"· Ž(i F P¼ùáòjy
/T¯=?,Cú~´Rò­%é O}TÐÁïïA çÛ V]ݧ-“ìµ *õÔó 0.AY/úý™TóÁe 9
+H| ¨ý‡¨ ¥ ÅN¨€¬
+V=)Í÷[ß++ ) Š “¾®Ò%ý£Ö‹ YuþÒ]WT¯á¥ü(y‹2ÏÐÕÜà L @T
+/2êùѧ T§AŒ• ¶ ¥ O]ñ¬(yî÷ñJin­züQ"¬k©F(
+´Õº®E¤ }_Ôû/Uî7v 6&o—ªü»¡å<Ûý5öæ½g,Wu n@NýÖ½'$µpŸòú /¶øâ Ï xþáÏÝšf`V‡ï sk ssë(G¿ÿNÖw`g”
+/ ˜Ž  £[ÿ ·×Ë£³øâS .Íf&~|n/ÔߣŒ i¯ºY:oã!ÕO¯Žf ÁlsÀ'
+ÊŽËdP ï:®Úh£° « ¤ ßêÐ: µ ¤ðäC_€ ÖïCo Ó
+}ˆ žÃ© ÛžÞ »s€4]8 c{SË Û ¬À à"nÚz; b<=$U 𜚈–
+:-¯ŽÉVÝ
+tv_ˆÜÃnÛ ˜j>90Uni
+å³Õ ¡¢[‘N|.YžëO Ðà
+ uq ç¢ÕeªÄ R_ ÀdƒNà € ÄK£ {õBaæ„}—I—^̨oÍ^­z 8u°qê= Ò
+÷«ã»?ù¹¦ + ô „­×å
+†• £QØ„×í ãØc E kö;>'\ƒÑœ ââMAT­°(e{F( AËjO^& d ¶]&À× çìºN>7[«ˆ¶“ò
+Ýz“Wì‘gÃõ[‡Ë ½
+ï·P­8:X÷ÆàìûñJUw ÿÆÿ÷ÊÛYj»p‡Ãv ƒ fžˆ
+8 ÓŠö©ø‡É‰ Ž>Mb 8!™‘´Eõ[ôÄ 9
+v
+Œ) 5 à`]mšì‚ ",·uí±. Û Ðq¹ªTÖIPpL¦ Á2ø ÞÜ:Ú±)
öò ú¹9ó.;ú : AOÁúš^†(MÆì]´õ¨ö~ Ô8:4 ´â{
+!©)iEûÕêÍMаÙÐt¾ð €
+ËKë%5éjƒ tøç«UW S–l8¨L7MšV¢“° ̺ öÒï
+ ê•$ƒg ù$Ñ nƒ>-Ô¶%‡E Ž u{ù_¬?ë?³Pù ˜l5° ró
+ n=¢<ÿoq tâê6
+eÀ €Jh¢é_ Ä ªÓ.\g±<F
+“ üîcšå/öÜxqëh–¼ø=h5æ |ô ä+`»`×Ý }Ÿ
+–î ¬œ ¿Yî0ŠUD(A\_ên¯Ž —fÃ2m·EÈ­@þ ¡ \ "Ý•
+Y
+ø÷JÕAÇ
+
+4½´?Ó¿ôB¢
ˆn¶Ã,üÜðLMà+B çàƒïoк É?vŸå‘>I 3ÿìørQ‰Ô3l“~O÷8‰ÌÞáús¢ÙÊ3–¨¢ SÅm „P * i
+v[ûÔßfÓŽ±ª_ß¡cî—Ñø €šÌrðÅÓ ³£™ ‚wºü dÙ¹mïå
+X ´›´TýîÊó TðOGœ5 ×3l´‚L Íw l‡#IX ýuà%Áj>Œû
+€

+±<Ey0<ÿ=aç Óòh_³œ ôÖÓ
+~ ‰Î¬¤N«( `-Ë ­†T`üNìéí ‘Hë ÉÓ×ÛÏÎ(‘º¦mĭ߃D(Ož ßñعëä¾
+å'6„ ` °ÛxÐãŸ]·ã˜<Ü+É0 =MÛÅ Ë~
+µÙý<Jn1 ª›þÖg°ËÔ»·g¼ä ëó"Ð:ìVC @ŸÆ®S
+< <œØ°¯ À/ •¶SåÞå p{ |§]b?¯1)Ár Qò@Š Ø
+ñ!‹Ðéd KÓÄ
+ˆM €\Ú§ =kţŽÌ¬}ïŠ-ú”ZôÒ»V““ðLxz@yè㈠çüvŸ ™{º“ ü<¶C¦çø7½
+%ïÌYÇ Pý ¢Œæ”fÞùseÔWk´÷›¹p«ö¨ eÀ;*”Õ Š ¢Ý¹Ýçn3q‰öç±åiÔÛ¼
+£n‡ùªlšP ª
+ìEa³eúÒb–Ó¥Î"èw¿&†€e6*ü •©ñŪ-¸]zóW™Ûµ?Ÿ´| J
6nœj­¦ò‹éëG ¨& äsC¨© M‚c’ üùœ2 ýéøã- 7Ýñç –¸9
+«¶Ÿ¼ÔU^?â)<×§ T9ð껣£Yþ9fnD»uÌËÙ©J‰í 2% |ì?KÛ¦j <­ÃGÂU£>É®Í=~¥½  ª@@ËM7!
+ùýâPó íLgí ƒ¡y&žE—»€TâR‡
+‘œ2( _”„Ø
+»üP ªˆÎïç ¿œØû&Z{[
+ÈV»Ña+Ñ9ˆ Xz ¸Bû,0 Õ ±„5š›UÀ]–°lÝwŠ/' À¿ ²¯n{sã
+Ô èÀÒÕ©3
+[–}}8h¾£-{OüÖ À>µ×é$ vâu\º !ÈJ( ~ KpÓ#?\°úrJ)^ºñ Ôn å°üO
+: ë' è·4°Aw¢ixº+ €;1b „ à &Íß(׺p 6™‘:LvnJ OÀ` –åN' N¢67{§µ5rçÖŒ ¢›’m
+ 1 6T°Ë2 Lµœ§^`§ E#ƒ`âÀ L}Eëm§”ÞEkÊ´÷€@ÀàÔ­å | À§$.ß+×
+˜ÏF(áu:³O^±W®oiÐÆ:>øÚX£ó®Ósµ›´Äñ>ãçmp- ¨Éø%€ó%( AÈ çΫŽ>¦/áˆ/Ö8Þ fœ&÷‚_a°‘¿é mg#\0Gu I>
+º›w  mà'E|a) ¾ç‹Œ ¹¹•³çÜŸ:ÆÊžoœËN› ¹0ˆ– X ›÷œpìMðÇ 1Rzà´ã½^
+cnÙþÌà´ È—  )(j1ñ÷3‰)À Øä¥^¹åpP
+ÀMaÎÇx_.Úîx/dI^ßÒyûÕ g¼*Ë& ¿ ³“Ï½É ×¦ÝÇŒ;ã¦8Øk "hMvS+g è5c¹‘X6|
#Á1áê ;uB 𠘑a.ig] g 'ð²š.kcrKƒî;Â¶å ƒ#¼°ñ9F÷C Ý}ÚLX “ PuL‹ß\é ?@“ XŒ›
+À¸ÈõA÷ýÌJÝfôl/Œ2ËÞC®¿Ý=þ:0Uu?& €*¥ãäü+œ{ÐzË 7õ í ÈþË”^Ó—› íÂÍ\z‹m‚Š8ò㾟 P-
ÚÜ|
XÆï^ÈðÏV ý,
+bL  yxðYYë,Â~w 8 Åè~È©¸¿‚çb½.q’µæ _D
+@õ sê ­Åᆓ»ÁÌUøµ19Æ pw÷xã
+„ r&î74H5É ¸@óðKb‹ `؆
+@µƒ%èCo&Y 5Nkõ}9a.V ¸> ¢—=*·Ô8kÒt Úþv ‹4â>3VðÅ£ [÷ ”·f¯2þûí'å¹s½y'+h¾‹ ±Ù.ÌRR ïûnÌ KXÐ
Ÿ @ €à¦Ç´ W €ŽEÁ`x ŽÄõ»Æ›gî
+1 oÀC íÎ9ø) A j Ü ¹´Ÿœ ðÏõæŒå®ž Q  Æ îµn ýö¶í ÜUÀþ£ß©n¾nž©] ˆ €ø
+ ÁÜÞ.Ƶ ¼8*pm¯ZŽËqý< Ùæ‹ P A½:N Ü DÀg$}
+pÏóyF‰k ?ô L)ÜÇ— P3yiT–k P[ ®qR´õHÀ<Ƕý'從
®ŸãžnæÇ¦„ pÕ1`f¡G p¡á¦S— ªàøésÊýÈ“gh:4 /  æ²rëaÕéÖS x¼ÿBÇvcþ
+üÏVH
+vs™”M
+ÀU γ ë»Ðã T¾ X¨|ø«šÒƒgT §Ÿû¶¶Ñ²~×1¾ €šMG—Í0+uÂé
+/ŸV¡ FòŠ}ò° ÌŠ%¼„ PãÙ¼ç¸4±öºƠ& ŒH + L< žˆ=>XîÑñeÅ«ßÇÌå§ ‹Ä.Ý%MÂÓ¥¶ 1 \ˆÆÃ<ãì ?ûì³Á’ë_ó7©VÜÞ |
ôðC)ôáã?ð @*Æ Ê
+ ÍÈOÏÞI8R
+é (½f¬P+ Ï÷ù§ÕL 8ƒ“Å·öó„Ì•‡{%JÏé *[ P ˆ èšóÊ;Ùrg§X¯f\,×Ñ|
´ËûùªSÑö²“òóù+m³¿?÷³ì>tF•ò¢_ ŽèÐÄÓ›ß m
+Š}¦Ä «û
+ q eok&G/½Z†.ÂNÑw
+á]ˆ%}£>IjvnÐ-^ùô{{ ¬>°
+AZpöZºõP ˆO@Ÿ¼ôUû¥Ã¤¥Ê–ü&/c ¾¼®i !
+{&J‹1Ù*%˜ âg1@ \qþ>"Óšq 寖‘U8è#¤^ç ê(¯õ„\‰ÈÚáÓ #¡ üøÓyåE8üó5òº5
±ïÆ2¼nû €óf°£=7"÷Ø.<7,]ºM- ¨¼R9|ü{~ñ ¨ÀE ý ­9 ïÆlTF
+í&/•׬eúóÖª Î:/¿³Xþ12SYxµš¸Äú³Å f ’“úÏ,”ÏÒ·ÉêíGƒÊ ”P ! B € B
„P ! B €
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ !„ @ ¡ B( „
+ ! B € B „P ! B € B „P ! B € B „P ! B € B „P ! B € B
„P !UÏÿ ;p»]¾©³6 IEND®B`‚
=======================================
--- /dev/null
+++ /addons/plugin.video.sarpur/scraper.py Thu Jan 26 13:23:52 2012
@@ -0,0 +1,145 @@
+#!/usr/bin/env python
+import urllib2, re, os, time
+from BeautifulSoup import BeautifulSoup
+from datetime import datetime
+import simplejson as json
+
+user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3)
Gecko/2008092417 Firefox/3.0.3'
+showtreefile_location =
os.path.join(os.getcwd(), 'resources','data','showtree.dat')
+tabfile_location = os.path.join(os.getcwd(), 'resources','data','tabs.dat')
+showtree = [] #All the shows under the thaettir menu
+tabs = [] #Tabs in the Sarpur main page
+
+
+def fetch_page(url):
+ "Download URL"
+ req = urllib2.Request(url.replace(' ','%20')) #Doesn't seem to like
spaces
+ req.add_header('User-Agent', user_agent)
+ response = urllib2.urlopen(req)
+ html = response.read()
+ response.close()
+ return html
+
+def get_tabs():
+ "populate latest_groups"
+ html = fetch_page("http://www.ruv.is/sarpurinn")
+ soup = BeautifulSoup(html)
+ div = soup.find("div",
attrs={"class": "menu-block-ctools-menu-sarpsmynd-1
menu-name-menu-sarpsmynd parent-mlid-_active:0 menu-level-2"})
+ for li in div.findAll("li"):
+ tabs.append((li.a.contents[0], li.a['href']))
+
+
+def parse_show_index(html):
+ "Take the html from the show index and create a data structure"
+ soup = BeautifulSoup(html)
+ stodvar = soup.findAll("div",
attrs={"style":re.compile("width:280px;float:left;.*")}) #0: Stod 1 #1: Ras
1 #2: Ras 2
+
+ for i,stod in enumerate(stodvar):
+ showtree.append({"name":stod.h1.contents[0], "categories":[]})
+ for flokkur in stod.div:
+ if hasattr(flokkur, 'name'):
+ if flokkur.name == 'h2':
+
showtree[i]["categories"].append({"name":flokkur.contents[0], "shows":[]})
+ elif flokkur.name == 'div':
+ for show in flokkur.findAll("div"):
+
showtree[i]["categories"][-1]['shows'].append((show.a.contents[0],
show.a['href']))
+
+def get_episodes(url):
+ "Find playable files on a shows page"
+ episodes = []
+ html = fetch_page(url)
+ soup = BeautifulSoup(html)
+ for episode in soup.findAll("a", attrs={"title": re.compile("Spila .
Sarp")}):
+ episodes.append((episode.contents[0], episode['href']))
+
+ if episodes: #Venjulegt utlit
+ return episodes
+
+ #Hitt utlitid
+ innri = soup.find("div", attrs={"class": "kubbur ahugavert"})
+ if innri:
+ for episode in innri.findAll("li"):
+ url = 'http://www.ruv.is%s' % episode.div.a['href']
+ episodes.append((episode.span.contents[0], url))
+
+ if not episodes and 'dagskra' in url:
+ #Sumir thaettir eru a dagskra.ruv.is i listanum en notandinn er
faerdur a www.ruv.is
+ return get_episodes(url.replace('dagskra','www'))
+ return episodes
+
+def get_latest_episodes(url):
+ "Find playable files on the 'recent' pages"
+ html = fetch_page(url)
+ soup = BeautifulSoup(html)
+
+ spilari = soup.find("div", attrs={'class':'kubbur sarpefst'})
+ dags = re.search(r'\d{1,2}\. \w{3} \d{4} \|
\d\d:\d\d',repr(spilari)).group()
+ featured = "%s %s" % (spilari.h1.contents[0], dags)
+
+ episodes = [(featured, url)]
+
+ for li in soup.find("ul", attrs={'class':'sarplisti'}).findAll("li"):
+ title = "%s %s" % (li.h4.a.contents[0], li.em.contents[0])
+ pageurl = u"http://www.ruv.is%s" % li.h4.a['href']
+ episodes.append((title , pageurl))
+
+ return episodes
+
+def get_stream_info(page_url):
+ "Get a page url and finds the url of the rtmp stream"
+ html = fetch_page(page_url)
+
+ access_point_hyperlink = re.search('"http://load.cache.is.*?"',
html).group()[1:-1]
+ javascript = fetch_page(access_point_hyperlink)
+ access_point = re.search('"(.*?)"', javascript).group(1)
+ path = re.search('ruv(vod)?\?key=\d+', html).group()
+ rtmp_url = "rtmp://%s/%s" % (access_point, path)
+ playpath = re.findall("\'file\': \'(.*?)\'", html)[-1] #.group(1)
+
+ return {'playpath': playpath, 'rtmp_url': rtmp_url}
+
+def update_index():
+ "Update the data file with the show list"
+ print "Update Sarpur data files."
+ html = fetch_page('http://dagskra.ruv.is/thaettir/')
+ parse_show_index(html)
+ showtree.append(time.time())
+ json.dump(showtree, file(showtreefile_location,'wb'))
+ get_tabs()
+ json.dump(tabs, file(tabfile_location,'wb'))
+
+## init
+try:
+ tabs = json.load(file(tabfile_location,'rb'))
+ showtree = json.load(file(showtreefile_location,'rb'))
+ delta = datetime.now() - datetime.fromtimestamp(showtree[-1])
+ if delta.days > 0:
+ update_index()
+except IOError:
+ update_index()
+
+
+
+
+if __name__ == '__main__':
+ None
+ #showtree = []; update_index()
+ #print showtree[0]['categories']
+
+
+ #for stod in showtree[:-1]:
+ # print stod['name'].encode('utf-8')
+
+ #for flokkur in showtree[0]['categories']:
+ # print flokkur
+
+ #for show in showtree[0]['categories'][0][u'shows']:
+ # print show[0].encode('utf-8')
+
+ #print get_episodes("http://dagskra.ruv.is/opus")
+
+ #print get_stream_info("http://www.ruv.is/sarpurinn/nytt")
+ #print get_latest_episodes("http://www.ruv.is/sarpurinn/nytt")
+
+ #get_tabs()
+ #print tabs
=======================================
--- /addons/addons.xml Fri Nov 18 23:29:48 2011
+++ /addons/addons.xml Thu Jan 26 13:23:52 2012
@@ -1,42 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addons>
-<addon
- id="plugin.audio.listenliveeu"
- version="0.4.3"
- name="ListenLiveEU"
- provider-name="bootsy [boot...@gmail.com]">
- <requires>
- <import addon="xbmc.python" version="1.0"/>
- </requires>
- <extension
- point="xbmc.python.pluginsource"
- library="default.py">
- <provides>audio</provides>
- </extension>
- <extension point="xbmc.addon.metadata">
- <summary lang="en">European radio stations streaming live on the
internet</summary>
- <summary lang="hu">Európai internetes rádiók</summary>
- <description lang="en">Welcome to listenlive.eu, a web radio directory
showcasing over 4000 radio stations from across Europe streaming live on
the internet.</description>
- <description lang="hu">A listenlive.eu több mint 4000 élo rádióadást
tartalmaz Európából, melyeket az interneten keresztül érhetsz
el.</description>
- <platform>all</platform>
- </extension>
+<addon id="repository.googlecode.xbmc-addons" name="googlecode.xbmc-addons
Add-ons" version="1.0.1" provider-name="nuka1195">
+ <extension point="xbmc.addon.repository" name="googlecode.xbmc-addons
Add-on Repository">
+ <info
compressed="false">http://xbmc-addons.googlecode.com/svn/addons/addons.xml</info>
+
<checksum>http://xbmc-addons.googlecode.com/svn/addons/addons.xml.md5</checksum>
+ <datadir
zip="false">http://xbmc-addons.googlecode.com/svn/addons</datadir>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <summary>Install Add-ons from googlecode.xbmc-addons</summary>
+ <description>Download and install add-ons from googlecode.xbmc-addons
addon repository.[CR][CR]By using this Repository you will be able to take
advantage of our cutting edge features.</description>
+ <disclaimer>Nuka1195 did not make all the add-ons on this repository and
is not responsible for their content</disclaimer>
+ <platform>all</platform>
+ </extension>
</addon>

-<addon id="plugin.video.apple.movie.trailers.lite" name="Apple Movie
Trailers - Lite" version="2.0.1" provider-name="nuka1195">
- <requires>
- <import addon="xbmc.python" version="1.0"/>
- </requires>
- <extension point="xbmc.python.pluginsource" library="addon.py">
- <provides>video</provides>
- </extension>
- <extension point="xbmc.addon.metadata">
- <platform>all</platform>
- <summary>Watch current movie trailers from apple.com.</summary>
- <disclaimer>Only the most recent 100 or so trailers are
listed.</disclaimer>
- <description>Watch current movie trailers from
http://trailers.apple.com/.[CR][CR]Check movie showtimes for theaters in
your area.</description>
- </extension>
-</addon>
-
<addon id="plugin.video.cnn.video" name="CNN Video" version="2.0.5"
provider-name="nuka1195">
<requires>
<import addon="xbmc.python" version="1.0"/>
@@ -55,41 +32,6 @@
</extension>
</addon>

-<addon id="plugin.video.karaokeplay"
- name="KaraokePlay"
- version="1.0"
- provider-name="dagur">
- <requires>
- <import addon="xbmc.python" version="1.0"/>
- <import addon="script.module.beautifulsoup" version="3.0.8"/>
- <import addon="plugin.video.youtube" version="1.8.1"/>
- </requires>
- <extension point="xbmc.python.pluginsource"
- library="default.py">
- <provides>audio video</provides>
- </extension>
- <extension point="xbmc.addon.metadata">
- <summary lang="en">Play Karaoke videos from KaraokePlay.com</summary>
- <description lang="en">KaraokePlay has thousands of karaoke videos
from youtube indexed. This allows you to browse and play them from
xbmc.</description>
- <platform>all</platform>
- </extension>
-</addon>
-
-<addon id="plugin.video.nos.journaal" name="NOS Journaal" version="0.3"
provider-name="Frank Spierings">
- <requires>
- <import addon="xbmc.python" version="1.0"/>
- </requires>
- <extension point="xbmc.python.pluginsource" library="default.py">
- <provides>video</provides>
- </extension>
- <extension point="xbmc.addon.metadata">
- <platform>all</platform>
- <summary>Stream NOS Journaal (www.nos.nl)</summary>
- <disclaimer></disclaimer>
- <description>Stream NOS Journaal (www.nos.nl)</description>
- </extension>
-</addon>
-
<addon
id="plugin.video.videomonkey"
version="1.4.2"
@@ -110,38 +52,38 @@
</extension>
</addon>

-<addon id="repository.googlecode.xbmc-addons" name="googlecode.xbmc-addons
Add-ons" version="1.0.1" provider-name="nuka1195">
- <extension point="xbmc.addon.repository" name="googlecode.xbmc-addons
Add-on Repository">
- <info
compressed="false">http://xbmc-addons.googlecode.com/svn/addons/addons.xml</info>
-
<checksum>http://xbmc-addons.googlecode.com/svn/addons/addons.xml.md5</checksum>
- <datadir
zip="false">http://xbmc-addons.googlecode.com/svn/addons</datadir>
- </extension>
- <extension point="xbmc.addon.metadata">
- <summary>Install Add-ons from googlecode.xbmc-addons</summary>
- <description>Download and install add-ons from googlecode.xbmc-addons
addon repository.[CR][CR]By using this Repository you will be able to take
advantage of our cutting edge features.</description>
- <disclaimer>Nuka1195 did not make all the add-ons on this repository and
is not responsible for their content</disclaimer>
- <platform>all</platform>
- </extension>
-</addon>
-
-<addon id="script.apple.movie.trailers" name="Apple Movie Trailers"
version="2.0.0" provider-name="nuka1195">
+<addon id="script.module.xbmcaddon" name="xbmcaddon emulator"
version="1.0.4" provider-name="nuka1195">
<requires>
<import addon="xbmc.python" version="1.0"/>
- <import addon="script.module.pysqlite" version="2.5.6"/>
- <import addon="script.module.elementtree" version="1.2.7"/>
- <import addon="script.module.pil" version="1.1.7"/>
</requires>
- <extension point="xbmc.python.script" library="addon.py">
- <provides>video</provides>
- </extension>
+ <extension point="xbmc.python.module" library="lib"/>
<extension point="xbmc.addon.metadata">
- <platform>all</platform>
- <summary>Watch movie trailers.</summary>
- <disclaimer></disclaimer>
- <description>Watch movie trailers from http://trailers.apple.com/.
Check movie showtimes for theaters in your area.</description>
+ <platform>xbox</platform>
+ <summary lang="en">Module emulates XBMC xbmcaddon module.</summary>
+ <description lang="en">Module emulates XBMC xbmcaddon
module.</description>
</extension>
</addon>

+<addon id="plugin.video.sarpur"
+ name="Sarpur"
+ version="1.0"
+ provider-name="dagur">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ <import addon="script.module.beautifulsoup" version="3.0.8"/>
+ <import addon="script.module.simplejson" version="2.0.10"/>
+ </requires>
+ <extension point="xbmc.python.pluginsource"
+ library="default.py">
+ <provides>audio video</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Play videos and radio recordings from the Icelandic
National Radio's website</summary>
+ <description lang="en">An Iceland IP-Address is required to use this
because ruv.is locks all other out</description>
+ <platform>all</platform>
+ </extension>
+</addon>
+
<addon id="script.cinema.experience" name="Cinema Experience"
version="1.0.46" provider-name="nuka1195-giftie-ackbarr">
<requires>
<import addon="xbmc.python" version="1.0"/>
@@ -157,18 +99,6 @@
</extension>
</addon>

-<addon id="script.module.xbmcaddon" name="xbmcaddon emulator"
version="1.0.4" provider-name="nuka1195">
- <requires>
- <import addon="xbmc.python" version="1.0"/>
- </requires>
- <extension point="xbmc.python.module" library="lib"/>
- <extension point="xbmc.addon.metadata">
- <platform>xbox</platform>
- <summary lang="en">Module emulates XBMC xbmcaddon module.</summary>
- <description lang="en">Module emulates XBMC xbmcaddon
module.</description>
- </extension>
-</addon>
-
<addon id="script.pydocs" name="PyDocs Printer" version="2.0.5"
provider-name="nuka1195">
<requires>
<import addon="xbmc.python" version="1.0"/>
@@ -204,6 +134,61 @@
</extension>
</addon>

+<addon id="script.apple.movie.trailers" name="Apple Movie Trailers"
version="2.0.0" provider-name="nuka1195">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ <import addon="script.module.pysqlite" version="2.5.6"/>
+ <import addon="script.module.elementtree" version="1.2.7"/>
+ <import addon="script.module.pil" version="1.1.7"/>
+ </requires>
+ <extension point="xbmc.python.script" library="addon.py">
+ <provides>video</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <platform>all</platform>
+ <summary>Watch movie trailers.</summary>
+ <disclaimer></disclaimer>
+ <description>Watch movie trailers from http://trailers.apple.com/.
Check movie showtimes for theaters in your area.</description>
+ </extension>
+</addon>
+
+<addon id="plugin.video.apple.movie.trailers.lite" name="Apple Movie
Trailers - Lite" version="2.0.1" provider-name="nuka1195">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ </requires>
+ <extension point="xbmc.python.pluginsource" library="addon.py">
+ <provides>video</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <platform>all</platform>
+ <summary>Watch current movie trailers from apple.com.</summary>
+ <disclaimer>Only the most recent 100 or so trailers are
listed.</disclaimer>
+ <description>Watch current movie trailers from
http://trailers.apple.com/.[CR][CR]Check movie showtimes for theaters in
your area.</description>
+ </extension>
+</addon>
+
+<addon
+ id="plugin.audio.listenliveeu"
+ version="0.4.3"
+ name="ListenLiveEU"
+ provider-name="bootsy [boot...@gmail.com]">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ </requires>
+ <extension
+ point="xbmc.python.pluginsource"
+ library="default.py">
+ <provides>audio</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">European radio stations streaming live on the
internet</summary>
+ <summary lang="hu">Európai internetes rádiók</summary>
+ <description lang="en">Welcome to listenlive.eu, a web radio directory
showcasing over 4000 radio stations from across Europe streaming live on
the internet.</description>
+ <description lang="hu">A listenlive.eu több mint 4000 élo rádióadást
tartalmaz Európából, melyeket az interneten keresztül érhetsz
el.</description>
+ <platform>all</platform>
+ </extension>
+</addon>
+
<addon id="weather.weatherplus"
name="Weather Plus"
version="2.5.0"
@@ -218,4 +203,39 @@
<platform>all</platform>
</extension>
</addon>
+
+<addon id="plugin.video.nos.journaal" name="NOS Journaal" version="0.3"
provider-name="Frank Spierings">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ </requires>
+ <extension point="xbmc.python.pluginsource" library="default.py">
+ <provides>video</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <platform>all</platform>
+ <summary>Stream NOS Journaal (www.nos.nl)</summary>
+ <disclaimer></disclaimer>
+ <description>Stream NOS Journaal (www.nos.nl)</description>
+ </extension>
+</addon>
+
+<addon id="plugin.video.karaokeplay"
+ name="KaraokePlay"
+ version="1.0"
+ provider-name="dagur">
+ <requires>
+ <import addon="xbmc.python" version="1.0"/>
+ <import addon="script.module.beautifulsoup" version="3.0.8"/>
+ <import addon="plugin.video.youtube" version="1.8.1"/>
+ </requires>
+ <extension point="xbmc.python.pluginsource"
+ library="default.py">
+ <provides>audio video</provides>
+ </extension>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Play Karaoke videos from KaraokePlay.com</summary>
+ <description lang="en">KaraokePlay has thousands of karaoke videos
from youtube indexed. This allows you to browse and play them from
xbmc.</description>
+ <platform>all</platform>
+ </extension>
+</addon>
</addons>
=======================================
--- /addons/addons.xml.md5 Fri Nov 18 23:29:48 2011
+++ /addons/addons.xml.md5 Thu Jan 26 13:23:52 2012
@@ -1,1 +1,1 @@
-44fd9a35df26d0490f43e5c70acfbb0f
+8f8c8b4e2f6df5130a0b1481e8d5a44f
Reply all
Reply to author
Forward
0 new messages