一个用于执行大量Pagure拉取请求的库。
项目描述
此库提供工具,可在Fedora软件包的spec文件中进行大量更改,并为它们创建Pagure拉取请求。
示例用法
from mass_pagure_prs import BasePRsGenerator
class PagurePRsGenerator(BasePRsGenerator):
def modify_spec(self, specfile):
"""Modify a spec file and return a modified version.
Args:
specfile (str): A spec file as a string.
Return:
(str) A modified spec file.
"""
# Do things with a spec file and return a
# modified spec file as a string.
def check_mock_build_results(self, output):
"""Given the output of the mock build check the result."""
# Optional, can be skipped. Enables checking mock build
# results/logs/created rpms if mock build is ran for packages.
def check_koji_scratch_build_results(self, output):
"""Given the output of the Koji scratch build check the result."""
# Optional, can be skipped. Enables checking Koji scratch build
# results if Koji scratch build is ran for packages.
def main():
prs_generator = PagurePRsGenerator(
packages_filename='packages.txt',
output_dirname='/tmp/pagure_prs',
dry_run=False,
pagure_token='pagure_token',
pagure_user='pagure_user',
fas_user='fas_user', # will not be needed with Pagure 4.0.0
fas_password='fas_password', # will not be needed with Pagure 4.0.0
)
# Set branch name and texts for commit messages, PR description etc.
prs_generator.configure(
git_branch='sample_branch',
changelog_entry='sample message',
commit_message='sample message',
pr_title='sample message',
pr_description='sample message'
)
# Open PRs.
# Receive the list of links to opened PRs if not in dry run.
prs = prs_generator.run(do_mock_build=True, do_koji_scratch_build=False)