Mercurial > eagle-eye
view ikweb/tools/lazy/www/work/fetch.py @ 377:5d6f429e5f19 tip
fixed a typo.
author | "Rex Tsai <chihchun@kalug.linux.org.tw>" |
---|---|
date | Tue, 14 Apr 2009 17:16:43 +0800 |
parents | 7747bbe5b68e |
children |
line wrap: on
line source
import urllib2 import urllib import cookielib import os class Fetcher: opener = None working_product = None """ A Semi Production Decoration for content fetching. handles content restriving. >>> o = Fetcher( SemiProduct(source="http://localhost:8080") ) >>> o.get().working_product.content 'It works!!\\n' """ def __init__(self, working_product): self.working_product = working_product def get(self, data = {}): """ send datas via http get method. """ res = urllib2.urlopen(self.working_product.source, urllib.urlencode(data)) return res.read() def post(self, data = {} ): """ send datas via http post method. >>> o = Fetcher( SemiProduct(source="http://localhost:8080") ) >>> o.post({'a':'b'}).working_product.content 'It works!!\\n' """ res = urllib2.urlopen(self.working_product.source, urllib.urlencode(data)) return res.read() def refer(self, refer_url): """ refer getter/setter. >>> o = Fetcher( SemiProduct(source="http://localhost:8080") ) >>> o.refer('http://www.example.com') """ raise NotImplementedError def retry(self, count = 0, intval = 0, timeout = 0): """ retry to fetch the content. >>> o = Fetcher( SemiProduct(source="http://localhost:8080") ) >>> o.retry(4) """ raise NotImplementedError class Retry: """ A Fetcher Decoration for retry goal. """ def __init__(self, fetcher): raise NotImplementedError if __name__ == '__main__': import doctest doctest.testmod()