Skip to main content

A library to do mass Pagure pull requests.

Project description

This library provides tools to to do mass changes within Fedora packages’ spec files and create Pagure pull requests for them.

Example Usage

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mass-pagure-prs-0.1.dev1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

mass_pagure_prs-0.1.dev1-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file mass-pagure-prs-0.1.dev1.tar.gz.

File metadata

File hashes

Hashes for mass-pagure-prs-0.1.dev1.tar.gz
Algorithm Hash digest
SHA256 04c5a802f7406bf7a2eaf4ec2bca62506a9b3af7b19b4829726d0a8c0e1cbd32
MD5 c8ec8004d242268790791607c5054d8d
BLAKE2b-256 c77d1e02ec2078acd7b5fa8b13058c7329eb9826a198d27c11b547ee56e6d27f

See more details on using hashes here.

File details

Details for the file mass_pagure_prs-0.1.dev1-py3-none-any.whl.

File metadata

File hashes

Hashes for mass_pagure_prs-0.1.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa0f2f5fc50e2f581a15daddf580f8f2476edc6fc14c3b7e591ed5581a1edbb4
MD5 a621d13025cb283c0f56d4330b01a75f
BLAKE2b-256 43f57a0231e5a5efd847280de597a7394daa0f281d2332551f247afcd87ebece

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page