pycurl を使用する場合、どのオプション ( opt
) が設定されているかを確認する最良の方法は何ですか?
たとえば、pycurl オブジェクトを返すメソッドを呼び出します。私がやりたいことは、呼び出しを行って、どの opts ( pycurl.setopts
) が設定されているかを確認することです。
そんな選択肢はないと思います。ただし、curl オブジェクトを次のような別のオブジェクトにカプセル化するのは簡単です。
class ExtendedCurl:
invpycurl = {v:k for k, v in pycurl.__dict__.items()}
def __init__(self):
self._pycurl = pycurl.Curl()
self._options = {}
def setopt(self, opt, val):
self._pycurl.setopt(self, opt, val)
self._options[opt] = val
def unsetopt(self, opt):
self._pycurl.setopt(self, opt, val)
del self._options[opt]
def reset(self):
self._pycurl.setopt(self, opt, val)
self._options = dict()
def getopts(self):
for opt, val in self._options.iteritems():
if opt in self.invpycurl.keys():
print "{}: {}".formart(opt, val)
def errstr(self):
return self._pycurl.errstr()
def perform(self):
return self._pycurl.perform()
def close(self):
return self._pycurl.close()
__enter__
それに基づいて、 and __exit__
(with ステートメントのサポート用) のようなメソッドを追加pycurl.URL
し、コンストラクターでオプションをサポートするなどして、pycurl インターフェイスをより適切にすることもできます。