import os import pkgcrap.parse as parse def conf_dir_path(): conf_home = '~/.config' if 'XDG_CONFIG_HOME' in os.environ: conf_home = os.environ['XDG_CONFIG_HOME'] if conf_home[0] == '~': conf_home = os.environ['HOME']+'/'+conf_home[1:] return conf_home+'/pkgcrap' def conf_file_path(name): dir_path = conf_dir_path() if not os.path.isdir(dir_path): os.mkdir(dir_path) return dir_path+'/'+name def maintained_packages_get(): with open(conf_file_path('maintained.txt'), 'r') as fp: pkg_names = fp.read().split('\n') repos = parse.repos() repos.load() packages = [] for pkg_name in pkg_names: pkg_info = pkg_name.replace('::', '/').split('/') repo = repos.repos[pkg_info[2]] if not repo.loaded: repo.load() cat = repo.categories[pkg_info[0]] if not cat.loaded: cat.load() packages.append(cat.packages[pkg_info[1]]) return packages def blacklisted_tags_get(): blacklisted_tags = [] with open(conf_file_path('eviltags.txt'), 'r') as fp: for line in fp.read().split('\n'): if len(line) > 0 and line[0] == '#': continue blacklisted_tags.append(line.split(' ',1)[0]) return blacklisted_tags