elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: Ayuda a desofuscar codigo python en: 2 Agosto 2013, 19:17 pm
No le encuentro lógica, pues el comienzo es raro if 64 - 64: i11iIiiIii
Pero en ninguna parte ha declarado i11iIiiIii como variable, de todas fromas 64 - 64 = 0 , lo que sería "False" En PY...

Lo mismo desde la línea 7 a la 10 y en todas las líneas que la resta de sus dígitos sea 0 ... if X - X :

La verdad siento que a ese código le faltan muchas líneas , pues ya con su inicio debería tirar error.

Saludos !

el codigo se encuentra funcionando bien es de un plugin del xbmc
2  Programación / Scripting / Ayuda a desofuscar codigo python en: 1 Agosto 2013, 21:03 pm
Hola buen dias amigos queria saber si alguno de ustedes me puede ayudar a desofuscar este codigo python

Código
  1. if 64 - 64: i11iIiiIii
  2. import cPickle as pickle
  3. import urllib , urllib2 , re , xbmcplugin , xbmcgui , xbmcaddon , xbmc
  4. import weblogin , gethtml , os , shutil , zipfile , commands , sys
  5. from urllib2 import Request , urlopen , URLError , HTTPError
  6. from xml . dom . minidom import parseString
  7. if 65 - 65: O0 / iIii1I11I1II1 % OoooooooOO - i1IIi
  8. if 73 - 73: II111iiii
  9. if 22 - 22: I1IiiI * Oo0Ooo / OoO0O00 . OoOoOO00 . o0oOOo0O0Ooo / I1ii11iIi11i
  10. if 48 - 48: oO0o / OOooOOo / I11i / Ii1I
  11. IiiIII111iI = "2.06"
  12. if 34 - 34: iii1I1I / O00oOoOoO0o0O . O0oo0OO0 + Oo0ooO0oo0oO . OoO0O00 - I1ii11iIi11i
  13. if 53 - 53: I11i / Oo0Ooo / II111iiii % Ii1I / OoOoOO00 . Oo0ooO0oo0oO
  14. if 100 - 100: i1IIi
  15. if 27 - 27: O00oOoOoO0o0O * OoooooooOO + I11i * Oo0ooO0oo0oO - i11iIiiIii - iii1I1I
  16. IiiiIiI1iIiI1 = 10
  17. if 85 - 85: OoO0O00
  18. class iIi1IIii11I ( xbmcgui . Window ) :
  19. if 84 - 84: iIii1I11I1II1 . O00oOoOoO0o0O / O00oOoOoO0o0O % O00oOoOoO0o0O
  20. def __init__ ( self ) :
  21.  pass
  22.  if 22 - 22: Ii1I . O00oOoOoO0o0O
  23. def setupScreen ( self ) :
  24.  if 41 - 41: O0oo0OO0 . Oo0ooO0oo0oO * O00oOoOoO0o0O % i11iIiiIii
  25.  self . backgroundImage = xbmcgui . ControlImage ( 0 , 0 , self . width , self . height , self . skin , aspectRatio = 0 )
  26.  self . addControl ( self . backgroundImage )
  27.  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 )
  28.  self . addControl ( self . posterImage )
  29.  if 74 - 74: iii1I1I * O00oOoOoO0o0O
  30.  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 )
  31.  self . addControl ( self . label1 )
  32.  self . label1 . setLabel ( self . textLabel1 )
  33.  if 82 - 82: iIii1I11I1II1 % O00oOoOoO0o0O
  34.  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' )
  35.  self . addControl ( self . label2 )
  36.  self . label2 . setLabel ( self . textLabel2 )
  37.  if 86 - 86: OoOoOO00 % I1IiiI
  38.  self . buttonEsc = xbmcgui . ControlButton ( 0 , 0 , self . porcentaje ( 7 , self . x ) , self . porcentaje ( 7 , self . y ) , 'ESC' , font = 'font13' , alignment = 2 )
  39.  self . addControl ( self . buttonEsc )
  40.  if 80 - 80: OoooooooOO . I1IiiI
  41.  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 )
  42.  self . addControl ( self . imageStar )
  43.  if 87 - 87: oO0o / Oo0ooO0oo0oO + O0oo0OO0 - Oo0ooO0oo0oO . Oo0ooO0oo0oO / II111iiii
  44.  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 )
  45.  self . addControl ( self . buttonFav )
  46.  if 11 - 11: I1IiiI % o0oOOo0O0Ooo - Oo0Ooo
  47.  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 )
  48.  self . addControl ( self . buttonPlay )
  49.  self . setFocus ( self . buttonPlay )
  50.  if 58 - 58: i11iIiiIii % O0oo0OO0
  51.  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 )
  52.  self . addControl ( self . clock )
  53.  self . clock . setLabel ( '$INFO[System.Time]' )
  54.  if 54 - 54: OOooOOo % O0 + I1IiiI - iii1I1I / I11i
  55.  xbmc . executebuiltin ( 'Action(back)' )
  56.  if 31 - 31: OoO0O00 + II111iiii
  57. def variables ( self , a , b , c , d ) :
  58.  if 13 - 13: OOooOOo * oO0o * I1IiiI
  59.  self . deviceRunning = d
  60.  if 55 - 55: II111iiii
  61.  if self . deviceRunning == chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 ) :
  62.   self . width = 1280
  63.   self . height = 720
  64.  else :
  65.   self . height = self . getHeight ( )
  66.   self . width = self . getWidth ( )
  67.   if 43 - 43: OoOoOO00 - i1IIi + O0oo0OO0 + Ii1I
  68.  self . x = self . width
  69.  self . y = self . height
  70.  print "Height = " + str ( self . height )
  71.  print "Width = " + str ( self . width )
  72.  if 17 - 17: o0oOOo0O0Ooo
  73.  self . url = o00ooooO0oO
  74.  self . movie = a
  75.  self . realUrl = b
  76.  self . poster = c
  77.  self . data = oOoOo00oOo
  78.  if 96 - 96: i1IIi . OoOoOO00 * OOooOOo % Oo0ooO0oo0oO
  79.  self . star = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/star_favorite.png"
  80.  self . starEmpty = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/star_favorite_empty.png"
  81.  if 77 - 77: II111iiii - II111iiii . I1IiiI / o0oOOo0O0Ooo
  82.  if "redirect.php" in self . url :
  83.   self . seriePosicion = self . url . find ( 'opcion=' )
  84.   self . serieDelimiter = self . url . find ( ' - ' , self . seriePosicion )
  85.   self . serie = self . url [ len ( 'opcion=' ) + self . seriePosicion : self . serieDelimiter ]
  86.   print "serie: " + self . serie
  87.   self . synopsis = i1iIIIiI1I ( self . serie , serie = True )
  88.  else :
  89.   self . synopsis = i1iIIIiI1I ( self . movie )
  90.   if 70 - 70: Oo0Ooo % Oo0Ooo . O00oOoOoO0o0O % OoO0O00 * o0oOOo0O0Ooo % oO0o
  91.  self . synopsisLines = self . synopsis . count ( '\n' ) + 1
  92.  if 23 - 23: i11iIiiIii + I1IiiI
  93.  if 68 - 68: OoOoOO00 . oO0o . i11iIiiIii
  94.  self . skin = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/background.jpg"
  95.  if 40 - 40: oO0o . OoOoOO00 . Oo0Ooo . i1IIi
  96.  try :
  97.   self . data . index ( [ self . movie , self . url , self . poster ] )
  98.   self . favoritoStar = self . star
  99.  except :
  100.   self . favoritoStar = self . starEmpty
  101.   if 33 - 33: Ii1I + II111iiii % i11iIiiIii . Oo0ooO0oo0oO - I1IiiI
  102.  self . textLabel1 = self . movie
  103.  self . textLabel2 = "Synopsis:\n\n" + self . synopsis
  104.  if 66 - 66: Ii1I - OoooooooOO * OoooooooOO . OOooOOo . I1ii11iIi11i
  105.  self . setupScreen ( )
  106.  if 22 - 22: OoooooooOO % I11i - iii1I1I . iIii1I11I1II1 * i11iIiiIii
  107. def porcentaje ( self , cuanto_porcentaje , height_or_width ) :
  108.  II1i1Ii11Ii11 = ( height_or_width * cuanto_porcentaje ) / 100
  109.  return II1i1Ii11Ii11
  110.  if 35 - 35: o0oOOo0O0Ooo + iii1I1I + iii1I1I
  111. def onAction ( self , action ) :
  112.  if 11 - 11: iii1I1I - OoO0O00 % Oo0ooO0oo0oO % iii1I1I / OoOoOO00 - OoO0O00
  113.  if 74 - 74: iii1I1I * O0
  114.  if action == IiiiIiI1iIiI1 :
  115.   self . close ( )
  116.  if action == 92 :
  117.   print "back"
  118.   self . close ( )
  119.  if action == 1 :
  120.   print "move left action.."
  121.   self . setFocus ( self . buttonFav )
  122.  if action == 2 :
  123.   print "move right action.."
  124.   self . setFocus ( self . buttonPlay )
  125.  if action == 3 :
  126.   print "move up action.."
  127.   self . setFocus ( self . buttonEsc )
  128.  if action == 4 :
  129.   print "move down action.."
  130.   self . setFocus ( self . buttonFav )
  131.   if 89 - 89: oO0o + Oo0Ooo
  132. def onControl ( self , control ) :
  133.  print "Ejecutando comando.."
  134.  if control == self . buttonPlay :
  135.   self . onPlay ( )
  136.  if control == self . buttonFav :
  137.   self . onFavoritos ( )
  138.  if control == self . buttonEsc :
  139.   self . close ( )
  140.   if 3 - 3: i1IIi / I1IiiI % I11i * i11iIiiIii / O0 * I11i
  141. def onPlay ( self ) :
  142.  III1ii1iII = xbmcgui . ListItem ( self . movie )
  143.  III1ii1iII . setInfo ( 'video' , { 'Title' : self . movie , 'Genre' : 'Science Fiction' } )
  144.  xbmc . Player ( xbmc . PLAYER_CORE_MPLAYER ) . play ( self . realUrl , III1ii1iII )
  145.  if 54 - 54: I1IiiI % II111iiii % II111iiii
  146. def onFavoritos ( self ) :
  147.  if self . data == '' or self . data == [ ] :
  148.   self . data = [ ]
  149.   self . data . append ( [ self . movie , self . url , self . poster ] )
  150.   print "*Nuevo Archivo* Agregando a favoritos: " , self . movie
  151.   self . imageStar . setImage ( self . star )
  152.   iI1 ( self . data , True )
  153.  else :
  154.   try :
  155.    self . data . index ( [ self . movie , self . url , self . poster ] )
  156.    self . data . remove ( [ self . movie , self . url , self . poster ] )
  157.    self . imageStar . setImage ( self . starEmpty )
  158.    iI1 ( self . data , True )
  159.    print "Removiendo de favoritos: " + self . movie
  160.   except :
  161.    self . data . append ( [ self . movie , self . url , self . poster ] )
  162.    self . imageStar . setImage ( self . star )
  163.    iI1 ( self . data , True )
  164.    print "Agregando a favoritos: " + self . movie
  165.    if 19 - 19: I11i + Oo0ooO0oo0oO
  166. def message ( self , message ) :
  167.  ooo = xbmcgui . Dialog ( )
  168.  ooo . ok ( " Mensaje del Sistema" , message )
  169.  if 18 - 18: o0oOOo0O0Ooo
  170.  if 28 - 28: OOooOOo - O00oOoOoO0o0O . O00oOoOoO0o0O + OoOoOO00 - OoooooooOO + O0
  171. def oOoOooOo0o0 ( theurl , thedir ) :
  172. OOOO = os . path . join ( thedir , 'temp.zip' )
  173. try :
  174.  OOOO , OOO00 = urllib . urlretrieve ( theurl , OOOO )
  175. except IOError , iiiiiIIii :
  176.  print "Can't retrieve %r to %r: %s" % ( theurl , thedir , iiiiiIIii )
  177.  return
  178. try :
  179.  O000OO0 = zipfile . ZipFile ( OOOO )
  180. except zipfile . error , iiiiiIIii :
  181.  print "Bad zipfile (from %r): %s" % ( theurl , iiiiiIIii )
  182.  return
  183. for I11iii1Ii in O000OO0 . namelist ( ) :
  184.  I1IIiiIiii = os . path . join ( thedir , I11iii1Ii )
  185.  O000oo0O = os . path . dirname ( I1IIiiIiii )
  186.  if not os . path . isdir ( O000oo0O ) :
  187.   os . makedirs ( O000oo0O )
  188.  OOOOi11i1 = O000OO0 . read ( I11iii1Ii )
  189.  IIIii1II1II = open ( I1IIiiIiii , 'w' )
  190.  IIIii1II1II . write ( OOOOi11i1 )
  191.  IIIii1II1II . close ( )
  192. O000OO0 . close ( )
  193. os . unlink ( OOOO )
  194. if 42 - 42: Ii1I + oO0o
  195. def o0O0o0Oo ( time_to_wait , title = '' , text = '' ) :
  196. return Ii11Ii1I ( time_to_wait , title , text )
  197. if 72 - 72: iii1I1I / i1IIi * Oo0Ooo - O0oo0OO0
  198. def Ii11Ii1I ( time_to_wait , title , text ) :
  199. Oo0O0O0ooO0O = IIIIii ( o00ooooO0oO )
  200. print 'esperando ' + str ( time_to_wait ) + ' segs'
  201. if 70 - 70: Ii1I / I11i . iii1I1I % Oo0Ooo
  202. OOoOO00OOO0OO = xbmcgui . DialogProgress ( )
  203. iI1I111Ii111i = OOoOO00OOO0OO . create ( title )
  204. if 7 - 7: Oo0ooO0oo0oO * OoO0O00 % oO0o . O00oOoOoO0o0O
  205. Ii1iIiII1ii1 = 0
  206. ooOooo000oOO = 0
  207. Oo0oOOo = 100 / time_to_wait
  208. if 58 - 58: II111iiii * OOooOOo * I1ii11iIi11i / OOooOOo
  209. oO0o0OOOO = False
  210. while Ii1iIiII1ii1 < time_to_wait :
  211.  Ii1iIiII1ii1 = Ii1iIiII1ii1 + 1
  212.  ooOooo000oOO = Oo0oOOo * Ii1iIiII1ii1
  213.  O0O0OoOO0 = str ( ( time_to_wait - Ii1iIiII1ii1 ) )
  214.  iiiI1I11i1 = ' Espere ' + O0O0OoOO0 + ' segs descargando video...'
  215.  OOoOO00OOO0OO . update ( ooOooo000oOO , ' ' + text , iiiI1I11i1 )
  216.  xbmc . sleep ( 1000 )
  217.  if ( OOoOO00OOO0OO . iscanceled ( ) ) :
  218.   oO0o0OOOO = True
  219.   break
  220.   if 49 - 49: I1IiiI % Oo0ooO0oo0oO . Oo0ooO0oo0oO . I11i * Oo0ooO0oo0oO
  221. if oO0o0OOOO == True :
  222.  print 'espera cancelada'
  223.  return False
  224. else :
  225.  print 'Fin de la espera'
  226.  return True
  227.  if 97 - 97: Ii1I + o0oOOo0O0Ooo . OOooOOo + I1ii11iIi11i % iii1I1I
  228.  if 95 - 95: i1IIi
  229. def I1ii11iI ( ) :
  230. if 14 - 14: OoOoOO00 / O00oOoOoO0o0O . OoOoOO00 . I11i % OoO0O00 * I11i
  231. if iII == None and oO00o0 == None :
  232.  OOoo0O = False
  233.  if os . path . exists ( Oo0ooOo0o ) :
  234.   os . remove ( Oo0ooOo0o )
  235.  return OOoo0O
  236. elif iII != None and oO00o0 != None :
  237.  Ii1i1 = weblogin . doLogin ( iiIii , iII , oO00o0 )
  238.  if Ii1i1 == False :
  239.   ooo = xbmcgui . Dialog ( )
  240.   ooo . ok ( " Opciones avanzadas" , "Los parametros incorrectos.." )
  241.  OOoo0O = True
  242.  return OOoo0O
  243.  if 79 - 79: OoooooooOO / O0
  244. def IIIIii ( url ) :
  245. OO0OoO0o00 = ooOO0O0ooOooO
  246. oOOOo00O00oOo = iiIIIi
  247. ooo00OOOooO = urllib2 . HTTPPasswordMgrWithDefaultRealm ( )
  248. ooo00OOOooO . add_password ( None , url , OO0OoO0o00 , oOOOo00O00oOo )
  249. O00OOOoOoo0O = urllib2 . HTTPBasicAuthHandler ( ooo00OOOooO )
  250. O000OOo00oo = urllib2 . build_opener ( O00OOOoOoo0O )
  251. return O000OOo00oo
  252. if 71 - 71: i11iIiiIii + O00oOoOoO0o0O
  253. def oOo ( url ) :
  254. oOO00Oo = 1
  255. 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 :
  256.  oOO00Oo = 1
  257.  return oOO00Oo
  258. 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 :
  259.  oOO00Oo = 1
  260.  return oOO00Oo
  261. elif "abrirSettings" in url :
  262.  oOO00Oo = 6
  263.  return oOO00Oo
  264. elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  265.  oOO00Oo = 1
  266.  return oOO00Oo
  267. 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 :
  268.  oOO00Oo = 1
  269.  return oOO00Oo
  270. 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 :
  271.  oOO00Oo = 1
  272.  return oOO00Oo
  273. 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 :
  274.  oOO00Oo = 2
  275.  return oOO00Oo
  276. 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 :
  277.  oOO00Oo = 2
  278.  return oOO00Oo
  279. 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 :
  280.  oOO00Oo = 2
  281.  return oOO00Oo
  282. elif chr ( 116 ) + chr ( 118 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  283.  oOO00Oo = 8
  284.  return oOO00Oo
  285. elif "getServices?ref=1:0:" in url :
  286.  oOO00Oo = 5
  287.  return oOO00Oo
  288. elif "getServices?ref=" in url :
  289.  oOO00Oo = 4
  290.  return oOO00Oo
  291. elif "zapTo?path=" in url :
  292.  oOO00Oo = 5
  293.  return oOO00Oo
  294.  if 6 - 6: oO0o
  295. def oOOo0oOo0 ( source ) :
  296. II = '<a id="download_button" href="(.+?)"'
  297. return II
  298. if 60 - 60: I1IiiI
  299. if 22 - 22: II111iiii
  300. def iiI1I11i1i ( upmega ) :
  301. if 2 - 2: I1ii11iIi11i * I11i - iIii1I11I1II1 + I1IiiI . oO0o % iii1I1I
  302. ooOOOoOooOoO = o00oooO0Oo ( )
  303. o0O0OOO0Ooo = iiIiI ( )
  304. if 6 - 6: O00oOoOoO0o0O . oO0o * OoOoOO00 - Ii1I - O00oOoOoO0o0O
  305. if 45 - 45: I1IiiI - OoooooooOO + iIii1I11I1II1 . I1IiiI * I11i
  306. print "Version Xbmc:" , type ( o0O0OOO0Ooo ) , o0O0OOO0Ooo
  307. 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 , "" )
  308. 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 , "" )
  309. if o0o == "1" :
  310.  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 , "" )
  311. 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 ) :
  312.  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 , "" )
  313. if I1111IIIIIi == "1" :
  314.  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 , "" )
  315. if o0O0OOO0Ooo >= '12.0' :
  316.  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 , "" )
  317. 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 , "" )
  318. if 84 - 84: I1IiiI . iIii1I11I1II1 % OoooooooOO + Ii1I % OoooooooOO % OoO0O00
  319. def IIi1 ( url ) :
  320. try :
  321.  ooOOOoOooOoO = o00oooO0Oo ( )
  322.  url = url . replace ( ' ' , '%20' )
  323.  url = url + chr ( 63 ) + chr ( 117 ) + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + ooOO0O0ooOooO
  324.  url = url + chr ( 38 ) + chr ( 107 ) + chr ( 61 ) + ooOOOoOooOoO
  325.  oOO00Oo = oOo ( url )
  326.  Oo0O0O0ooO0O = IIIIii ( url )
  327.  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' ) ]
  328.  I1I1I = Oo0O0O0ooO0O . open ( url )
  329.  I1I1I = I1I1I . read ( )
  330.  OoOO000 = re . compile ( 'Title: <a href="(.+?)">(.+?)</a> <a href="(.+?)">.+?</a><br>' ) . findall ( I1I1I )
  331.  for url , OOOO , i1Ii11i1i in OoOO000 :
  332.   url = url + chr ( 38 ) + chr ( 117 ) + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + ooOO0O0ooOooO
  333.   url = url + chr ( 38 ) + chr ( 107 ) + chr ( 61 ) + ooOOOoOooOoO
  334.   url = url + chr ( 38 ) + chr ( 112 ) + chr ( 111 ) + chr ( 115 ) + chr ( 116 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + i1Ii11i1i
  335.   OOOO = OOOO . decode ( 'latin-1' )
  336.   OOOO = OOOO . encode ( 'utf-8' )
  337.   oOOO ( OOOO , url , oOO00Oo , i1Ii11i1i )
  338. except URLError , iiiiiIIii :
  339.  print iiiiiIIii . code
  340.  if iiiiiIIii . code == 401 :
  341.   ooo = xbmcgui . Dialog ( )
  342.   ooo . ok ( "    Servicio Expirado" , "Tu cuenta " + ooOO0O0ooOooO + " a vencido, por favor Renueva." )
  343.   print "Tu cuenta esta vencida"
  344.   if 91 - 91: OoO0O00
  345. def oOooOo0 ( url , name ) :
  346. try :
  347.  url = url . replace ( ' ' , '%20' )
  348.  i1I1ii11i1Iii = url
  349.  I1IiiiiI = i1I1ii11i1Iii . split ( 'poster=' )
  350.  II1i1Ii11Ii11 = '/' . join ( I1IiiiiI [ 1 : ] )
  351.  o0O = gethtml . get ( url , ooOO0O0ooOooO , iiIIIi , Oo0ooOo0o )
  352.  II = oOOo0oOo0 ( o0O )
  353.  OoOO000 = re . compile ( II ) . findall ( o0O )
  354.  o0O0OOO0Ooo = iiIiI ( )
  355.  if o0O0OOO0Ooo >= '12.0' :
  356.   for url in OoOO000 :
  357.    if 2 - 2: iIii1I11I1II1 / oO0o + OoO0O00 / OOooOOo
  358.    IIOOOO0oo0 = url
  359.    if 35 - 35: Ii1I - I1IiiI % o0oOOo0O0Ooo . OoooooooOO % Ii1I
  360.   I1i1Iiiii = name
  361.   OOo0oO00ooO00 = II1i1Ii11Ii11
  362.   oOO0O00oO0Ooo = oO0Oo0O0o ( i1I1ii11i1Iii )
  363.   OO = iIi1IIii11I ( )
  364.   OO . variables ( I1i1Iiiii , IIOOOO0oo0 , OOo0oO00ooO00 , oOO0O00oO0Ooo )
  365.   OO . doModal ( )
  366.   del OO
  367.  else :
  368.   for url in OoOO000 :
  369.    I1iI1ii1II ( name , url , II1i1Ii11Ii11 )
  370. except URLError , iiiiiIIii :
  371.  print iiiiiIIii . code
  372.  if iiiiiIIii . code == 401 :
  373.   ooo = xbmcgui . Dialog ( )
  374.   ooo . ok ( "    Servicio Expirado" , "Tu cuenta " + ooOO0O0ooOooO + " a vencido, por favor Renueva." )
  375.   print "Tu cuenta esta vencida"
  376.   if 57 - 57: O0oo0OO0 % Ii1I + o0oOOo0O0Ooo - Oo0Ooo
  377. def o0OIiI1i ( name , url ) :
  378. o0Oo00 = 0
  379. oOO00Oo = oOo ( url )
  380. I1I1I = urllib . urlopen ( url )
  381. I1I1I = I1I1I . readlines ( )
  382. for iI in I1I1I :
  383.  O0O0Oooo0o = I1I1I [ o0Oo00 ] . find ( ';' )
  384.  oOOoo00O00o = I1I1I [ o0Oo00 ] . find ( ';' , O0O0Oooo0o + 1 )
  385.  O0O00Oo = I1I1I [ o0Oo00 ] [ O0O0Oooo0o + 1 : oOOoo00O00o ]
  386.  name = O0O00Oo
  387.  oOO00Oo = oOo ( url )
  388.  if oOO00Oo == 5 :
  389.   oooooo0O000o = "http://" + Iiii1i1 + "/cgi-bin/zapTo?path="
  390.  else :
  391.   oooooo0O000o = "http://" + Iiii1i1 + "/cgi-bin/getServices?ref="
  392.  OoO = I1I1I [ o0Oo00 ] [ : O0O0Oooo0o ]
  393.  url = oooooo0O000o + OoO
  394.  o0Oo00 = o0Oo00 + 1
  395.  oOOO ( name , url , oOO00Oo , '' )
  396.  if 51 - 51: OoooooooOO * OOooOOo
  397. def OO0ooOOO0OOO ( url , name , poster ) :
  398. I1I1I = urllib . urlopen ( url )
  399. I1I1I = I1I1I . read ( )
  400. oO00oooOOoOo0 ( name , "http://" + Iiii1i1 + ":31344" , '' )
  401. if 74 - 74: iIii1I11I1II1 * I1ii11iIi11i + OoOoOO00 / i1IIi / II111iiii . Oo0Ooo
  402. def oooOo0OOOoo0 ( channel_name ) :
  403. if 51 - 51: Oo0Ooo / OoOoOO00 . OOooOOo * o0oOOo0O0Ooo + OoO0O00 * O00oOoOoO0o0O
  404. 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
  405. O00o0 = { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0' ,
  406. '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 }
  407. Oo0O0O0ooO0O = urllib2 . Request ( OOOoOo , None , O00o0 )
  408. I11iII = urllib2 . urlopen ( Oo0O0O0ooO0O )
  409. return I11iII . geturl ( )
  410. if 5 - 5: I1IiiI
  411. def iIiIi11iI ( name , url ) :
  412. if 83 - 83: II111iiii % Oo0Ooo % Oo0ooO0oo0oO % I1ii11iIi11i
  413. if 80 - 80: i11iIiiIii % Oo0ooO0oo0oO + Ii1I % I11i - I1ii11iIi11i
  414. if 18 - 18: iii1I1I - OOooOOo . O0oo0OO0 . iIii1I11I1II1
  415. if 2 - 2: OOooOOo . OoO0O00
  416. if 78 - 78: I11i * iIii1I11I1II1 . I1IiiI / o0oOOo0O0Ooo - OoooooooOO / O0oo0OO0
  417. if 35 - 35: I11i % OOooOOo - oO0o
  418. if 20 - 20: i1IIi - Oo0ooO0oo0oO
  419. Oo0O0O0ooO0O = IIIIii ( url )
  420. 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' ) ]
  421. I1I1I = Oo0O0O0ooO0O . open ( url )
  422. I1I1I = I1I1I . read ( )
  423. if 'feed = ' in I1I1I :
  424.  i1iI = I1I1I . find ( 'feed = ' )
  425.  Oo0O0 = I1I1I [ len ( 'feed = ' ) + i1iI : I1I1I . find ( '<br>' ) ]
  426.  I1iI1ii1II ( name , Oo0O0 . decode ( 'base64' , 'strict' ) , 'none' )
  427. else :
  428.  i1iI = I1I1I . find ( 'SwfAddress = ' )
  429.  Ooo0OOoOoO0 = I1I1I [ len ( 'SwfAddress = ' ) + i1iI : I1I1I . find ( '<br>' ) ]
  430.  i1iI = I1I1I . find ( 'WebAccess = ' )
  431.  oOo0OOoO0 = I1I1I [ len ( 'WebAccess = ' ) + i1iI : I1I1I . find ( '<br>' , i1iI ) ]
  432.  i1iI = I1I1I . find ( 'Code = ' )
  433.  IIo0Oo0oO0oOO00 = I1I1I [ len ( 'Code = ' ) + i1iI : I1I1I . find ( '<br>' , i1iI ) ]
  434.  if 92 - 92: OoooooooOO * O0oo0OO0
  435.  I11iII = urllib2 . urlopen ( oOo0OOoO0 . decode ( 'base64' , 'strict' ) )
  436.  o0000oO = I11iII . read ( )
  437.  if 11 - 11: Oo0ooO0oo0oO / OoOoOO00 - O00oOoOoO0o0O * OoooooooOO + OoooooooOO . OoOoOO00
  438.  i1I1i111Ii = parseString ( o0000oO )
  439.  oooi1i1iI1iiiI = i1I1i111Ii . getElementsByTagName ( 'token' ) [ 0 ] . toxml ( 'utf8' )
  440.  oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '<token>' , '' ) . replace ( '</token>' , '' )
  441.  oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '&amp;' , '&' ) . replace ( "&quot;" , '"' ) . replace ( '&lt;' , '<' )
  442.  oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '\\' , '\\5c' ) . replace ( '"' , '\\22' ) . replace ( ' ' , '\\20' )
  443.  oooi1i1iI1iiiI = 'jtv=' + oooi1i1iI1iiiI
  444.  if 51 - 51: I1IiiI % O0oo0OO0 . oO0o / iIii1I11I1II1 / I11i . oO0o
  445.  IIIii11 = i1I1i111Ii . getElementsByTagName ( 'play' ) [ 0 ] . toxml ( 'utf8' )
  446.  IIIii11 = IIIii11 . replace ( '<play>' , '' ) . replace ( '</play>' , '' )
  447.  IIIii11 = IIIii11 . replace ( '&amp;' , '&' ) . replace ( "&quot;" , '"' ) . replace ( '&lt;' , '<' )
  448.  IIIii11 = IIIii11 . replace ( '"' , '\\"' )
  449.  IIIii11 = 'playpath=' + IIIii11
  450.  if 9 - 9: O0 % O0 - o0oOOo0O0Ooo
  451.  OoOiiI1IIIi = i1I1i111Ii . getElementsByTagName ( 'connect' ) [ 0 ] . toxml ( 'utf8' )
  452.  OoOiiI1IIIi = OoOiiI1IIIi . replace ( '<connect>' , '' ) . replace ( '</connect>' , '' )
  453.  OoOiiI1IIIi = OoOiiI1IIIi . replace ( '&amp;' , '&' ) . replace ( "&quot;" , '"' ) . replace ( '&lt;' , '<' )
  454.  OoOiiI1IIIi = OoOiiI1IIIi . replace ( '"' , '\\"' )
  455.  if 47 - 47: Oo0Ooo % I11i % i11iIiiIii - O0 + Oo0ooO0oo0oO
  456.  I11iII = urllib2 . urlopen ( Ooo0OOoOoO0 . decode ( 'base64' , 'strict' ) )
  457.  Ooo0OOoOoO0 = I11iII . geturl ( )
  458.  Ooo0OOoOoO0 = 'swfUrl=' + Ooo0OOoOoO0
  459.  I1iI1ii1II ( name , OoOiiI1IIIi + ' ' + IIo0Oo0oO0oOO00 . decode ( 'base64' , 'strict' ) + ' ' + Ooo0OOoOoO0 + ' ' + oooi1i1iI1iiiI + ' ' + IIIii11 , 'none' )
  460.  if 94 - 94: O0oo0OO0
  461.  if 4 - 4: Ii1I % oO0o * OoO0O00
  462. def o0O0OOOOoOO0 ( name = '' , url = '' , mode = 2 , iconimage = '' ) :
  463. if oOoOo00oOo == '' or oOoOo00oOo == [ ] :
  464.  print "Archivo de favoritos en blanco"
  465.  ooo = xbmcgui . Dialog ( )
  466.  ooo . ok ( "    Mensaje de Sistema" , "No has agregado nada a favoritos" )
  467. else :
  468.  for iI in oOoOo00oOo :
  469.   oOOO ( iI [ 0 ] , iI [ 1 ] , mode , iI [ 2 ] )
  470.   if 23 - 23: i11iIiiIii
  471. def II1iIi11 ( ) :
  472. I11iiii = [ ]
  473. O0i1iI = sys . argv [ 2 ]
  474. if len ( O0i1iI ) >= 2 :
  475.  IiI1iiiIii = sys . argv [ 2 ]
  476.  I1III1111iIi = IiI1iiiIii . replace ( '?' , '' )
  477.  if ( IiI1iiiIii [ len ( IiI1iiiIii ) - 1 ] == '/' ) :
  478.   IiI1iiiIii = IiI1iiiIii [ 0 : len ( IiI1iiiIii ) - 2 ]
  479.  I1i111I = I1III1111iIi . split ( '&' )
  480.  I11iiii = { }
  481.  for o0Oo00 in range ( len ( I1i111I ) ) :
  482.   Ooo = { }
  483.   Ooo = I1i111I [ o0Oo00 ] . split ( '=' )
  484.   if ( len ( Ooo ) ) == 2 :
  485.    I11iiii [ Ooo [ 0 ] ] = Ooo [ 1 ]
  486.    if 65 - 65: O0 * OoooooooOO % OOooOOo / O00oOoOoO0o0O - Ii1I / I11i
  487. return I11iiii
  488. if 56 - 56: I1IiiI * i11iIiiIii * O0oo0OO0
  489. if 97 - 97: Oo0ooO0oo0oO
  490. if 48 - 48: i1IIi - O0oo0OO0
  491. def I1iI1ii1II ( name , url , iconimage ) :
  492. OOOoOO = True
  493. I11IIIi = xbmcgui . ListItem ( "Play" , iconImage = "DefaultVideo.png" , thumbnailImage = iconimage )
  494. I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } )
  495. I11IIIi . setProperty ( 'IsPlayable' , 'true' )
  496. OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = url , listitem = I11IIIi )
  497. return OOOoOO
  498. if 15 - 15: I1ii11iIi11i * OoO0O00
  499. def oOOO ( name , url , mode , iconimage ) :
  500. i1II1i = sys . argv [ 0 ] + "?url=" + urllib . quote_plus ( url ) + "&mode=" + str ( mode ) + "&name=" + urllib . quote_plus ( name )
  501. OOOoOO = True
  502. I11IIIi = xbmcgui . ListItem ( name , iconImage = "DefaultFolder.png" , thumbnailImage = iconimage )
  503. I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } )
  504. OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = i1II1i , listitem = I11IIIi , isFolder = True )
  505. return OOOoOO
  506. if 83 - 83: OoOoOO00 - Ii1I / I11i / O0oo0OO0 + oO0o - O0
  507. def oO00oooOOoOo0 ( name , url , iconimage ) :
  508. OOOoOO = True
  509. I11IIIi = xbmcgui . ListItem ( "Ver Dish" , iconImage = "DefaultVideo.png" , thumbnailImage = iconimage )
  510. I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } )
  511. I11IIIi . setProperty ( 'IsPlayable' , 'true' )
  512. OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = url , listitem = I11IIIi )
  513. if 4 - 4: OOooOOo * OoO0O00 % i1IIi * i11iIiiIii % Oo0Ooo - oO0o
  514. return OOOoOO
  515. if 67 - 67: OoOoOO00 + I1ii11iIi11i . o0oOOo0O0Ooo . II111iiii
  516. def i1iIIIiI1I ( movie , serie = False ) :
  517. if serie :
  518.  print "Es serie " + urllib . quote_plus ( movie )
  519.  o000ooooO0o = "http://home.humexico.org/vod/synopsis1.php?name=" + urllib . quote_plus ( movie )
  520. else :
  521.  print "Es pelicula " + urllib . quote_plus ( movie )
  522.  o000ooooO0o = "http://home.humexico.org/vod/synopsis.php?name=" + urllib . quote_plus ( movie )
  523. iI1i11 = urllib . urlopen ( o000ooooO0o )
  524. iI1i11 = iI1i11 . read ( )
  525. if len ( iI1i11 ) == 0 :
  526.  iI1i11 = "Error al cargar synopsis"
  527. iI1i11 = iI1i11 . decode ( 'latin-1' )
  528. iI1i11 = iI1i11 . encode ( 'utf-8' )
  529. iI1i11 = OoOOoooOO0O ( iI1i11 , 70 )
  530. return iI1i11
  531. if 86 - 86: o0oOOo0O0Ooo
  532. def OoOOoooOO0O ( string , every = 64 ) :
  533. II1i1Ii11Ii11 = ""
  534. i1Iii11Ii1i1 = True
  535. if 59 - 59: Oo0Ooo % OoooooooOO . iii1I1I / O00oOoOoO0o0O + I1IiiI
  536. while ( i1Iii11Ii1i1 ) :
  537.  if not ( len ( string ) > every ) :
  538.   i1Iii11Ii1i1 = False
  539.  O0O0Oooo0o = string . find ( ' ' , every )
  540.  if O0O0Oooo0o == - 1 :
  541.   II1i1Ii11Ii11 = II1i1Ii11Ii11 + string
  542.   i1Iii11Ii1i1 = False
  543.  else :
  544.   II1i1Ii11Ii11 = II1i1Ii11Ii11 + string [ 0 : O0O0Oooo0o ] + "\n"
  545.  string = string [ O0O0Oooo0o + 1 : ]
  546.  if 76 - 76: Oo0ooO0oo0oO
  547.  if 73 - 73: O0 * iii1I1I + Ii1I + Oo0ooO0oo0oO
  548. return II1i1Ii11Ii11
  549. if 40 - 40: II111iiii . OoOoOO00 * O0oo0OO0 + OOooOOo + OOooOOo
  550. def iI1 ( data = '' , abrir = False , archivo = '/tmp/favoritos.dat' ) :
  551. if 9 - 9: I11i % OoooooooOO . oO0o % I11i
  552. if abrir :
  553.  OO0O0O00OooO = xbmcaddon . Addon ( )
  554.  ii = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/favoritos.dat"
  555.  for iI in data :
  556.   iI [ 1 ] = iI [ 1 ] . encode ( 'base64' , 'strict' )
  557.  IIIii1II1II = open ( archivo , 'wb' )
  558.  if 36 - 36: OoooooooOO . OoO0O00
  559.  pickle . dump ( data , IIIii1II1II )
  560.  IIIii1II1II . close ( )
  561.  for iI in data :
  562.   iI [ 1 ] = iI [ 1 ] . decode ( 'base64' , 'strict' )
  563.  shutil . move ( archivo , ii )
  564. else :
  565.  try :
  566.   OO0O0O00OooO = xbmcaddon . Addon ( )
  567.   archivo = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/favoritos.dat"
  568.   print "abriendo archivo: " + archivo
  569.   IIIii1II1II = open ( archivo , 'rb' )
  570.   global oOoOo00oOo
  571.   oOoOo00oOo = pickle . load ( IIIii1II1II )
  572.   for iI in oOoOo00oOo :
  573.    iI [ 1 ] = iI [ 1 ] . decode ( 'base64' , 'strict' )
  574.   IIIii1II1II . close ( )
  575.  except :
  576.   oOoOo00oOo = [ ]
  577.   print "No existe archivo de favoritos"
  578.   if 56 - 56: Oo0Ooo . I1ii11iIi11i . I1IiiI
  579. def o00oooO0Oo ( ) :
  580. 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
  581. if O0OOoO00OO0o == chr ( 97 ) + chr ( 116 ) + chr ( 118 ) :
  582.  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 )
  583.  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 )
  584.  os . system ( ii111I )
  585.  IIIii1II1II = open ( iiI , 'r' )
  586.  ooOOOoOooOoO = IIIii1II1II . read ( )
  587.  if 7 - 7: OoOoOO00 + II111iiii . i1IIi
  588.  IIIii1II1II . close ( )
  589.  if len ( ooOOOoOooOoO ) == 0 :
  590.   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 )
  591.   ooOOOoOooOoO = Ooo0 ( )
  592.   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 ) )
  593.  else :
  594.   ooOOOoOooOoO = ooOOOoOooOoO . strip ( )
  595.   i1iI = ooOOOoOooOoO . rfind ( ' ' )
  596.   ooOOOoOooOoO = ooOOOoOooOoO [ i1iI + len ( ' ' ) : ]
  597.   ooOOOoOooOoO = ooOOOoOooOoO . replace ( ':' , '' )
  598.   IiI111ii1ii = chr ( 65 ) + chr ( 112 ) + chr ( 112 ) + chr ( 108 ) + chr ( 101 ) + chr ( 84 ) + chr ( 86 ) + chr ( 95 )
  599.   ooOOOoOooOoO = IiI111ii1ii + ooOOOoOooOoO
  600.   if 97 - 97: OOooOOo / I1ii11iIi11i + Oo0Ooo / Oo0Ooo % I1ii11iIi11i . I1ii11iIi11i
  601. elif O0OOoO00OO0o == chr ( 108 ) + chr ( 105 ) + chr ( 110 ) + chr ( 117 ) + chr ( 120 ) :
  602.  if 55 - 55: Oo0ooO0oo0oO - I11i + II111iiii + iii1I1I % Ii1I
  603.  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 )
  604.  IIIii1II1II = open ( iiI11i1II , 'r' )
  605.  OOOOi11i1 = IIIii1II1II . read ( )
  606.  IIIii1II1II . close ( )
  607.  if 51 - 51: o0oOOo0O0Ooo % Oo0Ooo % o0oOOo0O0Ooo * O0 - OOooOOo % Oo0Ooo
  608.  i1iI = OOOOi11i1 . find ( chr ( 83 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 97 ) + chr ( 108 ) )
  609.  o0O00OooOOOOO = OOOOi11i1 . find ( ': ' , i1iI )
  610.  IIIiiI1i1 = OOOOi11i1 . find ( '\n' , o0O00OooOOOOO )
  611.  if 15 - 15: i1IIi + OoOoOO00
  612.  if OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] == '000000000000000c' or OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] == '0000000000000000' :
  613.   ooOOOoOooOoO = Ooo0 ( )
  614.  elif OOOOi11i1 . find ( 'ARMv6' ) :
  615.   IiI111ii1ii = chr ( 114 ) + chr ( 97 ) + chr ( 115 ) + chr ( 112 ) + chr ( 98 ) + chr ( 101 ) + chr ( 114 ) + chr ( 114 ) + chr ( 121 ) + chr ( 95 )
  616.   ooOOOoOooOoO = IiI111ii1ii + OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ]
  617. elif sys . platform == chr ( 119 ) + chr ( 105 ) + chr ( 110 ) + chr ( 51 ) + chr ( 50 ) :
  618.  import subprocess
  619.  OO0O0O00OooO = xbmcaddon . Addon ( )
  620.  iiI = OO0O0O00OooO . getAddonInfo ( 'path' )
  621.  iiI = iiI . replace ( '\\' , '/' )
  622.  if 48 - 48: I1IiiI % iii1I1I / iIii1I11I1II1
  623.  iiI = iiI + "/syt01"
  624.  if not os . path . isfile ( iiI ) :
  625.   print "Downloading requiered file"
  626.   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 )
  627.  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 )
  628.  Iii1iiIi1II = None
  629.  Iii1iiIi1II = subprocess . STARTUPINFO ( )
  630.  Iii1iiIi1II . dwFlags = 1
  631.  Iii1iiIi1II . wShowWindow = 0
  632.  OO0O00oOo = subprocess . Popen ( IiIiII1 . split ( ) , stdout = subprocess . PIPE , startupinfo = Iii1iiIi1II )
  633.  ii1II , iI1I = OO0O00oOo . communicate ( )
  634.  i1iI = ii1II . rfind ( '-' )
  635.  if 100 - 100: iIii1I11I1II1 + OoOoOO00 / Oo0Ooo . i11iIiiIii
  636.  ooOOOoOooOoO = chr ( 87 ) + chr ( 105 ) + chr ( 110 ) + chr ( 51 ) + chr ( 50 ) + chr ( 95 ) + ii1II [ len ( '-' ) + i1iI : ]
  637.  ooOOOoOooOoO = ooOOOoOooOoO . strip ( )
  638.  if 14 - 14: o0oOOo0O0Ooo * OOooOOo + iii1I1I + O0 + i11iIiiIii
  639. else :
  640.  if 77 - 77: o0oOOo0O0Ooo / OoooooooOO
  641.  if 46 - 46: o0oOOo0O0Ooo % iIii1I11I1II1 . iii1I1I % iii1I1I + i11iIiiIii
  642.  if 72 - 72: iIii1I11I1II1 * Ii1I % Oo0ooO0oo0oO / OoO0O00
  643.  if 35 - 35: Oo0ooO0oo0oO + i1IIi % I1ii11iIi11i % I11i + oO0o
  644.  if 17 - 17: i1IIi
  645.  if 21 - 21: Oo0Ooo
  646.  ooOOOoOooOoO = sys . platform
  647. return ooOOOoOooOoO
  648. if 29 - 29: I11i / II111iiii / Oo0ooO0oo0oO * OOooOOo
  649. def Ooo0 ( ) :
  650. OO0O0O00OooO = xbmcaddon . Addon ( )
  651. iiI = OO0O0O00OooO . getAddonInfo ( 'path' )
  652. i1iI = iiI . rfind ( '/' )
  653. iiI = iiI [ : i1iI ] + chr ( 47 ) + chr ( 46 ) + chr ( 120 ) + chr ( 98 )
  654. if 10 - 10: O0oo0OO0 % O00oOoOoO0o0O * O00oOoOoO0o0O . I11i / Ii1I % OOooOOo
  655. if os . path . isfile ( iiI ) :
  656.  IIIii1II1II = open ( iiI , 'r' )
  657.  IIII1 = IIIii1II1II . read ( )
  658.  IIIii1II1II . close ( )
  659.  IIII1 = IIII1 . strip ( )
  660. else :
  661.  import uuid
  662.  IIII1 = uuid . uuid4 ( )
  663.  IIII1 = str ( IIII1 )
  664.  if 10 - 10: O0oo0OO0 / Oo0ooO0oo0oO + i11iIiiIii / Ii1I
  665.  IIIii1II1II = open ( iiI , 'w' )
  666.  IIIii1II1II . write ( IIII1 )
  667.  IIIii1II1II . close ( )
  668. OOOoOoO = chr ( 97 ) + chr ( 110 ) + chr ( 100 ) + chr ( 114 ) + chr ( 111 ) + chr ( 105 ) + chr ( 100 ) + chr ( 95 ) + IIII1
  669. return OOOoOoO
  670. if 22 - 22: I1IiiI % I1ii11iIi11i
  671. def oO0Oo0O0o ( d ) :
  672. o0oo0O = chr ( 107 ) + chr ( 61 )
  673. i1iI = d . find ( o0oo0O )
  674. d = d [ i1iI + len ( o0oo0O ) : i1iI + len ( o0oo0O ) + 4 ]
  675. if 13 - 13: i11iIiiIii + i1IIi * iIii1I11I1II1 % OoooooooOO - II111iiii * OOooOOo
  676. return d
  677. if 26 - 26: OoooooooOO * I1IiiI + OOooOOo
  678. def iiIiI ( ) :
  679. o0O0OOO0Ooo = xbmc . getInfoLabel ( "System.BuildVersion" )
  680. i1iI = o0O0OOO0Ooo . find ( ' ' )
  681. o0O0OOO0Ooo = o0O0OOO0Ooo [ : i1iI ]
  682. o0O0OOO0Ooo = o0O0OOO0Ooo . strip ( )
  683. print o0O0OOO0Ooo
  684. return o0O0OOO0Ooo
  685. if 24 - 24: i11iIiiIii % iIii1I11I1II1 + OOooOOo / i11iIiiIii
  686. IiI1iiiIii = II1iIi11 ( )
  687. oOoOo00oOo = ''
  688. iI1 ( )
  689. global O0OOoO00OO0o
  690. O0OOoO00OO0o = ''
  691. global OO0O0O00OooO
  692. OO0O0O00OooO = xbmcaddon . Addon ( )
  693. o00ooooO0oO = None
  694. OOOO = None
  695. OOooO0oo0o00o = None
  696. iII = None
  697. oO00o0 = None
  698. ooOO0OoO = None
  699. OOoo0O = False
  700. II = ""
  701. iiIii = "/var/mobile/Library/Preferences/XBMC/addons/plugin.video.megafilms"
  702. Oo0ooOo0o = os . path . join ( iiIii , 'cookies.lwp' )
  703. 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 )
  704. if 59 - 59: I1IiiI * II111iiii . O0
  705. if 56 - 56: Ii1I - iii1I1I % I1IiiI - o0oOOo0O0Ooo
  706. Oo00O = os . path . dirname ( iiIii )
  707. if not os . path . exists ( Oo00O ) :
  708. if 12 - 12: o0oOOo0O0Ooo - Oo0ooO0oo0oO * O0oo0OO0
  709. iiIii = OO0O0O00OooO . getAddonInfo ( 'path' )
  710. Oo0ooOo0o = iiIii + "\cookies.lwp"
  711. print "Detectando que no es un appletv cambiando ruta de cookies"
  712. print iiIii
  713. else :
  714. print "Dejando el cookie path appletv satisfactoriamente detectado"
  715. print iiIii
  716. O0OOoO00OO0o = 'atv'
  717. 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 ) ) :
  718. O0OOoO00OO0o = 'linux'
  719. if 14 - 14: Oo0Ooo - Ii1I % Ii1I * O0 . i11iIiiIii / O0
  720. print "Cookiedel: " + Oo0ooOo0o
  721. if 79 - 79: o0oOOo0O0Ooo - I11i + o0oOOo0O0Ooo . oO0o
  722. if 28 - 28: i1IIi - iii1I1I
  723. o00o000oo = xbmcaddon . Addon ( id = "plugin.video.megafilms" )
  724. ii11i11i1 = o00o000oo . getSetting ( 'use-accountmega' )
  725. if 53 - 53: OoooooooOO % Ii1I . O00oOoOoO0o0O / i11iIiiIii % iii1I1I
  726. if os . path . exists ( Oo0ooOo0o ) :
  727. os . remove ( Oo0ooOo0o )
  728. print "Borrando Cookies..."
  729. if 28 - 28: I11i
  730. if ii11i11i1 == 'true' :
  731. ooOO0O0ooOooO = o00o000oo . getSetting ( 'usernamemega' )
  732. iiIIIi = o00o000oo . getSetting ( 'passwordmega' )
  733. else :
  734. ooo = xbmcgui . Dialog ( )
  735. ooo . ok ( "Username y Password" , "No has puesto username y password para megafilms" )
  736. oOOOOoo = xbmcaddon . Addon ( )
  737. oOOOOoo . openSettings ( )
  738. ooOO0O0ooOooO = o00o000oo . getSetting ( 'usernamemega' )
  739. iiIIIi = o00o000oo . getSetting ( 'passwordmega' )
  740. if 58 - 58: o0oOOo0O0Ooo / O00oOoOoO0o0O . OoOoOO00 / OoooooooOO + O0oo0OO0
  741. if 86 - 86: I11i * I1IiiI + I11i + II111iiii
  742. IIIii1II1II = urllib . urlopen ( "http://www.megafilms.org/opcio.php?user=" + ooOO0O0ooOooO )
  743. i1i111iI = IIIii1II1II . read ( )
  744. IIIii1II1II . close ( )
  745. IIiiI = len ( "adultos=" )
  746. if 31 - 31: I1ii11iIi11i + Ii1I + O0oo0OO0 / Ii1I
  747. iiI111 = IIiiI + len ( "<br>version=" ) + 1
  748. if 1 - 1: I11i * o0oOOo0O0Ooo . OoOoOO00 / O0
  749. O00 = i1i111iI [ iiI111 : iiI111 + 4 ]
  750. O0ooo0 = iiI111 + len ( "<br>cortesia=" ) + 1 + 3
  751. if 8 - 8: Oo0ooO0oo0oO + II111iiii / iii1I1I / I11i
  752. I1111IIIIIi = O0ooo0 + len ( "<br>dish=" ) + 1
  753. if 74 - 74: O0 / i1IIi
  754. i1iI = i1i111iI . find ( 'ip=' )
  755. o0O00OooOOOOO = i1i111iI . find ( '<br>' , i1iI )
  756. Iiii1i1 = i1i111iI [ len ( 'ip=' ) + i1iI : o0O00OooOOOOO ]
  757. if 78 - 78: OoooooooOO . OoO0O00 + Oo0ooO0oo0oO - i1IIi
  758. i1iI = i1i111iI . find ( 'urlMaster=' )
  759. o0O00OooOOOOO = i1i111iI . find ( '<br>' , i1iI )
  760. global iIII1
  761. iIII1 = i1i111iI [ len ( 'urlMaster=' ) + i1iI : o0O00OooOOOOO ]
  762. if 31 - 31: OoooooooOO . OOooOOo
  763. if IiiIII111iI >= O00 :
  764. print "estamos en la version correcta"
  765. else :
  766. print "no estamos en la version correcta, actualizando.."
  767. print "version nueva: " + O00
  768. print OO0O0O00OooO . getAddonInfo ( 'path' )
  769. print "Bajando actualizacion.."
  770. oOoOooOo0o0 ( Oo0 , iiIii )
  771. ooo = xbmcgui . Dialog ( )
  772. ooo . ok ( "Version Incorrecta" , "Nueva Actualizacion Encontrada - Descargando...\nNueva version: " + O00 + " - Reinicia MegaFilms porfavor." )
  773. if 83 - 83: iii1I1I . O0 / Oo0Ooo / OOooOOo - II111iiii
  774. o0o = i1i111iI [ IIiiI ]
  775. oO0oO0 = i1i111iI [ O0ooo0 ]
  776. I1111IIIIIi = i1i111iI [ I1111IIIIIi ]
  777. print o0o + " " + IiiIII111iI + " " + oO0oO0 + " " + I1111IIIIIi + " " + Iiii1i1
  778. if 14 - 14: iii1I1I
  779. if 99 - 99: iii1I1I
  780. if 38 - 38: I1ii11iIi11i - iii1I1I / O0 . O0oo0OO0
  781. if 45 - 45: O0oo0OO0
  782. print "hide: " , ooOO0OoO
  783. if 83 - 83: OoOoOO00 . OoooooooOO
  784. try :
  785. o00ooooO0oO = urllib . unquote_plus ( IiI1iiiIii [ "url" ] )
  786. except :
  787. pass
  788. try :
  789. OOOO = urllib . unquote_plus ( IiI1iiiIii [ "name" ] )
  790. except :
  791. pass
  792. try :
  793. OOooO0oo0o00o = int ( IiI1iiiIii [ "mode" ] )
  794. except :
  795. pass
  796. if 58 - 58: i11iIiiIii + OoooooooOO % OoooooooOO / O00oOoOoO0o0O / i11iIiiIii
  797. print "Mode: " + str ( OOooO0oo0o00o )
  798. if 62 - 62: OoO0O00 / I1ii11iIi11i
  799. print "Name: " + str ( OOOO )
  800. if 7 - 7: OoooooooOO . O00oOoOoO0o0O
  801. if OOooO0oo0o00o == None or o00ooooO0oO == None or len ( o00ooooO0oO ) < 1 :
  802. print ""
  803. iiI1I11i1i ( 'http://www.humexico.org' )
  804. if 53 - 53: Ii1I % Ii1I * o0oOOo0O0Ooo + OoOoOO00
  805. elif OOooO0oo0o00o == 1 :
  806. if 92 - 92: OoooooooOO + i1IIi / Ii1I * O0
  807. IIi1 ( o00ooooO0oO )
  808. if 100 - 100: Oo0ooO0oo0oO % iIii1I11I1II1 * II111iiii - iii1I1I
  809. elif OOooO0oo0o00o == 2 :
  810. if 92 - 92: Oo0ooO0oo0oO
  811. oOooOo0 ( o00ooooO0oO , OOOO )
  812. if 22 - 22: Oo0Ooo % iii1I1I * I1ii11iIi11i / OOooOOo % i11iIiiIii * I11i
  813. elif OOooO0oo0o00o == 3 :
  814. print "Bajando actualizacion.."
  815. oOoOooOo0o0 ( Oo0 , iiIii )
  816. ooo = xbmcgui . Dialog ( )
  817. ooo . ok ( "Descargando Actualizacion..." , "Actualizacion descargada reiniciar MegaFilms" )
  818. if 95 - 95: OoooooooOO - O00oOoOoO0o0O * I1IiiI + OoOoOO00
  819. elif OOooO0oo0o00o == 4 :
  820. if 10 - 10: o0oOOo0O0Ooo / i11iIiiIii
  821. o0OIiI1i ( OOOO , o00ooooO0oO )
  822. if 92 - 92: I11i . O0oo0OO0
  823. elif OOooO0oo0o00o == 5 :
  824. if 85 - 85: I1ii11iIi11i . O0oo0OO0
  825. OO0ooOOO0OOO ( o00ooooO0oO , OOOO , '' )
  826. elif OOooO0oo0o00o == 6 :
  827. print "Entrando a sección de Favoritos.."
  828. o0O0OOOOoOO0 ( )
  829. elif OOooO0oo0o00o == 7 :
  830. if 78 - 78: Oo0ooO0oo0oO * O0oo0OO0 + iIii1I11I1II1 + iIii1I11I1II1 / O0oo0OO0 . Ii1I
  831. oOOOOoo = xbmcaddon . Addon ( )
  832. oOOOOoo . openSettings ( )
  833. elif OOooO0oo0o00o == 8 :
  834. iIiIi11iI ( OOOO , o00ooooO0oO )
  835. if 97 - 97: Oo0ooO0oo0oO / O0oo0OO0 % i1IIi % I1ii11iIi11i
  836. xbmcplugin . endOfDirectory ( int ( sys . argv [ 1 ] ) )
  837.  

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines