aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--youtube_dl/utils.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index d11e46c80..f8ec5389f 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -233,18 +233,24 @@ else:
def write_json_file(obj, fn):
""" Encode obj as JSON and write it to fn, atomically """
+ args = {
+ 'suffix': '.tmp',
+ 'prefix': os.path.basename(fn) + '.',
+ 'dir': os.path.dirname(fn),
+ 'delete': False,
+ }
+
# In Python 2.x, json.dump expects a bytestream.
# In Python 3.x, it writes to a character stream
if sys.version_info < (3, 0):
- mode = 'wb'
- encoding = None
+ args['mode'] = 'wb'
else:
- mode = 'w'
- encoding = 'utf-8'
- tf = tempfile.NamedTemporaryFile(
- suffix='.tmp', prefix=os.path.basename(fn) + '.',
- dir=os.path.dirname(fn),
- delete=False)
+ args.update({
+ 'mode': 'w',
+ 'encoding': 'utf-8',
+ })
+
+ tf = tempfile.NamedTemporaryFile(**args)
try:
with tf: