summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--giscanner/cachestore.py8
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ba52604a..947f80ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-12-08 Johan Dahlin <johan@async.com.br>
+ * giscanner/cachestore.py (_get_cachedir): Don't require
+ HOME to be set and if it set, don't require the
+ directory to exist.
+
+2008-12-08 Johan Dahlin <johan@async.com.br>
+
* giscanner/cachestore.py (CacheStore.store): Dump the cache
file to a temporary file and rename it the expected filename
only when it's completely written.
diff --git a/giscanner/cachestore.py b/giscanner/cachestore.py
index b2fee6aa..f7f0062a 100644
--- a/giscanner/cachestore.py
+++ b/giscanner/cachestore.py
@@ -26,7 +26,13 @@ import tempfile
def _get_cachedir():
- cachedir = os.path.join(os.environ['HOME'], '.cache')
+ homedir = os.environ.get('HOME')
+ if homedir is None:
+ return None
+ if not os.path.exists(homedir):
+ return None
+
+ cachedir = os.path.join(homedir, '.cache')
if not os.path.exists(cachedir):
os.mkdir(cachedir, 0755)