| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # -*- 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'
- )
|