source: sasview/src/sas/sasgui/guiframe/__init__.py @ afb311e

Last change on this file since afb311e was 5a405bd, checked in by Paul Kienzle <pkienzle@…>, 7 years ago

bundle resource files by directory

  • Property mode set to 100644
File size: 2.2 KB
RevLine 
[959eb01]1
2
3import os
4from distutils.filelist import findall
5
6def get_data_path(media):
7    """
8    """
9    # Check for data path in the package
10    path = os.path.join(os.path.dirname(__file__), media)
11    if os.path.isdir(path):
12        return path
13
14    # Check for data path next to exe/zip file.
15    # If we are inside a py2exe zip file, we need to go up
[5a405bd]16    # to get to the directory containing
[959eb01]17    # the media for this module
18    path = os.path.dirname(__file__)
19    #Look for maximum n_dir up of the current dir to find media
20    n_dir = 12
21    for i in range(n_dir):
22        path, _ = os.path.split(path)
23        media_path = os.path.join(path, media)
24        if os.path.isdir(media_path):
25            module_media_path = os.path.join(media_path, 'icons')
26            if os.path.isdir(module_media_path):
27                return module_media_path
28            return media_path
[5a405bd]29
[959eb01]30    raise RuntimeError('Could not find guiframe images files')
31
32def get_media_path(media):
33    """
34    """
35    # Check for data path in the package
36    path = os.path.join(os.path.dirname(__file__), media)
37    if os.path.isdir(path):
38        return path
39
40    # Check for data path next to exe/zip file.
41    # If we are inside a py2exe zip file, we need to go up
[5a405bd]42    # to get to the directory containing
[959eb01]43    # the media for this module
44    path = os.path.dirname(__file__)
45    #Look for maximum n_dir up of the current dir to find media
46    n_dir = 12
47    for i in range(n_dir):
48        path, _ = os.path.split(path)
49        media_path = os.path.join(path, media)
50        if os.path.isdir(media_path):
51            module_media_path = os.path.join(media_path, 'guiframe_media')
52            if os.path.isdir(module_media_path):
53                return module_media_path
54            return media_path
55    raise RuntimeError('Could not find guiframe media files')
56
57def data_files():
58    """
59    Return the data files associated with guiframe images .
[5a405bd]60
[959eb01]61    The format is a list of (directory, [files...]) pairs which can be
62    used directly in setup(...,data_files=...) for setup.py.
63
64    """
65    data_files = []
[5a405bd]66    data_files.append(('images/icons', findall(get_data_path("images"))))
67    data_files.append(('media/guiframe_media', findall(get_data_path("media"))))
[959eb01]68
69    return data_files
Note: See TracBrowser for help on using the repository browser.