Commit 9a5b3ef0 authored by Dan Pascu's avatar Dan Pascu

Enhanced detection of the application resources directory

parent 6f9dff08
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
__all__ = ['ApplicationData', 'Resources', 'IconManager'] __all__ = ['ApplicationData', 'Resources', 'IconManager']
import __main__
import imghdr import imghdr
import os import os
import platform import platform
...@@ -60,10 +61,14 @@ class Resources(object): ...@@ -60,10 +61,14 @@ class Resources(object):
@classproperty @classproperty
def directory(cls): def directory(cls):
if cls._cached_directory is None: if cls._cached_directory is None:
if sys.path[0] == '': try:
application_directory = os.path.realpath('') # executed in interactive interpreter binary_directory = os.path.dirname(os.path.realpath(__main__.__file__))
except AttributeError:
if hasattr(sys, 'frozen'):
application_directory = os.path.dirname(os.path.realpath(sys.executable))
else:
application_directory = os.path.realpath('') # executed in interactive interpreter
else: else:
binary_directory = os.path.dirname(os.path.realpath(sys.argv[0]))
if os.path.basename(binary_directory) == 'bin': if os.path.basename(binary_directory) == 'bin':
application_directory = os.path.dirname(binary_directory) application_directory = os.path.dirname(binary_directory)
else: else:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment