Changeset 187
- Timestamp:
- 02/28/07 16:16:43 (2 years ago)
- Files:
-
- trunk/cheesecake/util.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cheesecake/util.py
r186 r187 8 8 import sys 9 9 import tarfile 10 import tempfile 10 11 import time 11 12 import zipfile … … 16 17 PAD_VALUE = 4 17 18 19 def make_temp_file(): 20 tmpfd, tmpname = tempfile.mkstemp() 21 return os.fdopen(tmpfd), tmpname 22 18 23 def run_cmd(cmd, env=None, max_timeout=None): 19 24 """Run command and return its return code and its output. … … 27 32 arglist = cmd.split() 28 33 29 output = os.tmpfile()34 output, output_name = make_temp_file() 30 35 try: 31 36 p = Popen(arglist, stdout=output, stderr=STDOUT, env=env) … … 45 50 p.wait() 46 51 output.seek(0) 47 return p.returncode, output.read() 52 53 output_content = output.read() 54 output.close() 55 os.unlink(output_name) 56 57 return p.returncode, output_content 48 58 49 59 def command_successful(cmd): … … 64 74 if filename: 65 75 self.fh = open(filename, 'w') 76 self.fname = None 66 77 else: 67 self.fh = os.tmpfile()78 self.fh, self.fname = make_temp_file() 68 79 69 80 def write(self, buf): … … 77 88 """ 78 89 self.fh.seek(0) 79 return self.fh.read() 90 91 output = self.fh.read() 92 self.fh.close() 93 if self.fname: 94 os.unlink(self.fname) 95 96 return output 80 97 81 98 def pad_with_dots(msg, length=PAD_TEXT):
