pkgcrap/pkgcrap/util.py

43 lines
1.3 KiB
Python

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