def getB3Path(decode=False): """ Return the path to the main B3 directory. :param decode: if True will decode the path string using the default file system encoding before returning it """ if main_is_frozen(): path = os.path.dirname(sys.executable) else: path = modulePath if not decode: return os.path.normpath(os.path.expanduser(path)) return decode_(os.path.normpath(os.path.expanduser(path)))
def getAbsolutePath(path, decode=False, conf=None): """ Return an absolute path name and expand the user prefix (~). :param path: the relative path we want to expand :param decode: if True will decode the path string using the default file system encoding before returning it :param conf: the current configuration being used :type XmlConfigParser|CfgConfigParser|MainConfig|str: """ if path[0:4] == '@b3\\' or path[0:4] == '@b3/': path = os.path.join(getB3Path(decode=False), path[4:]) elif path[0:6] == '@conf\\' or path[0:6] == '@conf/': path = os.path.join(getConfPath(decode=False, conf=conf), path[6:]) elif path[0:6] == '@home\\' or path[0:6] == '@home/': path = os.path.join(HOMEDIR, path[6:]) if not decode: return os.path.normpath(os.path.expanduser(path)) return decode_(os.path.normpath(os.path.expanduser(path)))
def getConfPath(decode=False, conf=None): """ Return the path to the B3 main configuration directory. :param decode: if True will decode the path string using the default file system encoding before returning it. :param conf: the current configuration being used :type XmlConfigParser|CfgConfigParser|MainConfig|str: """ if conf: if isinstance(conf, str): path = os.path.dirname(conf) elif isinstance(conf, XmlConfigParser) or isinstance(conf, CfgConfigParser) or isinstance(conf, MainConfig): path = os.path.dirname(conf.fileName) else: raise TypeError('invalid configuration type specified: expected str|XmlConfigParser|CfgConfigParser|MainConfig, got %s instead' % type(conf)) else: path = confdir if not decode: return path return decode_(path)
def getConfPath(decode=False, conf=None): """ Return the path to the B3 main configuration directory. :param decode: if True will decode the path string using the default file system encoding before returning it. :param conf: the current configuration being used :type XmlConfigParser|CfgConfigParser|MainConfig|str: """ if conf: if isinstance(conf, str): path = os.path.dirname(conf) elif isinstance(conf, XmlConfigParser) or isinstance( conf, CfgConfigParser) or isinstance(conf, MainConfig): path = os.path.dirname(conf.fileName) else: raise TypeError( 'invalid configuration type specified: expected str|XmlConfigParser|CfgConfigParser|MainConfig, got %s instead' % type(conf)) else: path = confdir if not decode: return path return decode_(path)