43 lines
1.3 KiB
Python
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
|