Add option to GlibURLDownloader to download to specified file instead of tempfile

This commit is contained in:
Dan Williams 2007-07-23 01:17:21 -04:00
parent 98aef7d74f
commit 62e424628e

View File

@ -26,6 +26,7 @@ import sys
import httplib
import urllib
import fcntl
import tempfile
import gobject
import SimpleXMLRPCServer
@ -183,17 +184,23 @@ class GlibURLDownloader(gobject.GObject):
def __init__(self, url, destdir=None):
self._url = url
if not destdir:
destdir = "/tmp"
destdir = tempfile.gettempdir()
self._destdir = destdir
self._srcid = 0
self._fname = None
self._outf = None
gobject.GObject.__init__(self)
def start(self):
def start(self, destfile=None):
self._info = urllib.urlopen(self._url)
self._outf = None
self._fname = None
if destfile:
self._suggested_fname = os.path.basename(destfile)
self._fname = os.path.abspath(os.path.expanduser(destfile))
self._outf = os.open(self._fname, os.O_RDWR | os.O_TRUNC | os.O_CREAT, 0644)
else:
self._suggested_fname = self._get_filename_from_headers(self._info.headers)
import tempfile
garbage, path = urllib.splittype(self._url)
garbage, path = urllib.splithost(path or "")
path, garbage = urllib.splitquery(path or "")