Código
if 64 - 64: i11iIiiIii import cPickle as pickle import urllib , urllib2 , re , xbmcplugin , xbmcgui , xbmcaddon , xbmc import weblogin , gethtml , os , shutil , zipfile , commands , sys from urllib2 import Request , urlopen , URLError , HTTPError from xml . dom . minidom import parseString if 65 - 65: O0 / iIii1I11I1II1 % OoooooooOO - i1IIi if 73 - 73: II111iiii if 22 - 22: I1IiiI * Oo0Ooo / OoO0O00 . OoOoOO00 . o0oOOo0O0Ooo / I1ii11iIi11i if 48 - 48: oO0o / OOooOOo / I11i / Ii1I IiiIII111iI = "2.06" if 34 - 34: iii1I1I / O00oOoOoO0o0O . O0oo0OO0 + Oo0ooO0oo0oO . OoO0O00 - I1ii11iIi11i if 53 - 53: I11i / Oo0Ooo / II111iiii % Ii1I / OoOoOO00 . Oo0ooO0oo0oO if 100 - 100: i1IIi if 27 - 27: O00oOoOoO0o0O * OoooooooOO + I11i * Oo0ooO0oo0oO - i11iIiiIii - iii1I1I IiiiIiI1iIiI1 = 10 if 85 - 85: OoO0O00 class iIi1IIii11I ( xbmcgui . Window ) : if 84 - 84: iIii1I11I1II1 . O00oOoOoO0o0O / O00oOoOoO0o0O % O00oOoOoO0o0O def __init__ ( self ) : pass if 22 - 22: Ii1I . O00oOoOoO0o0O def setupScreen ( self ) : if 41 - 41: O0oo0OO0 . Oo0ooO0oo0oO * O00oOoOoO0o0O % i11iIiiIii self . backgroundImage = xbmcgui . ControlImage ( 0 , 0 , self . width , self . height , self . skin , aspectRatio = 0 ) self . addControl ( self . backgroundImage ) self . posterImage = xbmcgui . ControlImage ( self . porcentaje ( 5 , self . x ) , self . porcentaje ( 10 , self . y ) , self . porcentaje ( 30 , self . x ) , self . porcentaje ( 70 , self . y ) , self . poster , aspectRatio = 2 ) self . addControl ( self . posterImage ) if 74 - 74: iii1I1I * O00oOoOoO0o0O self . label1 = xbmcgui . ControlLabel ( self . porcentaje ( 40 , self . x ) , self . porcentaje ( 10 , self . y ) , self . porcentaje ( 50 , self . x ) , self . porcentaje ( 10 , self . y ) , '' , font = 'font30' , alignment = 2 ) self . addControl ( self . label1 ) self . label1 . setLabel ( self . textLabel1 ) if 82 - 82: iIii1I11I1II1 % O00oOoOoO0o0O self . label2 = xbmcgui . ControlLabel ( self . porcentaje ( 40 , self . x ) , self . porcentaje ( 20 , self . y ) , self . porcentaje ( 60 , self . x ) , self . porcentaje ( 30 , self . y ) , '' , 'font13' ) self . addControl ( self . label2 ) self . label2 . setLabel ( self . textLabel2 ) if 86 - 86: OoOoOO00 % I1IiiI self . buttonEsc = xbmcgui . ControlButton ( 0 , 0 , self . porcentaje ( 7 , self . x ) , self . porcentaje ( 7 , self . y ) , 'ESC' , font = 'font13' , alignment = 2 ) self . addControl ( self . buttonEsc ) if 80 - 80: OoooooooOO . I1IiiI self . imageStar = xbmcgui . ControlImage ( self . porcentaje ( 40 , self . x ) , self . porcentaje ( 66 , self . y ) , self . porcentaje ( 4 , self . x ) , self . porcentaje ( 7 , self . y ) , self . favoritoStar , aspectRatio = 2 ) self . addControl ( self . imageStar ) if 87 - 87: oO0o / Oo0ooO0oo0oO + O0oo0OO0 - Oo0ooO0oo0oO . Oo0ooO0oo0oO / II111iiii self . buttonFav = xbmcgui . ControlButton ( self . porcentaje ( 45 , self . x ) , self . porcentaje ( 66 , self . y ) , self . porcentaje ( 15 , self . x ) , self . porcentaje ( 7 , self . y ) , 'Favoritos' , font = 'font30' , alignment = 2 ) self . addControl ( self . buttonFav ) if 11 - 11: I1IiiI % o0oOOo0O0Ooo - Oo0Ooo self . buttonPlay = xbmcgui . ControlButton ( self . porcentaje ( 70 , self . x ) , self . porcentaje ( ( 40 + ( 2 * self . synopsisLines ) ) , self . y ) , self . porcentaje ( 15 , self . x ) , self . porcentaje ( 7 , self . y ) , 'Play' , font = 'font30' , alignment = 2 ) self . addControl ( self . buttonPlay ) self . setFocus ( self . buttonPlay ) if 58 - 58: i11iIiiIii % O0oo0OO0 self . clock = xbmcgui . ControlLabel ( self . porcentaje ( 84 , self . x ) , self . porcentaje ( 1 , self . y ) , self . porcentaje ( 20 , self . x ) , self . porcentaje ( 10 , self . y ) , '' , font = 'font30' , alignment = 2 ) self . addControl ( self . clock ) self . clock . setLabel ( '$INFO[System.Time]' ) if 54 - 54: OOooOOo % O0 + I1IiiI - iii1I1I / I11i xbmc . executebuiltin ( 'Action(back)' ) if 31 - 31: OoO0O00 + II111iiii def variables ( self , a , b , c , d ) : if 13 - 13: OOooOOo * oO0o * I1IiiI self . deviceRunning = d if 55 - 55: II111iiii if self . deviceRunning == chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 ) : self . width = 1280 self . height = 720 else : self . height = self . getHeight ( ) self . width = self . getWidth ( ) if 43 - 43: OoOoOO00 - i1IIi + O0oo0OO0 + Ii1I self . x = self . width self . y = self . height print "Height = " + str ( self . height ) print "Width = " + str ( self . width ) if 17 - 17: o0oOOo0O0Ooo self . url = o00ooooO0oO self . movie = a self . realUrl = b self . poster = c self . data = oOoOo00oOo if 96 - 96: i1IIi . OoOoOO00 * OOooOOo % Oo0ooO0oo0oO self . star = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/star_favorite.png" self . starEmpty = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/star_favorite_empty.png" if 77 - 77: II111iiii - II111iiii . I1IiiI / o0oOOo0O0Ooo if "redirect.php" in self . url : self . seriePosicion = self . url . find ( 'opcion=' ) self . serieDelimiter = self . url . find ( ' - ' , self . seriePosicion ) self . serie = self . url [ len ( 'opcion=' ) + self . seriePosicion : self . serieDelimiter ] print "serie: " + self . serie self . synopsis = i1iIIIiI1I ( self . serie , serie = True ) else : self . synopsis = i1iIIIiI1I ( self . movie ) if 70 - 70: Oo0Ooo % Oo0Ooo . O00oOoOoO0o0O % OoO0O00 * o0oOOo0O0Ooo % oO0o self . synopsisLines = self . synopsis . count ( '\n' ) + 1 if 23 - 23: i11iIiiIii + I1IiiI if 68 - 68: OoOoOO00 . oO0o . i11iIiiIii self . skin = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/background.jpg" if 40 - 40: oO0o . OoOoOO00 . Oo0Ooo . i1IIi try : self . data . index ( [ self . movie , self . url , self . poster ] ) self . favoritoStar = self . star except : self . favoritoStar = self . starEmpty if 33 - 33: Ii1I + II111iiii % i11iIiiIii . Oo0ooO0oo0oO - I1IiiI self . textLabel1 = self . movie self . textLabel2 = "Synopsis:\n\n" + self . synopsis if 66 - 66: Ii1I - OoooooooOO * OoooooooOO . OOooOOo . I1ii11iIi11i self . setupScreen ( ) if 22 - 22: OoooooooOO % I11i - iii1I1I . iIii1I11I1II1 * i11iIiiIii def porcentaje ( self , cuanto_porcentaje , height_or_width ) : II1i1Ii11Ii11 = ( height_or_width * cuanto_porcentaje ) / 100 return II1i1Ii11Ii11 if 35 - 35: o0oOOo0O0Ooo + iii1I1I + iii1I1I def onAction ( self , action ) : if 11 - 11: iii1I1I - OoO0O00 % Oo0ooO0oo0oO % iii1I1I / OoOoOO00 - OoO0O00 if 74 - 74: iii1I1I * O0 if action == IiiiIiI1iIiI1 : self . close ( ) if action == 92 : print "back" self . close ( ) if action == 1 : print "move left action.." self . setFocus ( self . buttonFav ) if action == 2 : print "move right action.." self . setFocus ( self . buttonPlay ) if action == 3 : print "move up action.." self . setFocus ( self . buttonEsc ) if action == 4 : print "move down action.." self . setFocus ( self . buttonFav ) if 89 - 89: oO0o + Oo0Ooo def onControl ( self , control ) : print "Ejecutando comando.." if control == self . buttonPlay : self . onPlay ( ) if control == self . buttonFav : self . onFavoritos ( ) if control == self . buttonEsc : self . close ( ) if 3 - 3: i1IIi / I1IiiI % I11i * i11iIiiIii / O0 * I11i def onPlay ( self ) : III1ii1iII = xbmcgui . ListItem ( self . movie ) III1ii1iII . setInfo ( 'video' , { 'Title' : self . movie , 'Genre' : 'Science Fiction' } ) xbmc . Player ( xbmc . PLAYER_CORE_MPLAYER ) . play ( self . realUrl , III1ii1iII ) if 54 - 54: I1IiiI % II111iiii % II111iiii def onFavoritos ( self ) : if self . data == '' or self . data == [ ] : self . data = [ ] self . data . append ( [ self . movie , self . url , self . poster ] ) print "*Nuevo Archivo* Agregando a favoritos: " , self . movie self . imageStar . setImage ( self . star ) iI1 ( self . data , True ) else : try : self . data . index ( [ self . movie , self . url , self . poster ] ) self . data . remove ( [ self . movie , self . url , self . poster ] ) self . imageStar . setImage ( self . starEmpty ) iI1 ( self . data , True ) print "Removiendo de favoritos: " + self . movie except : self . data . append ( [ self . movie , self . url , self . poster ] ) self . imageStar . setImage ( self . star ) iI1 ( self . data , True ) print "Agregando a favoritos: " + self . movie if 19 - 19: I11i + Oo0ooO0oo0oO def message ( self , message ) : ooo = xbmcgui . Dialog ( ) ooo . ok ( " Mensaje del Sistema" , message ) if 18 - 18: o0oOOo0O0Ooo if 28 - 28: OOooOOo - O00oOoOoO0o0O . O00oOoOoO0o0O + OoOoOO00 - OoooooooOO + O0 def oOoOooOo0o0 ( theurl , thedir ) : OOOO = os . path . join ( thedir , 'temp.zip' ) try : OOOO , OOO00 = urllib . urlretrieve ( theurl , OOOO ) except IOError , iiiiiIIii : print "Can't retrieve %r to %r: %s" % ( theurl , thedir , iiiiiIIii ) return try : O000OO0 = zipfile . ZipFile ( OOOO ) except zipfile . error , iiiiiIIii : print "Bad zipfile (from %r): %s" % ( theurl , iiiiiIIii ) return for I11iii1Ii in O000OO0 . namelist ( ) : I1IIiiIiii = os . path . join ( thedir , I11iii1Ii ) O000oo0O = os . path . dirname ( I1IIiiIiii ) if not os . path . isdir ( O000oo0O ) : os . makedirs ( O000oo0O ) OOOOi11i1 = O000OO0 . read ( I11iii1Ii ) IIIii1II1II = open ( I1IIiiIiii , 'w' ) IIIii1II1II . write ( OOOOi11i1 ) IIIii1II1II . close ( ) O000OO0 . close ( ) os . unlink ( OOOO ) if 42 - 42: Ii1I + oO0o def o0O0o0Oo ( time_to_wait , title = '' , text = '' ) : return Ii11Ii1I ( time_to_wait , title , text ) if 72 - 72: iii1I1I / i1IIi * Oo0Ooo - O0oo0OO0 def Ii11Ii1I ( time_to_wait , title , text ) : Oo0O0O0ooO0O = IIIIii ( o00ooooO0oO ) print 'esperando ' + str ( time_to_wait ) + ' segs' if 70 - 70: Ii1I / I11i . iii1I1I % Oo0Ooo OOoOO00OOO0OO = xbmcgui . DialogProgress ( ) iI1I111Ii111i = OOoOO00OOO0OO . create ( title ) if 7 - 7: Oo0ooO0oo0oO * OoO0O00 % oO0o . O00oOoOoO0o0O Ii1iIiII1ii1 = 0 ooOooo000oOO = 0 Oo0oOOo = 100 / time_to_wait if 58 - 58: II111iiii * OOooOOo * I1ii11iIi11i / OOooOOo oO0o0OOOO = False while Ii1iIiII1ii1 < time_to_wait : Ii1iIiII1ii1 = Ii1iIiII1ii1 + 1 ooOooo000oOO = Oo0oOOo * Ii1iIiII1ii1 O0O0OoOO0 = str ( ( time_to_wait - Ii1iIiII1ii1 ) ) iiiI1I11i1 = ' Espere ' + O0O0OoOO0 + ' segs descargando video...' OOoOO00OOO0OO . update ( ooOooo000oOO , ' ' + text , iiiI1I11i1 ) xbmc . sleep ( 1000 ) if ( OOoOO00OOO0OO . iscanceled ( ) ) : oO0o0OOOO = True break if 49 - 49: I1IiiI % Oo0ooO0oo0oO . Oo0ooO0oo0oO . I11i * Oo0ooO0oo0oO if oO0o0OOOO == True : print 'espera cancelada' return False else : print 'Fin de la espera' return True if 97 - 97: Ii1I + o0oOOo0O0Ooo . OOooOOo + I1ii11iIi11i % iii1I1I if 95 - 95: i1IIi def I1ii11iI ( ) : if 14 - 14: OoOoOO00 / O00oOoOoO0o0O . OoOoOO00 . I11i % OoO0O00 * I11i if iII == None and oO00o0 == None : OOoo0O = False if os . path . exists ( Oo0ooOo0o ) : os . remove ( Oo0ooOo0o ) return OOoo0O elif iII != None and oO00o0 != None : Ii1i1 = weblogin . doLogin ( iiIii , iII , oO00o0 ) if Ii1i1 == False : ooo = xbmcgui . Dialog ( ) ooo . ok ( " Opciones avanzadas" , "Los parametros incorrectos.." ) OOoo0O = True return OOoo0O if 79 - 79: OoooooooOO / O0 def IIIIii ( url ) : OO0OoO0o00 = ooOO0O0ooOooO oOOOo00O00oOo = iiIIIi ooo00OOOooO = urllib2 . HTTPPasswordMgrWithDefaultRealm ( ) ooo00OOOooO . add_password ( None , url , OO0OoO0o00 , oOOOo00O00oOo ) O00OOOoOoo0O = urllib2 . HTTPBasicAuthHandler ( ooo00OOOooO ) O000OOo00oo = urllib2 . build_opener ( O00OOOoOoo0O ) return O000OOo00oo if 71 - 71: i11iIiiIii + O00oOoOoO0o0O def oOo ( url ) : oOO00Oo = 1 if chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 1 return oOO00Oo if chr ( 97 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) + chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 1 return oOO00Oo elif "abrirSettings" in url : oOO00Oo = 6 return oOO00Oo elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 1 return oOO00Oo elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 1 return oOO00Oo elif chr ( 116 ) + chr ( 101 ) + chr ( 109 ) + chr ( 112 ) + chr ( 111 ) + chr ( 114 ) + chr ( 97 ) + chr ( 100 ) + chr ( 97 ) + chr ( 115 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 1 return oOO00Oo elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 99 ) + chr ( 97 ) + chr ( 112 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 2 return oOO00Oo elif chr ( 108 ) + chr ( 105 ) + chr ( 115 ) + chr ( 116 ) + chr ( 97 ) + chr ( 100 ) + chr ( 111 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 2 return oOO00Oo elif chr ( 97 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) + chr ( 108 ) + chr ( 105 ) + chr ( 115 ) + chr ( 116 ) + chr ( 97 ) + chr ( 100 ) + chr ( 111 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 2 return oOO00Oo elif chr ( 116 ) + chr ( 118 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url : oOO00Oo = 8 return oOO00Oo elif "getServices?ref=1:0:" in url : oOO00Oo = 5 return oOO00Oo elif "getServices?ref=" in url : oOO00Oo = 4 return oOO00Oo elif "zapTo?path=" in url : oOO00Oo = 5 return oOO00Oo if 6 - 6: oO0o def oOOo0oOo0 ( source ) : II = '<a id="download_button" href="(.+?)"' return II if 60 - 60: I1IiiI if 22 - 22: II111iiii def iiI1I11i1i ( upmega ) : if 2 - 2: I1ii11iIi11i * I11i - iIii1I11I1II1 + I1IiiI . oO0o % iii1I1I ooOOOoOooOoO = o00oooO0Oo ( ) o0O0OOO0Ooo = iiIiI ( ) if 6 - 6: O00oOoOoO0o0O . oO0o * OoOoOO00 - Ii1I - O00oOoOoO0o0O if 45 - 45: I1IiiI - OoooooooOO + iIii1I11I1II1 . I1IiiI * I11i print "Version Xbmc:" , type ( o0O0OOO0Ooo ) , o0O0OOO0Ooo oOOO ( chr ( 80 ) + chr ( 101 ) + chr ( 108 ) + chr ( 105 ) + chr ( 99 ) + chr ( 117 ) + chr ( 108 ) + chr ( 97 ) + chr ( 115 ) , iIII1 + chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" ) oOOO ( chr ( 83 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) , iIII1 + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" ) if o0o == "1" : oOOO ( chr ( 65 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) , iIII1 + chr ( 97 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) + chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" ) if O0OOoO00OO0o != chr ( 110 ) + chr ( 111 ) + chr ( 32 ) + chr ( 101 ) + chr ( 110 ) + chr ( 99 ) + chr ( 111 ) + chr ( 110 ) + chr ( 116 ) + chr ( 114 ) + chr ( 97 ) + chr ( 100 ) + chr ( 111 ) : oOOO ( chr ( 84 ) + chr ( 86 ) + chr ( 32 ) + chr ( 101 ) + chr ( 110 ) + chr ( 32 ) + chr ( 86 ) + chr ( 105 ) + chr ( 118 ) + chr ( 111 ) , iIII1 + chr ( 116 ) + chr ( 118 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" ) if I1111IIIIIi == "1" : oOOO ( chr ( 86 ) + chr ( 101 ) + chr ( 114 ) + chr ( 32 ) + chr ( 68 ) + chr ( 105 ) + chr ( 115 ) + chr ( 104 ) , "http://" + Iiii1i1 + "/cgi-bin/getServices?ref=0" , 4 , "" ) if o0O0OOO0Ooo >= '12.0' : oOOO ( chr ( 77 ) + chr ( 105 ) + chr ( 115 ) + chr ( 32 ) + chr ( 70 ) + chr ( 97 ) + chr ( 118 ) + chr ( 111 ) + chr ( 114 ) + chr ( 105 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) , iIII1 , 6 , "" ) oOOO ( chr ( 83 ) + chr ( 101 ) + chr ( 116 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 103 ) + chr ( 115 ) , chr ( 97 ) + chr ( 98 ) + chr ( 114 ) + chr ( 105 ) + chr ( 114 ) + chr ( 83 ) + chr ( 101 ) + chr ( 116 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 103 ) + chr ( 115 ) , 7 , "" ) if 84 - 84: I1IiiI . iIii1I11I1II1 % OoooooooOO + Ii1I % OoooooooOO % OoO0O00 def IIi1 ( url ) : try : ooOOOoOooOoO = o00oooO0Oo ( ) url = url . replace ( ' ' , '%20' ) url = url + chr ( 63 ) + chr ( 117 ) + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + ooOO0O0ooOooO url = url + chr ( 38 ) + chr ( 107 ) + chr ( 61 ) + ooOOOoOooOoO oOO00Oo = oOo ( url ) Oo0O0O0ooO0O = IIIIii ( url ) Oo0O0O0ooO0O . addheaders = [ ( 'User-Agent' , 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3' ) ] I1I1I = Oo0O0O0ooO0O . open ( url ) I1I1I = I1I1I . read ( ) OoOO000 = re . compile ( 'Title: <a href="(.+?)">(.+?)</a> <a href="(.+?)">.+?</a><br>' ) . findall ( I1I1I ) for url , OOOO , i1Ii11i1i in OoOO000 : url = url + chr ( 38 ) + chr ( 117 ) + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + ooOO0O0ooOooO url = url + chr ( 38 ) + chr ( 107 ) + chr ( 61 ) + ooOOOoOooOoO url = url + chr ( 38 ) + chr ( 112 ) + chr ( 111 ) + chr ( 115 ) + chr ( 116 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + i1Ii11i1i OOOO = OOOO . decode ( 'latin-1' ) OOOO = OOOO . encode ( 'utf-8' ) oOOO ( OOOO , url , oOO00Oo , i1Ii11i1i ) except URLError , iiiiiIIii : print iiiiiIIii . code if iiiiiIIii . code == 401 : ooo = xbmcgui . Dialog ( ) ooo . ok ( " Servicio Expirado" , "Tu cuenta " + ooOO0O0ooOooO + " a vencido, por favor Renueva." ) print "Tu cuenta esta vencida" if 91 - 91: OoO0O00 def oOooOo0 ( url , name ) : try : url = url . replace ( ' ' , '%20' ) i1I1ii11i1Iii = url I1IiiiiI = i1I1ii11i1Iii . split ( 'poster=' ) II1i1Ii11Ii11 = '/' . join ( I1IiiiiI [ 1 : ] ) o0O = gethtml . get ( url , ooOO0O0ooOooO , iiIIIi , Oo0ooOo0o ) II = oOOo0oOo0 ( o0O ) OoOO000 = re . compile ( II ) . findall ( o0O ) o0O0OOO0Ooo = iiIiI ( ) if o0O0OOO0Ooo >= '12.0' : for url in OoOO000 : if 2 - 2: iIii1I11I1II1 / oO0o + OoO0O00 / OOooOOo IIOOOO0oo0 = url if 35 - 35: Ii1I - I1IiiI % o0oOOo0O0Ooo . OoooooooOO % Ii1I I1i1Iiiii = name OOo0oO00ooO00 = II1i1Ii11Ii11 oOO0O00oO0Ooo = oO0Oo0O0o ( i1I1ii11i1Iii ) OO = iIi1IIii11I ( ) OO . variables ( I1i1Iiiii , IIOOOO0oo0 , OOo0oO00ooO00 , oOO0O00oO0Ooo ) OO . doModal ( ) del OO else : for url in OoOO000 : I1iI1ii1II ( name , url , II1i1Ii11Ii11 ) except URLError , iiiiiIIii : print iiiiiIIii . code if iiiiiIIii . code == 401 : ooo = xbmcgui . Dialog ( ) ooo . ok ( " Servicio Expirado" , "Tu cuenta " + ooOO0O0ooOooO + " a vencido, por favor Renueva." ) print "Tu cuenta esta vencida" if 57 - 57: O0oo0OO0 % Ii1I + o0oOOo0O0Ooo - Oo0Ooo def o0OIiI1i ( name , url ) : o0Oo00 = 0 oOO00Oo = oOo ( url ) I1I1I = urllib . urlopen ( url ) I1I1I = I1I1I . readlines ( ) for iI in I1I1I : O0O0Oooo0o = I1I1I [ o0Oo00 ] . find ( ';' ) oOOoo00O00o = I1I1I [ o0Oo00 ] . find ( ';' , O0O0Oooo0o + 1 ) O0O00Oo = I1I1I [ o0Oo00 ] [ O0O0Oooo0o + 1 : oOOoo00O00o ] name = O0O00Oo oOO00Oo = oOo ( url ) if oOO00Oo == 5 : oooooo0O000o = "http://" + Iiii1i1 + "/cgi-bin/zapTo?path=" else : oooooo0O000o = "http://" + Iiii1i1 + "/cgi-bin/getServices?ref=" OoO = I1I1I [ o0Oo00 ] [ : O0O0Oooo0o ] url = oooooo0O000o + OoO o0Oo00 = o0Oo00 + 1 oOOO ( name , url , oOO00Oo , '' ) if 51 - 51: OoooooooOO * OOooOOo def OO0ooOOO0OOO ( url , name , poster ) : I1I1I = urllib . urlopen ( url ) I1I1I = I1I1I . read ( ) oO00oooOOoOo0 ( name , "http://" + Iiii1i1 + ":31344" , '' ) if 74 - 74: iIii1I11I1II1 * I1ii11iIi11i + OoOoOO00 / i1IIi / II111iiii . Oo0Ooo def oooOo0OOOoo0 ( channel_name ) : if 51 - 51: Oo0Ooo / OoOoOO00 . OOooOOo * o0oOOo0O0Ooo + OoO0O00 * O00oOoOoO0o0O OOOoOo = chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 119 ) + chr ( 119 ) + chr ( 119 ) + chr ( 46 ) + chr ( 106 ) + chr ( 117 ) + chr ( 115 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 46 ) + chr ( 116 ) + chr ( 118 ) + chr ( 47 ) + chr ( 119 ) + chr ( 105 ) + chr ( 100 ) + chr ( 103 ) + chr ( 101 ) + chr ( 116 ) + chr ( 115 ) + chr ( 47 ) + chr ( 108 ) + chr ( 105 ) + chr ( 118 ) + chr ( 101 ) + chr ( 95 ) + chr ( 101 ) + chr ( 109 ) + chr ( 98 ) + chr ( 101 ) + chr ( 100 ) + chr ( 95 ) + chr ( 112 ) + chr ( 108 ) + chr ( 97 ) + chr ( 121 ) + chr ( 101 ) + chr ( 114 ) + chr ( 46 ) + chr ( 115 ) + chr ( 119 ) + chr ( 102 ) + chr ( 63 ) + chr ( 99 ) + chr ( 104 ) + chr ( 97 ) + chr ( 110 ) + chr ( 110 ) + chr ( 101 ) + chr ( 108 ) + '=%s' % channel_name O00o0 = { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0' , 'Referer' : chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 119 ) + chr ( 119 ) + chr ( 119 ) + chr ( 46 ) + chr ( 106 ) + chr ( 117 ) + chr ( 115 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 46 ) + chr ( 116 ) + chr ( 118 ) + chr ( 47 ) + channel_name } Oo0O0O0ooO0O = urllib2 . Request ( OOOoOo , None , O00o0 ) I11iII = urllib2 . urlopen ( Oo0O0O0ooO0O ) return I11iII . geturl ( ) if 5 - 5: I1IiiI def iIiIi11iI ( name , url ) : if 83 - 83: II111iiii % Oo0Ooo % Oo0ooO0oo0oO % I1ii11iIi11i if 80 - 80: i11iIiiIii % Oo0ooO0oo0oO + Ii1I % I11i - I1ii11iIi11i if 18 - 18: iii1I1I - OOooOOo . O0oo0OO0 . iIii1I11I1II1 if 2 - 2: OOooOOo . OoO0O00 if 78 - 78: I11i * iIii1I11I1II1 . I1IiiI / o0oOOo0O0Ooo - OoooooooOO / O0oo0OO0 if 35 - 35: I11i % OOooOOo - oO0o if 20 - 20: i1IIi - Oo0ooO0oo0oO Oo0O0O0ooO0O = IIIIii ( url ) Oo0O0O0ooO0O . addheaders = [ ( 'User-Agent' , 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3' ) ] I1I1I = Oo0O0O0ooO0O . open ( url ) I1I1I = I1I1I . read ( ) if 'feed = ' in I1I1I : i1iI = I1I1I . find ( 'feed = ' ) Oo0O0 = I1I1I [ len ( 'feed = ' ) + i1iI : I1I1I . find ( '<br>' ) ] I1iI1ii1II ( name , Oo0O0 . decode ( 'base64' , 'strict' ) , 'none' ) else : i1iI = I1I1I . find ( 'SwfAddress = ' ) Ooo0OOoOoO0 = I1I1I [ len ( 'SwfAddress = ' ) + i1iI : I1I1I . find ( '<br>' ) ] i1iI = I1I1I . find ( 'WebAccess = ' ) oOo0OOoO0 = I1I1I [ len ( 'WebAccess = ' ) + i1iI : I1I1I . find ( '<br>' , i1iI ) ] i1iI = I1I1I . find ( 'Code = ' ) IIo0Oo0oO0oOO00 = I1I1I [ len ( 'Code = ' ) + i1iI : I1I1I . find ( '<br>' , i1iI ) ] if 92 - 92: OoooooooOO * O0oo0OO0 I11iII = urllib2 . urlopen ( oOo0OOoO0 . decode ( 'base64' , 'strict' ) ) o0000oO = I11iII . read ( ) if 11 - 11: Oo0ooO0oo0oO / OoOoOO00 - O00oOoOoO0o0O * OoooooooOO + OoooooooOO . OoOoOO00 i1I1i111Ii = parseString ( o0000oO ) oooi1i1iI1iiiI = i1I1i111Ii . getElementsByTagName ( 'token' ) [ 0 ] . toxml ( 'utf8' ) oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '<token>' , '' ) . replace ( '</token>' , '' ) oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '&' , '&' ) . replace ( """ , '"' ) . replace ( '<' , '<' ) oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '\\' , '\\5c' ) . replace ( '"' , '\\22' ) . replace ( ' ' , '\\20' ) oooi1i1iI1iiiI = 'jtv=' + oooi1i1iI1iiiI if 51 - 51: I1IiiI % O0oo0OO0 . oO0o / iIii1I11I1II1 / I11i . oO0o IIIii11 = i1I1i111Ii . getElementsByTagName ( 'play' ) [ 0 ] . toxml ( 'utf8' ) IIIii11 = IIIii11 . replace ( '<play>' , '' ) . replace ( '</play>' , '' ) IIIii11 = IIIii11 . replace ( '&' , '&' ) . replace ( """ , '"' ) . replace ( '<' , '<' ) IIIii11 = IIIii11 . replace ( '"' , '\\"' ) IIIii11 = 'playpath=' + IIIii11 if 9 - 9: O0 % O0 - o0oOOo0O0Ooo OoOiiI1IIIi = i1I1i111Ii . getElementsByTagName ( 'connect' ) [ 0 ] . toxml ( 'utf8' ) OoOiiI1IIIi = OoOiiI1IIIi . replace ( '<connect>' , '' ) . replace ( '</connect>' , '' ) OoOiiI1IIIi = OoOiiI1IIIi . replace ( '&' , '&' ) . replace ( """ , '"' ) . replace ( '<' , '<' ) OoOiiI1IIIi = OoOiiI1IIIi . replace ( '"' , '\\"' ) if 47 - 47: Oo0Ooo % I11i % i11iIiiIii - O0 + Oo0ooO0oo0oO I11iII = urllib2 . urlopen ( Ooo0OOoOoO0 . decode ( 'base64' , 'strict' ) ) Ooo0OOoOoO0 = I11iII . geturl ( ) Ooo0OOoOoO0 = 'swfUrl=' + Ooo0OOoOoO0 I1iI1ii1II ( name , OoOiiI1IIIi + ' ' + IIo0Oo0oO0oOO00 . decode ( 'base64' , 'strict' ) + ' ' + Ooo0OOoOoO0 + ' ' + oooi1i1iI1iiiI + ' ' + IIIii11 , 'none' ) if 94 - 94: O0oo0OO0 if 4 - 4: Ii1I % oO0o * OoO0O00 def o0O0OOOOoOO0 ( name = '' , url = '' , mode = 2 , iconimage = '' ) : if oOoOo00oOo == '' or oOoOo00oOo == [ ] : print "Archivo de favoritos en blanco" ooo = xbmcgui . Dialog ( ) ooo . ok ( " Mensaje de Sistema" , "No has agregado nada a favoritos" ) else : for iI in oOoOo00oOo : oOOO ( iI [ 0 ] , iI [ 1 ] , mode , iI [ 2 ] ) if 23 - 23: i11iIiiIii def II1iIi11 ( ) : I11iiii = [ ] O0i1iI = sys . argv [ 2 ] if len ( O0i1iI ) >= 2 : IiI1iiiIii = sys . argv [ 2 ] I1III1111iIi = IiI1iiiIii . replace ( '?' , '' ) if ( IiI1iiiIii [ len ( IiI1iiiIii ) - 1 ] == '/' ) : IiI1iiiIii = IiI1iiiIii [ 0 : len ( IiI1iiiIii ) - 2 ] I1i111I = I1III1111iIi . split ( '&' ) I11iiii = { } for o0Oo00 in range ( len ( I1i111I ) ) : Ooo = { } Ooo = I1i111I [ o0Oo00 ] . split ( '=' ) if ( len ( Ooo ) ) == 2 : I11iiii [ Ooo [ 0 ] ] = Ooo [ 1 ] if 65 - 65: O0 * OoooooooOO % OOooOOo / O00oOoOoO0o0O - Ii1I / I11i return I11iiii if 56 - 56: I1IiiI * i11iIiiIii * O0oo0OO0 if 97 - 97: Oo0ooO0oo0oO if 48 - 48: i1IIi - O0oo0OO0 def I1iI1ii1II ( name , url , iconimage ) : OOOoOO = True I11IIIi = xbmcgui . ListItem ( "Play" , iconImage = "DefaultVideo.png" , thumbnailImage = iconimage ) I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } ) I11IIIi . setProperty ( 'IsPlayable' , 'true' ) OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = url , listitem = I11IIIi ) return OOOoOO if 15 - 15: I1ii11iIi11i * OoO0O00 def oOOO ( name , url , mode , iconimage ) : i1II1i = sys . argv [ 0 ] + "?url=" + urllib . quote_plus ( url ) + "&mode=" + str ( mode ) + "&name=" + urllib . quote_plus ( name ) OOOoOO = True I11IIIi = xbmcgui . ListItem ( name , iconImage = "DefaultFolder.png" , thumbnailImage = iconimage ) I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } ) OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = i1II1i , listitem = I11IIIi , isFolder = True ) return OOOoOO if 83 - 83: OoOoOO00 - Ii1I / I11i / O0oo0OO0 + oO0o - O0 def oO00oooOOoOo0 ( name , url , iconimage ) : OOOoOO = True I11IIIi = xbmcgui . ListItem ( "Ver Dish" , iconImage = "DefaultVideo.png" , thumbnailImage = iconimage ) I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } ) I11IIIi . setProperty ( 'IsPlayable' , 'true' ) OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = url , listitem = I11IIIi ) if 4 - 4: OOooOOo * OoO0O00 % i1IIi * i11iIiiIii % Oo0Ooo - oO0o return OOOoOO if 67 - 67: OoOoOO00 + I1ii11iIi11i . o0oOOo0O0Ooo . II111iiii def i1iIIIiI1I ( movie , serie = False ) : if serie : print "Es serie " + urllib . quote_plus ( movie ) o000ooooO0o = "http://home.humexico.org/vod/synopsis1.php?name=" + urllib . quote_plus ( movie ) else : print "Es pelicula " + urllib . quote_plus ( movie ) o000ooooO0o = "http://home.humexico.org/vod/synopsis.php?name=" + urllib . quote_plus ( movie ) iI1i11 = urllib . urlopen ( o000ooooO0o ) iI1i11 = iI1i11 . read ( ) if len ( iI1i11 ) == 0 : iI1i11 = "Error al cargar synopsis" iI1i11 = iI1i11 . decode ( 'latin-1' ) iI1i11 = iI1i11 . encode ( 'utf-8' ) iI1i11 = OoOOoooOO0O ( iI1i11 , 70 ) return iI1i11 if 86 - 86: o0oOOo0O0Ooo def OoOOoooOO0O ( string , every = 64 ) : II1i1Ii11Ii11 = "" i1Iii11Ii1i1 = True if 59 - 59: Oo0Ooo % OoooooooOO . iii1I1I / O00oOoOoO0o0O + I1IiiI while ( i1Iii11Ii1i1 ) : if not ( len ( string ) > every ) : i1Iii11Ii1i1 = False O0O0Oooo0o = string . find ( ' ' , every ) if O0O0Oooo0o == - 1 : II1i1Ii11Ii11 = II1i1Ii11Ii11 + string i1Iii11Ii1i1 = False else : II1i1Ii11Ii11 = II1i1Ii11Ii11 + string [ 0 : O0O0Oooo0o ] + "\n" string = string [ O0O0Oooo0o + 1 : ] if 76 - 76: Oo0ooO0oo0oO if 73 - 73: O0 * iii1I1I + Ii1I + Oo0ooO0oo0oO return II1i1Ii11Ii11 if 40 - 40: II111iiii . OoOoOO00 * O0oo0OO0 + OOooOOo + OOooOOo def iI1 ( data = '' , abrir = False , archivo = '/tmp/favoritos.dat' ) : if 9 - 9: I11i % OoooooooOO . oO0o % I11i if abrir : OO0O0O00OooO = xbmcaddon . Addon ( ) ii = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/favoritos.dat" for iI in data : iI [ 1 ] = iI [ 1 ] . encode ( 'base64' , 'strict' ) IIIii1II1II = open ( archivo , 'wb' ) if 36 - 36: OoooooooOO . OoO0O00 pickle . dump ( data , IIIii1II1II ) IIIii1II1II . close ( ) for iI in data : iI [ 1 ] = iI [ 1 ] . decode ( 'base64' , 'strict' ) shutil . move ( archivo , ii ) else : try : OO0O0O00OooO = xbmcaddon . Addon ( ) archivo = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/favoritos.dat" print "abriendo archivo: " + archivo IIIii1II1II = open ( archivo , 'rb' ) global oOoOo00oOo oOoOo00oOo = pickle . load ( IIIii1II1II ) for iI in oOoOo00oOo : iI [ 1 ] = iI [ 1 ] . decode ( 'base64' , 'strict' ) IIIii1II1II . close ( ) except : oOoOo00oOo = [ ] print "No existe archivo de favoritos" if 56 - 56: Oo0Ooo . I1ii11iIi11i . I1IiiI def o00oooO0Oo ( ) : print chr ( 112 ) + chr ( 108 ) + chr ( 97 ) + chr ( 116 ) + chr ( 97 ) + chr ( 102 ) + chr ( 111 ) + chr ( 114 ) + chr ( 109 ) + chr ( 97 ) + chr ( 58 ) + chr ( 32 ) + O0OOoO00OO0o if O0OOoO00OO0o == chr ( 97 ) + chr ( 116 ) + chr ( 118 ) : ii111I = chr ( 105 ) + chr ( 102 ) + chr ( 99 ) + chr ( 111 ) + chr ( 110 ) + chr ( 102 ) + chr ( 105 ) + chr ( 103 ) + chr ( 32 ) + chr ( 101 ) + chr ( 110 ) + chr ( 48 ) + chr ( 32 ) + chr ( 124 ) + chr ( 32 ) + chr ( 103 ) + chr ( 114 ) + chr ( 101 ) + chr ( 112 ) + chr ( 32 ) + chr ( 101 ) + chr ( 116 ) + chr ( 104 ) + chr ( 101 ) + chr ( 114 ) + chr ( 32 ) + chr ( 62 ) + chr ( 32 ) + chr ( 47 ) + chr ( 118 ) + chr ( 97 ) + chr ( 114 ) + chr ( 47 ) + chr ( 109 ) + chr ( 111 ) + chr ( 98 ) + chr ( 105 ) + chr ( 108 ) + chr ( 101 ) + chr ( 47 ) + chr ( 109 ) + chr ( 97 ) + chr ( 99 ) + chr ( 46 ) + chr ( 116 ) + chr ( 120 ) + chr ( 116 ) iiI = chr ( 47 ) + chr ( 118 ) + chr ( 97 ) + chr ( 114 ) + chr ( 47 ) + chr ( 109 ) + chr ( 111 ) + chr ( 98 ) + chr ( 105 ) + chr ( 108 ) + chr ( 101 ) + chr ( 47 ) + chr ( 109 ) + chr ( 97 ) + chr ( 99 ) + chr ( 46 ) + chr ( 116 ) + chr ( 120 ) + chr ( 116 ) os . system ( ii111I ) IIIii1II1II = open ( iiI , 'r' ) ooOOOoOooOoO = IIIii1II1II . read ( ) if 7 - 7: OoOoOO00 + II111iiii . i1IIi IIIii1II1II . close ( ) if len ( ooOOOoOooOoO ) == 0 : print chr ( 69 ) + chr ( 115 ) + chr ( 116 ) + chr ( 97 ) + chr ( 32 ) + chr ( 101 ) + chr ( 115 ) + chr ( 32 ) + chr ( 117 ) + chr ( 110 ) + chr ( 97 ) + chr ( 32 ) + chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 ) ooOOOoOooOoO = Ooo0 ( ) ooOOOoOooOoO = ooOOOoOooOoO . replace ( chr ( 97 ) + chr ( 110 ) + chr ( 100 ) + chr ( 114 ) + chr ( 111 ) + chr ( 105 ) + chr ( 100 ) + chr ( 95 ) , chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 ) + chr ( 95 ) ) else : ooOOOoOooOoO = ooOOOoOooOoO . strip ( ) i1iI = ooOOOoOooOoO . rfind ( ' ' ) ooOOOoOooOoO = ooOOOoOooOoO [ i1iI + len ( ' ' ) : ] ooOOOoOooOoO = ooOOOoOooOoO . replace ( ':' , '' ) IiI111ii1ii = chr ( 65 ) + chr ( 112 ) + chr ( 112 ) + chr ( 108 ) + chr ( 101 ) + chr ( 84 ) + chr ( 86 ) + chr ( 95 ) ooOOOoOooOoO = IiI111ii1ii + ooOOOoOooOoO if 97 - 97: OOooOOo / I1ii11iIi11i + Oo0Ooo / Oo0Ooo % I1ii11iIi11i . I1ii11iIi11i elif O0OOoO00OO0o == chr ( 108 ) + chr ( 105 ) + chr ( 110 ) + chr ( 117 ) + chr ( 120 ) : if 55 - 55: Oo0ooO0oo0oO - I11i + II111iiii + iii1I1I % Ii1I iiI11i1II = chr ( 47 ) + chr ( 112 ) + chr ( 114 ) + chr ( 111 ) + chr ( 99 ) + chr ( 47 ) + chr ( 99 ) + chr ( 112 ) + chr ( 117 ) + chr ( 105 ) + chr ( 110 ) + chr ( 102 ) + chr ( 111 ) IIIii1II1II = open ( iiI11i1II , 'r' ) OOOOi11i1 = IIIii1II1II . read ( ) IIIii1II1II . close ( ) if 51 - 51: o0oOOo0O0Ooo % Oo0Ooo % o0oOOo0O0Ooo * O0 - OOooOOo % Oo0Ooo i1iI = OOOOi11i1 . find ( chr ( 83 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 97 ) + chr ( 108 ) ) o0O00OooOOOOO = OOOOi11i1 . find ( ': ' , i1iI ) IIIiiI1i1 = OOOOi11i1 . find ( '\n' , o0O00OooOOOOO ) if 15 - 15: i1IIi + OoOoOO00 if OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] == '000000000000000c' or OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] == '0000000000000000' : ooOOOoOooOoO = Ooo0 ( ) elif OOOOi11i1 . find ( 'ARMv6' ) : IiI111ii1ii = chr ( 114 ) + chr ( 97 ) + chr ( 115 ) + chr ( 112 ) + chr ( 98 ) + chr ( 101 ) + chr ( 114 ) + chr ( 114 ) + chr ( 121 ) + chr ( 95 ) ooOOOoOooOoO = IiI111ii1ii + OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] elif sys . platform == chr ( 119 ) + chr ( 105 ) + chr ( 110 ) + chr ( 51 ) + chr ( 50 ) : import subprocess OO0O0O00OooO = xbmcaddon . Addon ( ) iiI = OO0O0O00OooO . getAddonInfo ( 'path' ) iiI = iiI . replace ( '\\' , '/' ) if 48 - 48: I1IiiI % iii1I1I / iIii1I11I1II1 iiI = iiI + "/syt01" if not os . path . isfile ( iiI ) : print "Downloading requiered file" Oo0oooO0oO = urllib . urlretrieve ( chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 104 ) + chr ( 111 ) + chr ( 109 ) + chr ( 101 ) + chr ( 46 ) + chr ( 104 ) + chr ( 117 ) + chr ( 109 ) + chr ( 101 ) + chr ( 120 ) + chr ( 105 ) + chr ( 99 ) + chr ( 111 ) + chr ( 46 ) + chr ( 111 ) + chr ( 114 ) + chr ( 103 ) + chr ( 47 ) + chr ( 120 ) + chr ( 98 ) + chr ( 109 ) + chr ( 99 ) + chr ( 47 ) + chr ( 115 ) + chr ( 121 ) + chr ( 116 ) + chr ( 48 ) + chr ( 49 ) , iiI ) IiIiII1 = iiI + " " + chr ( 47 ) + chr ( 115 ) + chr ( 121 ) + chr ( 116 ) + chr ( 48 ) + chr ( 49 ) + chr ( 32 ) + chr ( 45 ) + chr ( 115 ) + chr ( 32 ) + chr ( 115 ) + chr ( 121 ) + chr ( 115 ) + chr ( 116 ) + chr ( 101 ) + chr ( 109 ) + chr ( 45 ) + chr ( 117 ) + chr ( 117 ) + chr ( 105 ) + chr ( 100 ) Iii1iiIi1II = None Iii1iiIi1II = subprocess . STARTUPINFO ( ) Iii1iiIi1II . dwFlags = 1 Iii1iiIi1II . wShowWindow = 0 OO0O00oOo = subprocess . Popen ( IiIiII1 . split ( ) , stdout = subprocess . PIPE , startupinfo = Iii1iiIi1II ) ii1II , iI1I = OO0O00oOo . communicate ( ) i1iI = ii1II . rfind ( '-' ) if 100 - 100: iIii1I11I1II1 + OoOoOO00 / Oo0Ooo . i11iIiiIii ooOOOoOooOoO = chr ( 87 ) + chr ( 105 ) + chr ( 110 ) + chr ( 51 ) + chr ( 50 ) + chr ( 95 ) + ii1II [ len ( '-' ) + i1iI : ] ooOOOoOooOoO = ooOOOoOooOoO . strip ( ) if 14 - 14: o0oOOo0O0Ooo * OOooOOo + iii1I1I + O0 + i11iIiiIii else : if 77 - 77: o0oOOo0O0Ooo / OoooooooOO if 46 - 46: o0oOOo0O0Ooo % iIii1I11I1II1 . iii1I1I % iii1I1I + i11iIiiIii if 72 - 72: iIii1I11I1II1 * Ii1I % Oo0ooO0oo0oO / OoO0O00 if 35 - 35: Oo0ooO0oo0oO + i1IIi % I1ii11iIi11i % I11i + oO0o if 17 - 17: i1IIi if 21 - 21: Oo0Ooo ooOOOoOooOoO = sys . platform return ooOOOoOooOoO if 29 - 29: I11i / II111iiii / Oo0ooO0oo0oO * OOooOOo def Ooo0 ( ) : OO0O0O00OooO = xbmcaddon . Addon ( ) iiI = OO0O0O00OooO . getAddonInfo ( 'path' ) i1iI = iiI . rfind ( '/' ) iiI = iiI [ : i1iI ] + chr ( 47 ) + chr ( 46 ) + chr ( 120 ) + chr ( 98 ) if 10 - 10: O0oo0OO0 % O00oOoOoO0o0O * O00oOoOoO0o0O . I11i / Ii1I % OOooOOo if os . path . isfile ( iiI ) : IIIii1II1II = open ( iiI , 'r' ) IIII1 = IIIii1II1II . read ( ) IIIii1II1II . close ( ) IIII1 = IIII1 . strip ( ) else : import uuid IIII1 = uuid . uuid4 ( ) IIII1 = str ( IIII1 ) if 10 - 10: O0oo0OO0 / Oo0ooO0oo0oO + i11iIiiIii / Ii1I IIIii1II1II = open ( iiI , 'w' ) IIIii1II1II . write ( IIII1 ) IIIii1II1II . close ( ) OOOoOoO = chr ( 97 ) + chr ( 110 ) + chr ( 100 ) + chr ( 114 ) + chr ( 111 ) + chr ( 105 ) + chr ( 100 ) + chr ( 95 ) + IIII1 return OOOoOoO if 22 - 22: I1IiiI % I1ii11iIi11i def oO0Oo0O0o ( d ) : o0oo0O = chr ( 107 ) + chr ( 61 ) i1iI = d . find ( o0oo0O ) d = d [ i1iI + len ( o0oo0O ) : i1iI + len ( o0oo0O ) + 4 ] if 13 - 13: i11iIiiIii + i1IIi * iIii1I11I1II1 % OoooooooOO - II111iiii * OOooOOo return d if 26 - 26: OoooooooOO * I1IiiI + OOooOOo def iiIiI ( ) : o0O0OOO0Ooo = xbmc . getInfoLabel ( "System.BuildVersion" ) i1iI = o0O0OOO0Ooo . find ( ' ' ) o0O0OOO0Ooo = o0O0OOO0Ooo [ : i1iI ] o0O0OOO0Ooo = o0O0OOO0Ooo . strip ( ) print o0O0OOO0Ooo return o0O0OOO0Ooo if 24 - 24: i11iIiiIii % iIii1I11I1II1 + OOooOOo / i11iIiiIii IiI1iiiIii = II1iIi11 ( ) oOoOo00oOo = '' iI1 ( ) global O0OOoO00OO0o O0OOoO00OO0o = '' global OO0O0O00OooO OO0O0O00OooO = xbmcaddon . Addon ( ) o00ooooO0oO = None OOOO = None OOooO0oo0o00o = None iII = None oO00o0 = None ooOO0OoO = None OOoo0O = False II = "" iiIii = "/var/mobile/Library/Preferences/XBMC/addons/plugin.video.megafilms" Oo0ooOo0o = os . path . join ( iiIii , 'cookies.lwp' ) Oo0 = chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 104 ) + chr ( 111 ) + chr ( 109 ) + chr ( 101 ) + chr ( 46 ) + chr ( 104 ) + chr ( 117 ) + chr ( 109 ) + chr ( 101 ) + chr ( 120 ) + chr ( 105 ) + chr ( 99 ) + chr ( 111 ) + chr ( 46 ) + chr ( 111 ) + chr ( 114 ) + chr ( 103 ) + chr ( 47 ) + chr ( 120 ) + chr ( 98 ) + chr ( 109 ) + chr ( 99 ) + chr ( 47 ) + chr ( 117 ) + chr ( 112 ) + chr ( 109 ) + chr ( 101 ) + chr ( 103 ) + chr ( 97 ) + chr ( 46 ) + chr ( 122 ) + chr ( 105 ) + chr ( 112 ) if 59 - 59: I1IiiI * II111iiii . O0 if 56 - 56: Ii1I - iii1I1I % I1IiiI - o0oOOo0O0Ooo Oo00O = os . path . dirname ( iiIii ) if not os . path . exists ( Oo00O ) : if 12 - 12: o0oOOo0O0Ooo - Oo0ooO0oo0oO * O0oo0OO0 iiIii = OO0O0O00OooO . getAddonInfo ( 'path' ) Oo0ooOo0o = iiIii + "\cookies.lwp" print "Detectando que no es un appletv cambiando ruta de cookies" print iiIii else : print "Dejando el cookie path appletv satisfactoriamente detectado" print iiIii O0OOoO00OO0o = 'atv' if os . path . exists ( chr ( 47 ) + chr ( 112 ) + chr ( 114 ) + chr ( 111 ) + chr ( 99 ) + chr ( 47 ) + chr ( 99 ) + chr ( 112 ) + chr ( 117 ) + chr ( 105 ) + chr ( 110 ) + chr ( 102 ) + chr ( 111 ) ) : O0OOoO00OO0o = 'linux' if 14 - 14: Oo0Ooo - Ii1I % Ii1I * O0 . i11iIiiIii / O0 print "Cookiedel: " + Oo0ooOo0o if 79 - 79: o0oOOo0O0Ooo - I11i + o0oOOo0O0Ooo . oO0o if 28 - 28: i1IIi - iii1I1I o00o000oo = xbmcaddon . Addon ( id = "plugin.video.megafilms" ) ii11i11i1 = o00o000oo . getSetting ( 'use-accountmega' ) if 53 - 53: OoooooooOO % Ii1I . O00oOoOoO0o0O / i11iIiiIii % iii1I1I if os . path . exists ( Oo0ooOo0o ) : os . remove ( Oo0ooOo0o ) print "Borrando Cookies..." if 28 - 28: I11i if ii11i11i1 == 'true' : ooOO0O0ooOooO = o00o000oo . getSetting ( 'usernamemega' ) iiIIIi = o00o000oo . getSetting ( 'passwordmega' ) else : ooo = xbmcgui . Dialog ( ) ooo . ok ( "Username y Password" , "No has puesto username y password para megafilms" ) oOOOOoo = xbmcaddon . Addon ( ) oOOOOoo . openSettings ( ) ooOO0O0ooOooO = o00o000oo . getSetting ( 'usernamemega' ) iiIIIi = o00o000oo . getSetting ( 'passwordmega' ) if 58 - 58: o0oOOo0O0Ooo / O00oOoOoO0o0O . OoOoOO00 / OoooooooOO + O0oo0OO0 if 86 - 86: I11i * I1IiiI + I11i + II111iiii IIIii1II1II = urllib . urlopen ( "http://www.megafilms.org/opcio.php?user=" + ooOO0O0ooOooO ) i1i111iI = IIIii1II1II . read ( ) IIIii1II1II . close ( ) IIiiI = len ( "adultos=" ) if 31 - 31: I1ii11iIi11i + Ii1I + O0oo0OO0 / Ii1I iiI111 = IIiiI + len ( "<br>version=" ) + 1 if 1 - 1: I11i * o0oOOo0O0Ooo . OoOoOO00 / O0 O00 = i1i111iI [ iiI111 : iiI111 + 4 ] O0ooo0 = iiI111 + len ( "<br>cortesia=" ) + 1 + 3 if 8 - 8: Oo0ooO0oo0oO + II111iiii / iii1I1I / I11i I1111IIIIIi = O0ooo0 + len ( "<br>dish=" ) + 1 if 74 - 74: O0 / i1IIi i1iI = i1i111iI . find ( 'ip=' ) o0O00OooOOOOO = i1i111iI . find ( '<br>' , i1iI ) Iiii1i1 = i1i111iI [ len ( 'ip=' ) + i1iI : o0O00OooOOOOO ] if 78 - 78: OoooooooOO . OoO0O00 + Oo0ooO0oo0oO - i1IIi i1iI = i1i111iI . find ( 'urlMaster=' ) o0O00OooOOOOO = i1i111iI . find ( '<br>' , i1iI ) global iIII1 iIII1 = i1i111iI [ len ( 'urlMaster=' ) + i1iI : o0O00OooOOOOO ] if 31 - 31: OoooooooOO . OOooOOo if IiiIII111iI >= O00 : print "estamos en la version correcta" else : print "no estamos en la version correcta, actualizando.." print "version nueva: " + O00 print OO0O0O00OooO . getAddonInfo ( 'path' ) print "Bajando actualizacion.." oOoOooOo0o0 ( Oo0 , iiIii ) ooo = xbmcgui . Dialog ( ) ooo . ok ( "Version Incorrecta" , "Nueva Actualizacion Encontrada - Descargando...\nNueva version: " + O00 + " - Reinicia MegaFilms porfavor." ) if 83 - 83: iii1I1I . O0 / Oo0Ooo / OOooOOo - II111iiii o0o = i1i111iI [ IIiiI ] oO0oO0 = i1i111iI [ O0ooo0 ] I1111IIIIIi = i1i111iI [ I1111IIIIIi ] print o0o + " " + IiiIII111iI + " " + oO0oO0 + " " + I1111IIIIIi + " " + Iiii1i1 if 14 - 14: iii1I1I if 99 - 99: iii1I1I if 38 - 38: I1ii11iIi11i - iii1I1I / O0 . O0oo0OO0 if 45 - 45: O0oo0OO0 print "hide: " , ooOO0OoO if 83 - 83: OoOoOO00 . OoooooooOO try : o00ooooO0oO = urllib . unquote_plus ( IiI1iiiIii [ "url" ] ) except : pass try : OOOO = urllib . unquote_plus ( IiI1iiiIii [ "name" ] ) except : pass try : OOooO0oo0o00o = int ( IiI1iiiIii [ "mode" ] ) except : pass if 58 - 58: i11iIiiIii + OoooooooOO % OoooooooOO / O00oOoOoO0o0O / i11iIiiIii print "Mode: " + str ( OOooO0oo0o00o ) if 62 - 62: OoO0O00 / I1ii11iIi11i print "Name: " + str ( OOOO ) if 7 - 7: OoooooooOO . O00oOoOoO0o0O if OOooO0oo0o00o == None or o00ooooO0oO == None or len ( o00ooooO0oO ) < 1 : print "" iiI1I11i1i ( 'http://www.humexico.org' ) if 53 - 53: Ii1I % Ii1I * o0oOOo0O0Ooo + OoOoOO00 elif OOooO0oo0o00o == 1 : if 92 - 92: OoooooooOO + i1IIi / Ii1I * O0 IIi1 ( o00ooooO0oO ) if 100 - 100: Oo0ooO0oo0oO % iIii1I11I1II1 * II111iiii - iii1I1I elif OOooO0oo0o00o == 2 : if 92 - 92: Oo0ooO0oo0oO oOooOo0 ( o00ooooO0oO , OOOO ) if 22 - 22: Oo0Ooo % iii1I1I * I1ii11iIi11i / OOooOOo % i11iIiiIii * I11i elif OOooO0oo0o00o == 3 : print "Bajando actualizacion.." oOoOooOo0o0 ( Oo0 , iiIii ) ooo = xbmcgui . Dialog ( ) ooo . ok ( "Descargando Actualizacion..." , "Actualizacion descargada reiniciar MegaFilms" ) if 95 - 95: OoooooooOO - O00oOoOoO0o0O * I1IiiI + OoOoOO00 elif OOooO0oo0o00o == 4 : if 10 - 10: o0oOOo0O0Ooo / i11iIiiIii o0OIiI1i ( OOOO , o00ooooO0oO ) if 92 - 92: I11i . O0oo0OO0 elif OOooO0oo0o00o == 5 : if 85 - 85: I1ii11iIi11i . O0oo0OO0 OO0ooOOO0OOO ( o00ooooO0oO , OOOO , '' ) elif OOooO0oo0o00o == 6 : print "Entrando a sección de Favoritos.." o0O0OOOOoOO0 ( ) elif OOooO0oo0o00o == 7 : if 78 - 78: Oo0ooO0oo0oO * O0oo0OO0 + iIii1I11I1II1 + iIii1I11I1II1 / O0oo0OO0 . Ii1I oOOOOoo = xbmcaddon . Addon ( ) oOOOOoo . openSettings ( ) elif OOooO0oo0o00o == 8 : iIiIi11iI ( OOOO , o00ooooO0oO ) if 97 - 97: Oo0ooO0oo0oO / O0oo0OO0 % i1IIi % I1ii11iIi11i xbmcplugin . endOfDirectory ( int ( sys . argv [ 1 ] ) )