pkgcrap/pkgcrap/util.py

37 lines
1014 B
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import pkgcrap.parse as parse
def conf_dir_path():
conf_home = '~/.config'
if 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