Source code for repobee.tuples

"""Tuples module.

This module contains various namedtuple containers used throughout repobee.
There are still a few namedtuples floating about in their own modules, but
the goal is to collect all container types in this module.

.. module:: tuples
    :synopsis: Module containing various namedtuple containers used throughout
        repobee.

.. moduleauthor:: Simon Larsén
"""
from collections import namedtuple


[docs]class Issue( namedtuple("Issue", ("title", "body", "number", "created_at", "author")) ): def __new__(cls, title, body, number=None, created_at=None, author=None): return super().__new__(cls, title, body, number, created_at, author)
Args = namedtuple( "Args", ( "subparser", "org_name", "github_base_url", "user", "master_repo_urls", "master_repo_names", "students", "issue", "title_regex", "traceback", "state", "show_body", "author", "num_reviews", "master_org_name", "token", ), ) Args.__new__.__defaults__ = (None,) * len(Args._fields) Team = namedtuple("Team", ("name", "members", "id"))
[docs]class Repo( namedtuple("Repo", ("name", "description", "private", "team_id", "url")) ): def __new__(cls, name, description, private, team_id=None, url=None): return super().__new__(cls, name, description, private, team_id, url)
Review = namedtuple("Review", ["repo", "done"]) Deprecation = namedtuple("Deprecation", ["replacement", "remove_by"])