You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
6 years ago
|
# -*- coding: utf-8 -*-
|
||
|
#
|
||
|
# Copyright © 2012 Pierre Raybaut
|
||
|
# Licensed under the terms of the MIT License
|
||
|
# (see winpython/__init__.py for details)
|
||
|
|
||
|
"""
|
||
|
WinPython utilities configuration
|
||
|
|
||
|
Created on Wed Aug 29 12:23:19 2012
|
||
|
"""
|
||
|
|
||
|
import sys
|
||
|
import os.path as osp
|
||
|
|
||
|
|
||
|
def get_module_path(modname):
|
||
|
"""Return module *modname* base path"""
|
||
|
return osp.abspath(osp.dirname(sys.modules[modname].__file__))
|
||
|
|
||
|
|
||
|
def get_module_data_path(modname, relpath=None, attr_name='DATAPATH'):
|
||
|
"""Return module *modname* data path
|
||
|
Note: relpath is ignored if module has an attribute named *attr_name*
|
||
|
|
||
|
Handles py2exe/cx_Freeze distributions"""
|
||
|
datapath = getattr(sys.modules[modname], attr_name, '')
|
||
|
if datapath:
|
||
|
return datapath
|
||
|
else:
|
||
|
datapath = get_module_path(modname)
|
||
|
parentdir = osp.join(datapath, osp.pardir)
|
||
|
if osp.isfile(parentdir):
|
||
|
# Parent directory is not a directory but the 'library.zip' file:
|
||
|
# this is either a py2exe or a cx_Freeze distribution
|
||
|
datapath = osp.abspath(osp.join(osp.join(parentdir, osp.pardir),
|
||
|
modname))
|
||
|
if relpath is not None:
|
||
|
datapath = osp.abspath(osp.join(datapath, relpath))
|
||
|
return datapath
|
||
|
|
||
|
|
||
|
DATA_PATH = get_module_data_path('winpython', relpath='data')
|
||
|
IMAGE_PATH = get_module_data_path('winpython', relpath='images')
|