Files
xstreamDownloader/xstream/resources/lib/gui/__pycache__/guiElement.cpython-311.pyc
T

96 lines
23 KiB
Plaintext
Raw Normal View History

2026-07-06 14:27:51 +02:00
§
ˆJj:ãóTddlmZmZddlmZddlmZddlmZGdd¦«Z dS)é)ÚcParserÚcUtil)ÚcConfig)Úlogger)Úpathc ó˜eZdZdZdZeje¦« d¦«d¦«Z gd¢Z
d7de d e d
e d dfd Z d
Z
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd „Z d!„Z!d"„Z"d#„Z#d$„Z$d%„Z%d&„Z&d'„Z'd(„Z(d)„Z)d*„Z*d+„Z+d,„Z,d-„Z-d.„Z.d/„Z/d0„Z0d1„Z1d2„Z2d3„Z3e4d4„¦«Z5d8d6„Z6dS)9Ú cGuiElementaÙ
This class "abstracts" a xbmc listitem.
Kwargs:
sTitle (str): title/label oft the GuiElement/listitem
sSite (str): siteidentifier of the siteplugin, which is called if the GuiElement is selected
sFunction (str): name of the function, which is called if the GuiElement is selected
These arguments are mandatory. If not given on init, they have to be set by their setter-methods, before the GuiElement is added to the Gui.
zDefaultFolder.pngrz
fanart.jpg)ÚmovieÚtvshowÚseasonÚepisodeÚsTitleÚsSiteÚ sFunctionÚreturncóŽd|_d|_tj|¦«|_d|_d|_d|_|j|_ i|_
i|_ g|_ |j
|_||_||_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)videorF)Ú_cGuiElement__sTypeÚ_cGuiElement__sMediaUrlrÚ cleanse_textÚ_cGuiElement__sTitleÚ_cGuiElement__sTitleSecondÚ_cGuiElement__sDescriptionÚ_cGuiElement__sThumbnailÚDEFAULT_FOLDER_ICONÚ_cGuiElement__sIconÚ_cGuiElement__aItemValuesÚ_cGuiElement__aPropertiesÚ_cGuiElement__aContextElementsÚDEFAULT_FANARTÚ_cGuiElement__sFanartÚ_cGuiElement__sSiteNameÚ_cGuiElement__sFunctionNameÚ
_sLanguageÚ
_sSubLanguageÚ_sYearÚ _sQualityÚ_sInfoÚ
_mediaTypeÚ_seasonÚ_episodeÚ_tmdbIDÚ_ratingÚ
_isMetaSet)Úselfrrrs ú`/home/matthiasberner/Schreibtisch/kodi/xstreamDownloader/xstream/resources/lib/gui/guiElement.pyÚ__init__zcGuiElement.__init__؈Œ ؈ÔÝÔ*¨6ÑŒ
Ø ˆÔØ ˆÔØˆÔØÔŒ ØˆÔØˆÔØ"$ˆÔØÔŒØ ˆÔØÔ؈ŒØˆÔ؈Œ ؈ŒØˆŒ ؈ŒØˆŒ ؈Œ
؈Œ ؈Œ ؈Œˆˆócó||_dS©r)r0ÚsTypes r1ÚsetTypezcGuiElement.setType0ó
؈Œ ˆ ˆ r3có|jSr5r6©r0s r1ÚgetTypezcGuiElement.getType3ó
ØŒ|Ðr3có||_dSr5©r)r0Ú sMediaUrls r1Ú setMediaUrlzcGuiElement.setMediaUrl6óØ$ˆÔÐÐr3có|jSr5r?r;s r1Ú getMediaUrlzcGuiElement.getMediaUrl9ó ØÔÐr3có||_dSr5©r#)r0Ú sSiteNames r1Ú setSiteNamezcGuiElement.setSiteName<rBr3có|jSr5rGr;s r1Ú getSiteNamezcGuiElement.getSiteName?rEr3có||_dSr5©r$)r0Ú
sFunctionNames r1Ú setFunctionzcGuiElement.setFunctionBsØ,ˆÔÐÐr3có|jSr5rMr;s r1Ú getFunctionzcGuiElement.getFunctionEs ØÔ#r3có8tj|¦«|_dSr5)rrr)r0rs r1ÚsetTitlezcGuiElement.setTitleHsÝÔ*¨6ÑŒ
ˆ
ˆ
r3có d|jvs d|jvrStj|jd¦«\}}|r4|dd|_| |dd¦«d|jvs d|jvrStj|jd¦«\}}|r4|dd|_| |dd¦«d |j ¦«vrGtj|jd
¦«\}}|r(|dd|_| d ¦«d |j ¦«vrGtj|jd
¦«\}}|r(|dd|_| d
¦«d|jvr5|j dd¦«|_| d ¦«d|jvr5|j dd¦«|_| d
¦«d|j ¦«vs d|jvrU|j dd¦«|_|j dd¦«|_| d¦«|jr,|j ¦«dz|jzdz|_|j ¦«S)Nz (19z (20z(.*?)\((\d{4})\)réz*19z*20z(.*?)\*(\d{4})\*z *english*z(.*?)\*(.*?)\*ÚENz *deutsch*ÚDEzEnglish:rzDeutsch:z(omu)z*OmU*z(OmU) z(Omu) ÚOmUz)) rrÚparseÚsetYearÚlowerÚ setLanguageÚreplacer'Ústrip)r0ÚisMatchÚaYearÚaLangs r1ÚgetTitlezcGuiElement.getTitleLØ T”]Ð " ´
Ð&=Ð&=Ý$œ]¨4¬=Ð:MÑN‰NˆGð
*Ø % ¨¤ 
Ø ˜U 1œX aœ[Ñ D”MÐ ! U¨d¬mÐ%;Ð%;Ý$œ]¨4¬=Ð:MÑN‰NˆGð
*Ø % ¨¤ 
Ø ˜U 1œX aœ[Ñ ˜$œ-× $œ]¨4¬=Ð:KÑL‰NˆGð
'Ø % ¨¤ 
Ø× Ò  Ñ ˜$œ-× $œ]¨4¬=Ð:KÑL‰NˆGð
'Ø % ¨¤ 
Ø× Ò  Ñ ˜œÐ  œM×1°*¸bÑAˆDŒMØ × Ò ˜ ˜œÐ  œM×1°*¸bÑAˆDŒMØ × Ò ˜ d”m× +¨w¸$¼-Ð/GÐ/GØ œM×1°(¸?ˆDŒMØ œM×1°(¸BÑ?ˆDŒMØ × Ò ˜UÑ Œ;Ь
×(;Ò(;Ñ(=Ô(=ÀÑ(DÀtÄ{Ñ(RÐUXÑ(X˜œ
ØŒ}×$r3có¤| ¦«}||jvr ||_dStjd| ¦«z¦«dS)z|
Set mediatype for GuiElement
Args:
mediaType(str): 'movie'/'tvshow'/'season'/'episode'
zUnknown MediaType given for %sN)r\Ú MEDIA_TYPESr*rÚerrorrc)r0Ú mediaTypes r1Ú setMediaTypezcGuiElement.setMediaTypeosPð —O’OÑ%ˆ Ø ˜Ô 'ˆDŒOˆOˆ ŒLÐ9¸D¿MºM¹O¼OÑ Lr3cóB||_t|¦«|jd<dS)Nr )r+Ústrr)r0r s r1Ú setSeasonzcGuiElement.setSeason{s"؈Œ Ý'*¨6¡{¤{ˆÔ˜$r3cóB||_t|¦«|jd<dS)Nr
)r,rjr)r0r
s r1Ú
setEpisodezcGuiElement.setEpisodes"؈Œ
Ý(+¨G© ¬ ˆÔ˜9Ñ%r3có4t|¦«|jd<dS) TVShowTitle)rjr)r0Ú tvShowTitles r1ÚsetTVShowTitlezcGuiElement.setTVShowTitleƒsÝ,/° Ñ,<Ô,<ˆÔ˜)r3c
óú t|¦«}n1#tjd| ¦«z¦«YdSxYwt t |¦«¦«dkrItjd| ¦«dt t |¦«¦«d¦«dS|dkr t |¦«|_||jd<d Stjd
| ¦«z¦«dS) Nz0Year given for %s seems not to be a valid numberFézYear given for z has z digits, required 4 digitsrÚyearTz(Year given for %s must be greater than 0)ÚintrrfrcÚlenrjr'r)r0rts r1r[zcGuiElement.setYear†ð Ýt‘9”9ˆDˆDøð Ý ŒLÐKÈdÏmÊmÉoÌoÑ 55øøøÝ s4‰yŒy‰>Œ>˜ Ð Ý ŒLˆLÐQU×Q^ÒQ^ÑQ`ÔQ`ÐQ`ÐQ`ÕbeÕfiÐjnÑfoÔfoÑbpÔbpÐbpÐbpÐ  !Š8ˆ˜d™)œ)ˆDŒKØ)-ˆ ˜  ŒLÐCÀdÇmÂmÁoÄoÑ 5s +Acó„ d|vr d|_dSd|vr d|_dSd|vr d|_dSd|vr d|_dSd |vr d
|_dSd |vr d |_dSd
|vr d
|_dSd|vr d|_dSd|vr d|_dSd|vr d|_dSd|vr d|_dSd|vr d|_dSd|vr d|_dSd|vr d|_dSdS#YdSxYw)2160z4K 2160pÚ1440z2K 1440pÚ1080zHD 1080pÚ720zHD 720pÚ480zSD 480pÚ360zSD 360pÚHDÚBDRipzBD RipÚWEBRipzWEB RipzTS.MDzTS MiczMD.TSzTS.LDzTS LinezLD.TSÚTS©r()r0Úqualitys r1Ú
setQualityzcGuiElement.setQuality—sNð Ø˜Ð Ð Ø!+ؘ"Ø!+ؘ"Ø!+ؘ!Ø!*ؘ!Ø!*ؘ!Ø!*ؘØ!%ؘGÐ#Ø!)ؘWÐ$Ø!*ؘGÐ#Ø!)ؘGÐ#Ø!)ؘGÐ#Ø!*ؘGÐ#Ø!*ؘØ!%ð!øð Ø ˆDˆDøøøsU B: B:œ B:© B: B:Á B:Á B:Á B:Á* B:Á7 B: B: B: B:Â+ B:Â:B?có|jSr5rr;s r1Ú
getQualityzcGuiElement.getQuality¹ó
ØŒ~Ðr3có||_dSr5©r))r0Úinfos r1ÚsetInfozcGuiElement.setInfo¼s
؈Œ ˆ ˆ r3có|jSr5r‰r;s r1ÚgetInfozcGuiElement.getInfo¿s
ØŒ{Ðr3cóRtjt|¦«¦«|_dSr5)rrrjr)r0Ú sTitleSeconds r1ÚsetTitleSecondzcGuiElement.setTitleSecondÂs#ݰ\Ñ1BÔ1BÑCˆÔÐÐr3có|jSr5)rr;s r1ÚgetTitleSecondzcGuiElement.getTitleSecondÅs ØÔ"r3cóPtj|¦«}||_||jd<dS©plot)rrrr)r0Ú sDescriptions r1ÚsetDescriptionzcGuiElement.setDescriptionÈs-ÝÔ)¨,Ñ ØÔØ%1ˆÔ˜"r3có<d|jvr|jS|jdSr”)rrr;s r1ÚgetDescriptionzcGuiElement.getDescriptionÍs'Ø ˜Ô Ô Ô%  -r3cób||_ | d¦«r ||_dSdS#YdSxYw)http)rÚ
startswithr")r0Ú
sThumbnails r1Ú setThumbnailzcGuiElement.setThumbnailÓsJØ&ˆÔð Ø×$ VÑ
,Ø!+ð

,øð Ø ˆDˆDøøøs)©.có|jSr5)rr;s r1Ú getThumbnailzcGuiElement.getThumbnailÚs ØÔ Ð r3có||_dSr5©r)r0ÚsIcons r1ÚsetIconzcGuiElement.setIconÝr9r3có|jSr5r;s r1ÚgetIconzcGuiElement.getIconàr=r3có||_dSr5©r")r0ÚsFanarts r1Ú setFanartzcGuiElement.setFanartãs
Ø ˆŒˆˆr3có|jSr5r;s r1Ú getFanartzcGuiElement.getFanartær‡r3có||j|<dSr5©r)r0ÚsItemKeyÚ
sItemValues r1Ú addItemValuezcGuiElement.addItemValueésØ'1ˆÔ˜$r3có||_dSr5)r0Ú
aValueLists r1Ú
setItemValueszcGuiElement.setItemValuesìsØ'ˆÔÐÐr3có
| ¦«|jd<| ¦«r| ¦«|jd<|j ¦«D]}|j||j|<Œ|jS)titler•)rcrr™rÚkeys)r0Ú sPropertyKeys r1Ú
getItemValueszcGuiElement.getItemValuesïs…Ø&*§m¢m¡o¤oˆÔ˜7Ñ × Ò Ñ Ô ð ?Ø)-×)<Ò)<Ñ)>Ô)>ˆ ˜  Ô.× Pð PˆLØ/3Ô/AÀ,Ô/Oˆ ˜ Ô!r3có||j|<dSr5)r)r0r¸ÚsPropertyValues r1ÚaddItemPropertieszcGuiElement.addItemPropertiesøsØ+9ˆÔ˜(r3cóÀ|j ¦«D]>}|j|dks+ t|j|¦«|j|<Œ7#YŒ;xYwŒ?|jS)Nr)rrjr)r0Ú
sItemValueKeys r1ÚgetItemPropertieszcGuiElement.getItemPropertiesûsvØ/× ð ˆMØÔ% mÔÒÝ8;¸DÔ<NÈ}Ô<]Ñ8^Ô8^& 5øðØDøøøð 
Ô!s ®"AÁAcó:|j |¦«dSr5)r Úappend)r0ÚoContextElements r1ÚaddContextItemzcGuiElement.addContextItemsØ Ô×& Ñ7r3có|jSr5)r r;s r1ÚgetContextItemszcGuiElement.getContextItemss ØÔ&r3có.t|¦«|_dSr5)rjr%©r0ÚsLangs r1r]zcGuiElement.setLanguage
sݘe™*œ*ˆŒˆˆr3có.t|¦«|_dSr5)rjr&s r1ÚsetSubLanguagezcGuiElement.setSubLanguage
sÝ  ™ZœZˆÔÐÐr3c ófid|jd|jd|jd|jd|jd|jd|jd|jd |jd
gd |j d |j
d
|j d|j d|j
d|jd|j|j|j|j|j|j|j|jdœ¥S)z6Serialize this GuiElement to a plain dict for caching.r7r@rrrrÚ aItemValuesÚ aPropertiesÚaContextElementsr©rHrNÚ sLanguageÚ sSubLanguageÚsYearÚsQuality)ÚsInforgr r
ÚtmdbIDÚratingÚ isMetaSet)rrrrrrrrrr"r#r$r%r&r'r(r)r*r+r,r-r.r/r;s r1Úto_dictzcGuiElement.to_dicts1ð
Ø T”\ð
à ˜Ô
ð
d”mð
ð
˜
ð
˜ 
ð
˜

ð
T”\ð
ð