1import tempfile 2import os 3 4 5class BaseTransport(object): 6 def __init__(self): 7 # these assignments makes pylint happy 8 self.body_file = None 9 self.body_path = None 10 11 def reset(self): 12 self.body_file = None 13 self.body_path = None 14 15 def setup_body_file(self, storage_dir, storage_filename, create_dir=False): 16 if create_dir: 17 if not os.path.exists(storage_dir): 18 os.makedirs(storage_dir) 19 if storage_filename is None: 20 handle, path = tempfile.mkstemp(dir=storage_dir) 21 self.body_file = os.fdopen(handle, 'wb') 22 else: 23 path = os.path.join(storage_dir, storage_filename) 24 self.body_file = open(path, 'wb') 25 self.body_path = path 26 return self.body_file, self.body_path 27