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.
 
 

23 lines
913 B

import configparser
import re
import os.path as osp
# https://stackoverflow.com/a/11866695
CONFIG_PATH = osp.join(osp.dirname(__file__),'config.ini')
class MyParser(configparser.ConfigParser):
def __init__(self):
super().__init__(interpolation = configparser.ExtendedInterpolation())
def getlist(self,section, option,fallback=None):
data = self.get(section,option,fallback=fallback)
if data == fallback:
return data
return list(filter(bool,re.split(' *, *',data)))
def getpath(self,section, option,fallback=None):
data = self.get(section,option,fallback=fallback)
if data == fallback:
return data
return osp.expandvars(data)
def getpaths(self,section,option,fallback=None):
data = self.getlist(section,option,fallback)
return list(map(osp.expandvars,data))
config = MyParser()
config.read(CONFIG_PATH)