# `gbp.patch_series.Patch(object)` class documentation

Part of `gbp.patch_series` (View In Hierarchy)

Known subclasses: gbp.patch_series.Dep3Patch

A patch in a `PatchSeries`

Instance Variable | path | path to the patch (type: string)
Instance Variable | topic | the topic of the patch (the directory component) (type: string)
Instance Variable | strip | path components to strip (think patch -p<strip>) (type: integer)
Instance Variable | info | Information retrieved from a RFC822 style patch header (type: `dict` with `str` keys and values)
Instance Variable | long_desc | the long description of the patch
Method | __init__ | Undocumented
Method | __repr__ | Undocumented
Method | subject | The patch's subject, either from the patch header or from the filename.
Method | author | The patch's author
Method | email | The patch author's email address
Method | date | The patch's modification time
Method | _read_info | Undocumented
Method | _read_git_mailinfo | Read patch information into a structured form
Method | _get_subject_from_filename | Determine the patch's subject based on the its filename
Method | _get_info_field | Return the key key from the info `dict` or use val if key is not a valid key.

path =
path to the patch (type: string)
topic =
the topic of the patch (the directory component) (type: string)
strip =
path components to strip (think patch -p<strip>) (type: integer)
info =
Information retrieved from a RFC822 style patch header (type: `dict` with `str` keys and values)
long_desc =
the long description of the patch
def __init__(self, path, topic=None, strip=None):
Undocumented
def __repr__(self):
Undocumented
def _read_info(self):
overridden in gbp.patch_series.Dep3Patch
Undocumented
def _read_git_mailinfo(self):

Read patch information into a structured form

using git mailinfo

def _get_subject_from_filename(self):

Determine the patch's subject based on the its filename

    >>> p = Patch('debian/patches/foo.patch')
    >>> p._get_subject_from_filename()
    'foo'
    >>> Patch('foo.patch')._get_subject_from_filename()
    'foo'
    >>> Patch('debian/patches/foo.bar')._get_subject_from_filename()
    'foo.bar'
    >>> p = Patch('debian/patches/foo')
    >>> p._get_subject_from_filename()
    'foo'
    >>> Patch('0123-foo.patch')._get_subject_from_filename()
    'foo'
    >>> Patch('0123.patch')._get_subject_from_filename()
    '0123'
    >>> Patch('0123-foo-0123.patch')._get_subject_from_filename()
    'foo-0123'

Returns | the patch's subject (type: `str`)

def _get_info_field(self, key, get_val=None):

Return the key key from the info `dict` or use val if key is not a valid key.

Fill self.info if not already done.

Parameters | key | key to fetch (type: `str`)
| get_val | alternate value if key is not in info dict (type: `()->str`)

@property
def subject(self):

The patch's subject, either from the patch header or from the filename.

@property
def author(self):

The patch's author

@property
def email(self):

The patch author's email address

@property
def date(self):

The patch's modification time