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()