From 774976d0fe048060b13980693ac31e2aaaa483ce Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 23 May 2013 21:20:28 +0300 Subject: lp:1183205: Use proper temporary file for sftp script. --- utils/new-publish/publib.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'utils') diff --git a/utils/new-publish/publib.py b/utils/new-publish/publib.py index e6b186d..d6b8a7c 100755 --- a/utils/new-publish/publib.py +++ b/utils/new-publish/publib.py @@ -2,6 +2,7 @@ import sys import os import glob +import tempfile import optparse import paramiko @@ -105,15 +106,19 @@ def make_upload_script(file_list, upload_dir, build_dir="", strip=0): def upload_files(upload_script, host, user, key, options): - with open("/tmp/sftp.script", "w") as f: - f.write("\n".join(upload_script) + "\n") + f = tempfile.NamedTemporaryFile(prefix="sftp_script", deleted=False) + f.write("\n".join(upload_script) + "\n") + f.close() - cmd = "sftp -i %s -b /tmp/sftp.script %s@%s" % (key, user, host) + cmd = "sftp -i %s -b %s %s@%s" % (key, f.name, user, host) print cmd sys.stdout.flush() if not options.dry_run: rc = os.system(cmd) - os.remove("/tmp/sftp.script") + try: + os.remove(f.name) + except: + pass if rc != 0: print "ERROR: sftp transfer finished with error" sys.exit(1) -- cgit v1.2.3