2013-06-12 3 views
1

pycurl을 사용할 때 어떤 옵션 (opt)이 설정되었는지 확인하는 가장 좋은 방법은 무엇입니까?Pycurl 목록 설정 옵션

예를 들어, 나는 pycurl 개체를 반환하는 메서드를 호출합니다. 내가하고 싶은 일은 전화 (pycurl.setopts)가 설정되었는지 확인하는 것입니다.

답변

1

나는 그런 옵션이 있다고 생각하지 않습니다. 그러나 같은 것이 또 다른 하나에 컬 오브젝트를 캡슐화하기 쉬운 것입니다 :

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____exit__ (같은 방법을 추가하여 pycurl 인터페이스가 좋네요 만들 수 지원), 생성자 등에서 pycurl.URL 옵션을 지원하십시오.

+0

가능하면 고맙겠습니다.하지만 유일한 해결책 일 수 있습니다. –

+0

afaict, 그게 유일한 해결책입니다. 물론 pycurl의 C 소스 코드를 파헤 치지 않아서 숨겨진 기호가 있으면 원하는 것을 얻을 수는 없지만 문서가없는 이유는 없습니다. – zmo