Authorization

This part of the documentation covers the Authorization object.

class github3.auths.Authorization(json, session=None)

The Authorization object.

Two authorization instances can be checked like so:

a1 == a2
a1 != a2

And is equivalent to:

a1.id == a2.id
a1.id != a2.id

See also: http://developer.github.com/v3/oauth/#oauth-authorizations-api

add_scopes(scopes, note=None, note_url=None)

Adds the scopes to this authorization.

New in version 1.0.

Parameters:
  • scopes (list) – Adds these scopes to the ones present on this authorization
  • note (str) – (optional), Note about the authorization
  • note_url (str) – (optional), URL to link to when the user views the authorization
Returns:

True if successful, False otherwise

Return type:

bool

as_dict()

Return the attributes for this object as a dictionary.

This is equivalent to calling:

json.loads(obj.as_json())
Returns:this object’s attributes serialized to a dictionary
Return type:dict
as_json()

Return the json data for this object.

This is equivalent to calling:

json.dumps(obj.as_dict())
Returns:this object’s attributes as a JSON string
Return type:str
delete()

Delete this authorization.

from_dict(json_dict)

Return an instance of this class formed from json_dict.

from_json(json)

Return an instance of this class formed from json.

ratelimit_remaining

Number of requests before GitHub imposes a ratelimit.

Returns:int
refresh(conditional=False)

Re-retrieve the information for this object.

The reasoning for the return value is the following example:

repos = [r.refresh() for r in g.repositories_by('kennethreitz')]

Without the return value, that would be an array of None‘s and you would otherwise have to do:

repos = [r for i in g.repositories_by('kennethreitz')]
[r.refresh() for r in repos]

Which is really an anti-pattern.

Changed in version 0.5.

Parameters:conditional (bool) – If True, then we will search for a stored header (‘Last-Modified’, or ‘ETag’) on the object and send that as described in the Conditional Requests section of the docs
Returns:self
remove_scopes(scopes, note=None, note_url=None)

Remove the scopes from this authorization.

New in version 1.0.

Parameters:
  • scopes (list) – Remove these scopes from the ones present on this authorization
  • note (str) – (optional), Note about the authorization
  • note_url (str) – (optional), URL to link to when the user views the authorization
Returns:

True if successful, False otherwise

Return type:

bool

replace_scopes(scopes, note=None, note_url=None)

Replace the scopes on this authorization.

New in version 1.0.

Parameters:
  • scopes (list) – Use these scopes instead of the previous list
  • note (str) – (optional), Note about the authorization
  • note_url (str) – (optional), URL to link to when the user views the authorization
Returns:

True if successful, False otherwise

Return type:

bool