diff --git a/utils/empty_repo.py b/utils/empty_repo.py index 856290d..ac95010 100755 --- a/utils/empty_repo.py +++ b/utils/empty_repo.py @@ -1,38 +1,51 @@ #!/usr/bin/env python3 from phabricator import Phabricator import arrow date_before = arrow.get().shift(years=-1) phab = Phabricator(host='https://c4science.ch/api/') phab.update_interfaces() def get_repos(after): return phab.diffusion.repository.search( after=after, order="oldest", ) number = 0 after = 0 +i = 0 while after != None: repo = get_repos(after) after = repo['cursor']['after'] for r in repo['data']: + phid = r['phid'] commits = phab.diffusion.commit.search( limit = 1, constraints = { - "repositories": [r['phid']], + "repositories": [phid], }, ) if len(commits['data']) == 0: number += 1 name = r['fields']['name'] date = arrow.get(r['fields']['dateCreated']) status = r['fields']['status'] url = 'https://c4science.ch/diffusion/{_id}/'.format(_id=r['id']) if status == 'active' and date < date_before: print('R{_id} {name} {url} {created}'.format( _id=r['id'], name=name, url=url, created=date.humanize())) + + i += 1 + phab.diffusion.repository.edit( + objectIdentifier = phid, + transactions = [ + {'type': 'status', 'value': 'inactive'}, + ], + ) + +print('Deactivated {} repositories'.format(i)) +