Use profile module for consistent work-directory.
[automanga.git] / manga / htcache.py
index 45ede5d..2aa594e 100644 (file)
@@ -1,4 +1,5 @@
 import os, hashlib, urllib.request, time
+from . import profile
 pj = os.path.join
 
 class cache(object):
@@ -11,7 +12,8 @@ class cache(object):
         return n.hexdigest()
 
     def miss(self, url):
-        with urllib.request.urlopen(url) as s:
+        req = urllib.request.Request(url, headers={"User-Agent": "automanga/1"})
+        with urllib.request.urlopen(req) as s:
             if s.headers.get("content-encoding") == "gzip":
                 import gzip, io
                 return gzip.GzipFile(fileobj=io.BytesIO(s.read()), mode="r").read()
@@ -30,10 +32,7 @@ class cache(object):
             f.write(data)
         return data
 
-home = os.getenv("HOME")
-if home is None or not os.path.isdir(home):
-    raise Exception("Could not find home directory for HTTP caching")
-default = cache(pj(home, ".manga", "htcache"))
+default = cache(pj(profile.confdir, "htcache"))
 
 def fetch(url, expire=3600):
     return default.fetch(url, expire)