Page MenuHomec4science

create-repo.py
No OneTemporary

File Metadata

Created
Thu, May 16, 22:54

create-repo.py

#!/usr/bin/env python3
from phabricator import Phabricator
import logging, random, namesgenerator
logging.basicConfig(
level = logging.DEBUG,
format = '%(asctime)s %(message)s'
)
phab = Phabricator(host='https://scitassrv18.epfl.ch/api/')
user = phab.user.whoami()
logging.debug('user=%s' % user)
# Get random project
projects = None
while projects == None or len(projects['data']) == 0:
ids = []
for i in range(10):
ids.append(random.randint(1, 1500))
logging.debug('ids=%s' % ids)
projects = phab.project.search(constraints={'ids': ids})
projects = projects['data']
logging.debug('projects=%s' % [p['fields']['name'] for p in projects])
# Create the repository
task = phab.diffusion.repository.edit(
transactions = [
{'type': 'name', 'value': namesgenerator.get_random_name()},
{'type': 'vcs', 'value': 'git'},
{'type': 'status', 'value': 'active'},
{'type': 'view', 'value': 'users'},
{'type': 'edit', 'value': 'obj.repository.author'},
{'type': 'policy.push', 'value': 'obj.repository.author'},
{'type': 'projects.add', 'value': [p['phid'] for p in projects]},
],
)
logging.debug('task=%s' % task)

Event Timeline