def downloadfileGzipped(url,pathfichero): logger.info("[downloadtools.py] downloadfileGzipped: url="+url) nombrefichero = pathfichero logger.info("[downloadtools.py] downloadfileGzipped: nombrefichero="+nombrefichero) nombrefichero = xbmc.makeLegalFilename(nombrefichero) logger.info("[downloadtools.py] downloadfileGzipped: nombrefichero="+nombrefichero) patron = "(http://[^/]+)/.+" matches = re.compile(patron,re.DOTALL).findall(url) if len(matches): logger.info("[downloadtools.py] URL principal :"+matches[0]) url1= matches[0] else: url1 = url txheaders = {'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language':'es-es,es;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding':'gzip,deflate', 'Accept-Charset':'UTF-8,utf-8;q=0.7,*;q=0.7', 'Keep-Alive':'115', 'Connection':'keep-alive', 'Referer':url1, } txdata = "" # Crea el di�logo de progreso progreso = xbmcgui.DialogProgress() progreso.create( config.getPluginId() , "Descargando file..." , url , nombrefichero ) # Timeout del socket a 60 segundos socket.setdefaulttimeout(10) h=urllib2.HTTPHandler(debuglevel=0) request = urllib2.Request(url, txdata, txheaders) #if existSize > 0: # request.add_header('Range', 'bytes=%d-' % (existSize, )) opener = urllib2.build_opener(h) urllib2.install_opener(opener) try: connexion = opener.open(request) except urllib2.HTTPError,e: logger.info("[downloadtools.py] downloadfile: error %d (%s) al abrir la url %s" % (e.code,e.msg,url)) #print e.code #print e.msg #print e.hdrs #print e.fp f.close() progreso.close() # El error 416 es que el rango pedido es mayor que el fichero => es que ya est� completo if e.code==416: return 0 else: return -2
def downloadfileGzipped(url,pathfichero): logger.info("[downloadtools.py] downloadfileGzipped: url="+url) nombrefichero = pathfichero logger.info("[downloadtools.py] downloadfileGzipped: nombrefichero="+nombrefichero) import xbmc nombrefichero = xbmc.makeLegalFilename(nombrefichero) logger.info("[downloadtools.py] downloadfileGzipped: nombrefichero="+nombrefichero) patron = "(http://[^/]+)/.+" matches = re.compile(patron,re.DOTALL).findall(url) if len(matches): logger.info("[downloadtools.py] URL principal :"+matches[0]) url1= matches[0] else: url1 = url txheaders = {'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language':'es-es,es;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding':'gzip,deflate', 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Keep-Alive':'115', 'Connection':'keep-alive', 'Referer':url1, } txdata = "" # Crea el diálogo de progreso import xbmcgui progreso = xbmcgui.DialogProgress() progreso.create( config.getPluginId() , "Descargando file..." , url , nombrefichero ) # Timeout del socket a 60 segundos socket.setdefaulttimeout(10) h=urllib2.HTTPHandler(debuglevel=0) request = urllib2.Request(url, txdata, txheaders) #if existSize > 0: # request.add_header('Range', 'bytes=%d-' % (existSize, )) opener = urllib2.build_opener(h) urllib2.install_opener(opener) try: connexion = opener.open(request) except urllib2.HTTPError,e: logger.info("[downloadtools.py] downloadfile: error %d (%s) al abrir la url %s" % (e.code,e.msg,url)) #print e.code #print e.msg #print e.hdrs #print e.fp progreso.close() # El error 416 es que el rango pedido es mayor que el fichero => es que ya está completo if e.code==416: return 0 else: return -2
def downloadfile(url,nombrefichero): logger.info("[downloadtools.py] downloadfile: url="+url) logger.info("[downloadtools.py] downloadfile: nombrefichero="+nombrefichero) # antes #f=open(nombrefichero,"wb") try: import xbmc nombrefichero = xbmc.makeLegalFilename(nombrefichero) except: pass logger.info("[downloadtools.py] downloadfile: nombrefichero="+nombrefichero) # despues if os.path.exists(nombrefichero): f = open(nombrefichero, 'r+b') existSize = os.path.getsize(nombrefichero) logger.info("[downloadtools.py] downloadfile: el fichero existe, size=%d" % existSize) grabado = existSize f.seek(existSize) else: existSize = 0 logger.info("[downloadtools.py] downloadfile: el fichero no existe") f = open(nombrefichero, 'wb') grabado = 0 # Crea el diálogo de progreso import xbmcgui progreso = xbmcgui.DialogProgress() progreso.create( config.getPluginId() , "Descargando vídeo..." , url , nombrefichero ) # Timeout del socket a 60 segundos socket.setdefaulttimeout(10) h=urllib2.HTTPHandler(debuglevel=0) request = urllib2.Request(url) if existSize > 0: request.add_header('Range', 'bytes=%d-' % (existSize, )) opener = urllib2.build_opener(h) urllib2.install_opener(opener) try: connexion = opener.open(request) except urllib2.HTTPError,e: logger.info("[downloadtools.py] downloadfile: error %d (%s) al abrir la url %s" % (e.code,e.msg,url)) #print e.code #print e.msg #print e.hdrs #print e.fp f.close() progreso.close() # El error 416 es que el rango pedido es mayor que el fichero => es que ya está completo if e.code==416: return 0 else: return -2