pkgcrap/pkgcrap/list_update.py

39 lines
1.2 KiB
Python

from pkgcrap.util import conf_file_path
import pkgcrap.parse as parse
def packages_scan(maintainer, verbose=False):
repos = parse.repos()
repos.load()
packages = []
for repo in repos.repos.values():
repo.load()
if verbose:
print('Scanning', repo.name)
for cat in repo.categories.values():
cat.load()
for pkg in cat.packages.values():
pkg.load()
try:
if maintainer in pkg.metadata.maintainers:
packages.append(pkg)
except AttributeError:
pass
return packages
def maintlist(args):
if len(args) < 1:
print('Specify the maintainer\'s email address')
return
packages = packages_scan(args[0])
for pkg in packages:
print(pkg.full_name)
def main(args):
if len(args) < 1:
print('Specify your maintainer email address')
return
packages = packages_scan(args[0], verbose=True)
with open(conf_file_path('maintained.txt'), 'w') as fp:
fp.write("\n".join([pkg.full_name for pkg in packages]))
print('Updated maintained package list')