From a3fb4675fb67b061e2a71cec78a5dbd8695b8ef0 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Fri, 29 Nov 2013 15:25:09 +0100 Subject: [PATCH] Do not mutate default arguments In this case, it looks rather harmless (since the conditions for --restrict-filenames should not change while a process is running), but just to be sure. This also simplifies the interface for callers, who can just pass in the idiomatic None for "I don't care, whatever is the default". --- youtube_dl/YoutubeDL.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 711b5d79e..b822930cb 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -146,7 +146,7 @@ class YoutubeDL(object): _num_downloads = None _screen_file = None - def __init__(self, params={}): + def __init__(self, params=None): """Create a FileDownloader object with the given options.""" self._ies = [] self._ies_instances = {} @@ -155,7 +155,7 @@ def __init__(self, params={}): self._download_retcode = 0 self._num_downloads = 0 self._screen_file = [sys.stdout, sys.stderr][params.get('logtostderr', False)] - self.params = params + self.params = {} if params is None else params if (sys.version_info >= (3,) and sys.platform != 'win32' and sys.getfilesystemencoding() in ['ascii', 'ANSI_X3.4-1968']