我有三个函数,每个函数都在内部调用它下面的函数:
每个函数都使用HTTP请求。这意味着最后一个函数只使用一个HTTP请求,而第一个函数使用三个。
GetBitrateOverHTTP
函数仅返回比特率。
这些函数可以自行运行,但现在我想获取特定网址的所有三个输出。
我想到了:
任何帮助?
答案 0 :(得分:0)
这些方面的东西:
class RemoteFile(...):
...
def getInfo(self):
resp = self._do_that_http_request(self.remotepath)
return RemoteFileInfo(resp)
class RemoteFileInfo(...):
def __init__(self, resp):
self.bitrate = self._getbitrate(resp)
self.filesize = self._getfilesize(resp)
...
等等
答案 1 :(得分:0)
我实现了一个缓存选项。我创建了一个虚拟文件并导入它。 然后我在每个函数的开头使用:
if hasattr(dummy, 'GetFileSize_cache'):
if dummy.GetFileSize_cache.has_key(url):
return dummy.GetFileSize_cache[url]
else:
dummy.GetFileSize_cache = {}
就在回归之前:
dummy.GetFileSize_cache[url] = file_size
问题解决了:))