8000 Fix "Avoid mutable default arguments" issue by runt18 · Pull Request #1 · runt18/github3.py · GitHub
[go: up one dir, main page]

Skip to content

Fix "Avoid mutable default arguments" issue #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion github3/gists/gist.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ def delete(self):
return self._boolean(self._delete(self._api), 204, 404)

@requires_auth
def edit(self, description='', files={}):
def edit(self, description='', files=None):
"""Edit this gist.

:param str description: (optional), description of the gist
Expand All @@ -138,6 +138,8 @@ def edit(self, description='', files={}):
:returns: bool -- whether the edit was successful

"""
if files is None:
files = {}
data = {}
json = None
if description:
Expand Down
12 changes: 9 additions & 3 deletions github3/github.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,15 @@ def _repr(self):
return '<GitHub at 0x{0:x}>'.format(id(self))

@requires_auth
def add_email_addresses(self, addresses=[]):
def add_email_addresses(self, addresses=None):
"""Add the email addresses in ``addresses`` to the authenticated
user's account.

:param list addresses: (optional), email addresses to be added
:returns: list of :class:`~github3.users.Email`
"""
if addresses is None:
addresses = []
json = []
if addresses:
url = self._build_url('user', 'emails')
Expand Down Expand Up @@ -252,7 +254,7 @@ def create_gist(self, description, files, public=True):

@requires_auth
def create_issue(self, owner, repository, title, body=None, assignee=None,
milestone=None, labels=[]):
milestone=None, labels=None):
"""Create an issue on the project 'repository' owned by 'owner'
with title 'title'.

Expand Down Expand Up @@ -280,6 +282,8 @@ def create_issue(self, owner, repository, title, body=None, assignee=None,
:param list labels: (optional), List of label names.
:returns: :class:`Issue <github3.issues.Issue>` if successful
"""
if labels is None:
labels = []
repo = None
if owner and repository and title:
repo = self.repository(owner, repository)
Expand Down Expand Up @@ -347,13 +351,15 @@ def create_repository(self, name, description='', homepage='',
return self._instance_or_null(Repository, json)

@requires_auth
def delete_email_addresses(self, addresses=[]):
def delete_email_addresses(self, addresses=None):
"""Delete the email addresses in ``addresses`` from the
authenticated user's account.

:param list addresses: (optional), email addresses to be removed
:returns: bool
"""
if addresses is None:
addresses = []
url = self._build_url('user', 'emails')
return self._boolean(self._delete(url, data=json.dumps(addresses)),
204, 404)
Expand Down
4 changes: 3 additions & 1 deletion github3/orgs.py
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ def conceal_member(self, username):
return self._boolean(self._delete(url), 204, 404)

@requires_auth
def create_team(self, name, repo_names=[], permission=''):
def create_team(self, name, repo_names=None, permission=''):
"""Create a new team and return it.

This only works if the authenticated user owns this organization.
Expand All @@ -404,6 +404,8 @@ def create_team(self, name, repo_names=[], permission=''):

:returns: :class:`Team <Team>`
"""
if repo_names is None:
repo_names = []
data = {'name': name, 'repo_names': repo_names,
'permission': permission}
url = self._build_url('teams', base_url=self._api)
Expand Down
10 changes: 9 additions & 1 deletion github3/repos/hook.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def delete(self):
return self._boolean(self._delete(self._api), 204, 404)

@requires_auth
def edit(self, config={}, events=[], add_events=[], rm_events=[],
def edit(self, config=None, events=None, add_events=None, rm_events=None,
active=True):
"""Edit this hook.

Expand All @@ -73,6 +73,14 @@ def edit(self, config={}, events=[], add_events=[], rm_events=[],
:param bool active: (optional), should this event be active
:returns: bool
"""
if config is None:
config = {}
if events is None:
events = []
if add_events is None:
add_events = []
if rm_events is None:
rm_events = []
data = {'config': config, 'active': active}
if events:
data['events'] = events
Expand Down
4 changes: 3 additions & 1 deletion github3/repos/repo.py
Original file line number Diff line number Diff line change
Expand Up @@ -766,7 +766,7 @@ def create_fork(self, organization=None):
return self._instance_or_null(Repository, json)

@requires_auth
def create_hook(self, name, config, events=['push'], active=True):
def create_hook(self, name, config, events=None, active=True):
"""Create a hook on this repository.

:param str name: (required), name of the hook
Expand All @@ -778,6 +778,8 @@ def create_hook(self, name, config, events=['push'], active=True):
:returns: :class:`Hook <github3.repos.hook.Hook>` if successful,
otherwise None
"""
if events is None:
events = ['push']
json = None
if name and config and isinstance(config, dict):
url = self._build_url('hooks', base_url=self._api)
Expand Down
0