]> code.delx.au - webdl/blobdiff - common.py
Fixed unicode support
[webdl] / common.py
index 25038c805ac0868000d53557b4c0806d408dc381..3b7ceff5fb1557ee3981edbcc701a29b1f1d0767 100644 (file)
--- a/common.py
+++ b/common.py
@@ -20,8 +20,11 @@ import urllib2
 import urlparse
 
 
-import autosocks
-autosocks.try_autosocks()
+try:
+       import autosocks
+       autosocks.try_autosocks()
+except ImportError:
+       pass
 
 CACHE_DIR = os.path.expanduser("~/.cache/webdl")
 USER_AGENT = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1"
@@ -118,12 +121,17 @@ def grab_xml(url, max_age):
        f.close()
        return doc
 
-def grab_json(url, max_age, skip_assignment=False):
+def grab_json(url, max_age, skip_assignment=False, skip_function=False):
        f = urlopen(url, max_age)
        if skip_assignment:
                text = f.read()
                pos = text.find("=")
                doc = json.loads(text[pos+1:])
+       elif skip_function:
+               text = f.read()
+               pos = text.find("(")
+               rpos = text.rfind(")")
+               doc = json.loads(text[pos+1:rpos])
        else:
                doc = json.load(f)
        f.close()