Mercurial > eagle-eye
diff pyikriam/lazy/www/__init__.py @ 246:60c4b4b78a01
code clean
author | "Hisn Yi, Chen <ossug.hychen@gmail.com>" |
---|---|
date | Mon, 01 Dec 2008 00:25:07 +0800 |
parents | a4c364888197 |
children |
line wrap: on
line diff
--- a/pyikriam/lazy/www/__init__.py Fri Nov 14 02:05:48 2008 +0800 +++ b/pyikriam/lazy/www/__init__.py Mon Dec 01 00:25:07 2008 +0800 @@ -15,7 +15,7 @@ return {'msg':s} try: - c("http://example.tw/").get().find("#id > div") \ + c("http://example.tw/").get().find("////ul/text()") \ .build_param( func ).post_to("http://example2.com") \ .save_as('hellow.html') except: @@ -38,10 +38,21 @@ print "unknow error." """ from lazy.www.work import WorkFlow -from lazy.www.work.fetch import Fetcher, install_opener +from lazy.www.work.fetch import Fetcher +from lazy.www.work.storage import FileStorager from lazy.www.core import SemiProduct +import os +import sys +import re -def c(url): +def parse_scheme(scheme): + try: + return re.findall("(\w+):\/\/(.*\/?)",scheme)[0] + except: + sys.stdout.write("the scheme is not supported.") + sys.exit() + +def c(scheme): """ connect to a web apge @@ -51,14 +62,17 @@ >>> c('http://localhost:8080').get().find('//text()') 'It works!!\\n' """ - s= SemiProduct(source=url) - w = WorkFlow(Fetcher(s)) - return w + target_type, path = parse_scheme(scheme) -def lz_install(**kwds): - if('opener' == kwds.get('name')): - install_opener(kwds.get('cookiefile')) + #@todo: SemiProduct Factory. + if 'file' == target_type: + s= SemiProduct(source=path) + worker = FileStorager(s) + else: + s= SemiProduct(source=scheme) + worker = Fetcher(s) + return WorkFlow(worker) if __name__ == '__main__': import doctest - doctest.testmod() \ No newline at end of file + doctest.testmod()