From 6c3b216b408b026859ec2d2d17e208bc38b324e4 Mon Sep 17 00:00:00 2001 From: John Garland Date: Mon, 30 Aug 2010 23:56:16 +1000 Subject: [PATCH] Use a temp filename with add_torrent_url --- deluge/core/core.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/deluge/core/core.py b/deluge/core/core.py index 636d6b710..3d4fcf4d5 100644 --- a/deluge/core/core.py +++ b/deluge/core/core.py @@ -42,6 +42,7 @@ import shutil import threading import pkg_resources import warnings +import tempfile from twisted.internet import reactor, defer @@ -238,7 +239,13 @@ class Core(component.Component): log.info("Attempting to add url %s", url) def on_get_file(filename): # We got the file, so add it to the session - data = open(filename, "rb").read() + f = open(filename, "rb") + data = f.read() + f.close() + try: + os.remove(filename) + except Exception, e: + log.warning("Couldn't remove temp file: %s", e) return self.add_torrent_file(filename, base64.encodestring(data), options) def on_get_file_error(failure): @@ -247,7 +254,7 @@ class Core(component.Component): log.error("Reason: %s", failure.getErrorMessage()) return failure - d = download_file(url, url.split("/")[-1], headers=headers) + d = download_file(url, tempfile.mkstemp()[1], headers=headers) d.addCallback(on_get_file) d.addErrback(on_get_file_error) return d