From 46c77ed2f40998c32587479b4754009cbc5efa67 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Tue, 31 Mar 2015 00:24:37 +0200 Subject: Fix issue #7858 GUI fails to start if run from a directory that contains a "data" sub-directory <- This is now fixed. --- libmat/mat.py | 22 +++++++++++----------- mat-gui | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libmat/mat.py b/libmat/mat.py index 70e9d75..257a18e 100644 --- a/libmat/mat.py +++ b/libmat/mat.py @@ -36,23 +36,23 @@ import strippers # this is loaded here because we need LOGGING_LEVEL def get_logo(): ''' Return the path to the logo ''' - if os.path.isfile('./data/mat.png'): - return './data/mat.png' + if os.path.isfile(os.path.join(os.path.curdir, 'data/mat.png')): + return os.path.join(os.path.curdir,'data/mat.png') elif os.path.isfile('/usr/share/pixmaps/mat.png'): return '/usr/share/pixmaps/mat.png' elif os.path.isfile('/usr/local/share/pixmaps/mat.png'): return '/usr/local/share/pixmaps/mat.png' -def get_datadir(): - ''' Return the path to the data directory +def get_datafile_path(filename): + ''' Return the path to the given ressource ''' - if os.path.isdir('./data/'): - return './data/' - elif os.path.isdir('/usr/local/share/mat/'): - return '/usr/local/share/mat/' - elif os.path.isdir('/usr/share/mat/'): - return '/usr/share/mat/' + if os.path.isfile(os.path.join(os.path.curdir, 'data', filename)): + return os.path.join(os.path.curdir, 'data', filename) + elif os.path.isfile(os.path.join('/usr/local/share/mat/', filename)): + return os.path.join('/usr/local/share/mat/', filename) + elif os.path.isfile(os.path.join('/usr/share/mat/', filename)): + return os.path.join('/usr/share/mat/', filename) def list_supported_formats(): @@ -63,7 +63,7 @@ def list_supported_formats(): handler = XMLParser() parser = xml.sax.make_parser() parser.setContentHandler(handler) - path = os.path.join(get_datadir(), 'FORMATS') + path = get_datafile_path('FORMATS') with open(path, 'r') as xmlfile: parser.parse(xmlfile) diff --git a/mat-gui b/mat-gui index aa3ee07..dbea525 100755 --- a/mat-gui +++ b/mat-gui @@ -41,7 +41,7 @@ class GUI(object): # Main window self.builder = Gtk.Builder() self.builder.set_translation_domain('MAT') - self.builder.add_from_file(os.path.join(mat.get_datadir(), 'mat.glade')) + self.builder.add_from_file(mat.get_datafile_path('mat.glade')) self.builder.connect_signals(self) self.logo = mat.get_logo() @@ -71,7 +71,7 @@ class GUI(object): self.supported_dict = mat.XMLParser() xml_parser = xml.sax.make_parser() xml_parser.setContentHandler(self.supported_dict) - path = os.path.join(mat.get_datadir(), 'FORMATS') + path = mat.get_datafile_path('FORMATS') with open(path, 'r') as xmlfile: xml_parser.parse(xmlfile) -- cgit v1.3