diff --git a/github3/gists/gist.py b/github3/gists/gist.py index 7ea3949f8..9324ff7a6 100644 --- a/github3/gists/gist.py +++ b/github3/gists/gist.py @@ -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 @@ -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: diff --git a/github3/github.py b/github3/github.py index 184ffbba0..51c6fa85e 100644 --- a/github3/github.py +++ b/github3/github.py @@ -68,13 +68,15 @@ def _repr(self): return ''.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') @@ -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'. @@ -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 ` if successful """ + if labels is None: + labels = [] repo = None if owner and repository and title: repo = self.repository(owner, repository) @@ -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) diff --git a/github3/orgs.py b/github3/orgs.py index 0b8cda6a9..6be02e8db 100644 --- a/github3/orgs.py +++ b/github3/orgs.py @@ -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. @@ -404,6 +404,8 @@ def create_team(self, name, repo_names=[], permission=''): :returns: :class:`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) diff --git a/github3/repos/hook.py b/github3/repos/hook.py index 03db7f1eb..ce7c69fec 100644 --- a/github3/repos/hook.py +++ b/github3/repos/hook.py @@ -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. @@ -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 diff --git a/github3/repos/repo.py b/github3/repos/repo.py index 33f94dd47..b4e03b533 100644 --- a/github3/repos/repo.py +++ b/github3/repos/repo.py @@ -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 @@ -778,6 +778,8 @@ def create_hook(self, name, config, events=['push'], active=True): :returns: :class:`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)