From: Sergey M․ Date: Thu, 21 Aug 2014 15:03:00 +0000 (+0700) Subject: [utils] Add missing mode and encoding arguments X-Git-Url: http://git.oshgnacknak.de/?a=commitdiff_plain;h=73159f99cc3be44b207154ecd56d16750cade77a;p=youtube-dl [utils] Add missing mode and encoding arguments --- 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: