Kaydet (Commit) 03710d2a authored tarafından Guido van Rossum's avatar Guido van Rossum

Two suggested features by Sjoerd:

- use the tempcache in the open() method, too.

- use the "unwrap"ped url as key for the tempcache.
üst c5d8fed2
......@@ -134,6 +134,10 @@ class URLopener:
# Use URLopener().open(file) instead of open(file, 'r')
def open(self, fullurl, data=None):
fullurl = unwrap(fullurl)
if self.tempcache and self.tempcache.has_key(fullurl):
filename, headers = self.tempcache[fullurl]
fp = open(filename, 'rb')
return addinfourl(fp, headers, fullurl)
type, url = splittype(fullurl)
if not type: type = 'file'
self.openedurl = '%s:%s' % (type, url)
......@@ -168,14 +172,11 @@ class URLopener:
# retrieve(url) returns (filename, None) for a local object
# or (tempfilename, headers) for a remote object
def retrieve(self, url, filename=None):
url = unwrap(url)
self.openedurl = url
if self.tempcache and self.tempcache.has_key(url):
return self.tempcache[url]
url1 = unwrap(url)
self.openedurl = url1
if self.tempcache and self.tempcache.has_key(url1):
self.tempcache[url] = self.tempcache[url1]
return self.tempcache[url1]
type, url1 = splittype(url1)
type, url1 = splittype(url)
if not filename and (not type or type == 'file'):
try:
fp = self.open_local_file(url1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment