summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Wendel <h_wendel@cojobo.net>2008-03-02 14:09:22 +0000
committerHeinrich Wendel <h_wendel@cojobo.net>2008-03-02 14:09:22 +0000
commitd8ad5ee28409ead94cb2667ac96c729a8aadcd33 (patch)
tree6f5ceac5390feef72f44f90c65957efcf0ba87a6
parent0b063fa389fe9753ceec0c22b3ece88539ffccb8 (diff)
small fixes
-rw-r--r--xdg/IconTheme.py14
-rw-r--r--xdg/IniFile.py12
2 files changed, 21 insertions, 5 deletions
diff --git a/xdg/IconTheme.py b/xdg/IconTheme.py
index 5c30ebf..41172c2 100644
--- a/xdg/IconTheme.py
+++ b/xdg/IconTheme.py
@@ -272,10 +272,16 @@ def getIconPath(iconname, size = None, theme = None, extensions = ["png", "svg",
for dir, values in dache.items():
for extension in extensions:
- if iconname + "." + extension in values[0]:
- icon = os.path.join(dir, iconname + "." + extension)
- eache[tmp] = [time.time(), icon]
- return icon
+ try:
+ if iconname + "." + extension in values[0]:
+ icon = os.path.join(dir, iconname + "." + extension)
+ eache[tmp] = [time.time(), icon]
+ return icon
+ except UnicodeDecodeError, e:
+ if debug:
+ raise e
+ else:
+ pass
# we haven't found anything? "hicolor" is our fallback
if theme != "hicolor":
diff --git a/xdg/IniFile.py b/xdg/IniFile.py
index d711772..9508a5e 100644
--- a/xdg/IniFile.py
+++ b/xdg/IniFile.py
@@ -31,8 +31,16 @@ class IniFile:
if not os.path.isfile(filename):
raise ParsingError("File not found", filename)
+ try:
+ fd = file(filename, 'r')
+ except IOError, e:
+ if debug:
+ raise e
+ else:
+ return
+
# parse file
- for line in file(filename,'r'):
+ for line in fd:
line = line.strip()
# empty line
if not line:
@@ -60,6 +68,8 @@ class IniFile:
except (IndexError, UnboundLocalError):
raise ParsingError("[%s]-Header missing" % headers[0], filename)
+ fd.close()
+
self.filename = filename
self.tainted = False