Python bindings¶
This module provides Python bindings to the Bodhi REST API.
-
class
bodhi.client.bindings.
BodhiClient
(base_url='https://bodhi.fedoraproject.org/', username=None, password=None, staging=False, **kwargs)[source]¶ Bases:
fedora.client.openidbaseclient.OpenIdBaseClient
-
candidates
()[source]¶ Get a list list of update candidates.
This method is a generator that returns a list of koji builds that could potentially be pushed as updates.
-
comment
(*args, **kwargs)[source]¶ Add a comment to an update.
Parameters: - update – The title of the update comment on.
- comment – The text of the comment.
- karma – The karma of this comment (-1, 0, 1)
- email – Whether or not to trigger email notifications
-
get_releases
(*args, **kwargs)[source]¶ Return a list of bodhi releases.
This method returns a dictionary in the following format:
{"releases": [ {"dist_tag": "dist-f12", "id_prefix": "FEDORA", "locked": false, "name": "F12", "long_name": "Fedora 12"}]}
-
koji_session
¶ Return an authenticated koji session
-
list_overrides
(*args, **kwargs)[source]¶ List buildroot overrides.
Parameters: user – A username whose buildroot overrides you want returned.
-
static
override_str
(override)[source]¶ Return a string representation of a given override dictionary.
Parameters: override – An override dictionary.
-
parse_file
(input_file)[source]¶ Parse an update template file.
Parameters: input_file – The filename of the update template. Returns an array of dictionaries of parsed update values which can be directly passed to the
save
method.
-
password
¶
-
query
(*args, **kwargs)[source]¶ Query bodhi for a list of updates.
Parameters: - releases – A list of releases that you wish to query updates for.
- status – The update status (
pending
,testing
,stable
,obsolete
,unpushed
,processing
) - type – The type of this update:
security
,bugfix
,enhancement
, andnewpackage
. - bugs – A list of Red Hat Bugzilla ID’s
- request – An update request to query for
testing
,stable
,unpush
,obsolete
or None. - mine – If True, only query the users updates. Default: False.
- packages – A space or comma delimited list of package names
- limit – A deprecated argument, sets
rows_per_page
. See its docstring for more info. - approved_before – A datetime string
- approved_since – A datetime string
- builds – A space or comma delimited string of build nvrs
- critpath – A boolean to query only critical path updates
- cves – Filter by CVE IDs
- locked – A boolean to filter only locked updates
- modified_before – A datetime string to query updates that have been modified before a certain time.
- modified_since – A datetime string to query updates that have been modified since a certain time.
- pushed – A boolean to filter only pushed updates
- pushed_before – A datetime string to filter updates pushed before a certain time.
- pushed_since – A datetime string to filter updates pushed since a certain time.
- severity – A severity type to filter by (
unspecified
,urgent
,high
,medium
,low
) - submitted_before – A datetime string to filter updates submitted before a certain time.
- submitted_since – A datetime string to filter updates submitted after a certain time.
- suggest – Query for updates that suggest a user restart
(
logout
,reboot
) - user – Query for updates submitted by a specific user.
- rows_per_page – Limit the results to a certain number of rows per page (min:1 max: 100 default: 20)
- page – Return a specific page of results
-
request
(*args, **kwargs)[source]¶ Request an update state change.
Parameters: - update – The title of the update
- request – The request (
testing
,stable
,obsolete
,unpush
,revoke
)
-
save
(*args, **kwargs)[source]¶ Save an update.
This entails either creating a new update, or editing an existing one. To edit an existing update, you must specify the update title in the
edited
keyword argument.Parameters: - builds – A list of koji builds for this update.
- type – The type of this update:
security
,bugfix
,enhancement
, andnewpackage
. - bugs – A list of Red Hat Bugzilla ID’s associated with this update.
- notes – Details as to why this update exists.
- request – Request for this update to change state, either to
testing
,stable
,unpush
,obsolete
or None. - close_bugs – Close bugs when update is stable
- suggest – Suggest that the user reboot or logout after update.
(
reboot
,logout
) - inheritance – Follow koji build inheritance, which may result in this update being pushed out to additional releases.
- autokarma – Allow bodhi to automatically change the state of this
update based on the
karma
from user feedback. It will push your update tostable
once it reaches thestable_karma
and unpush your update when reachingunstable_karma
. - stable_karma – The upper threshold for marking an update as
stable
. - unstable_karma – The lower threshold for unpushing an update.
- edited – The update title of the existing update that we are editing.
- severity – The severity of this update (
urgent
,high
,medium
,low
) - requirements – A list of required Taskotron tests that must pass
for this update to reach stable. (
depcheck
,upgradepath
,rpmlint
) - require_bugs – A boolean to require that all of the bugs in your update have been confirmed by testers.
- require_testcases – A boolean to require that this update passes all test cases before reaching stable.
-
save_override
(*args, **kwargs)[source]¶ Save a buildroot override.
This entails either creating a new buildroot override, or editing an existing one.
Parameters: - nvr – A nvr of a koji build.
- duration – Number of days from now that this override should expire.
- notes – Notes about why this override is in place.
-
-
exception
bodhi.client.bindings.
BodhiClientException
[source]¶ Bases:
fedora.client.FedoraClientError