diff options
author | Heinrich Wendel <h_wendel@cojobo.net> | 2008-03-02 14:09:22 +0000 |
---|---|---|
committer | Heinrich Wendel <h_wendel@cojobo.net> | 2008-03-02 14:09:22 +0000 |
commit | d8ad5ee28409ead94cb2667ac96c729a8aadcd33 (patch) | |
tree | 6f5ceac5390feef72f44f90c65957efcf0ba87a6 | |
parent | 0b063fa389fe9753ceec0c22b3ece88539ffccb8 (diff) |
small fixes
-rw-r--r-- | xdg/IconTheme.py | 14 | ||||
-rw-r--r-- | xdg/IniFile.py | 12 |
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 |