def _write_local_file(self): """ Makes the file contents available at the returned temporary path and performs local verification if necessary or requested. The calling method is responsible for cleaning up the file at the returned path (only if not a binary). """ with tempfile() as tmp_file: if self.attributes['content_type'] == 'binary': local_path = self.template else: local_path = tmp_file with open(local_path, 'wb') as f: f.write(self.content) if self.attributes['verify_with']: cmd = self.attributes['verify_with'].format(quote(local_path)) io.debug("calling local verify command for {i}: {c}".format(c=cmd, i=self.id)) if call(cmd, shell=True) == 0: io.debug("{i} passed local validation".format(i=self.id)) else: raise BundleError(_( "{i} failed local validation using: {c}" ).format(c=cmd, i=self.id)) yield local_path
def _write_local_file(self): """ Makes the file contents available at the returned temporary path and performs local verification if necessary or requested. The calling method is responsible for cleaning up the file at the returned path (only if not a binary). """ with tempfile() as tmp_file: if self.attributes['content_type'] == 'binary': local_path = self.template else: local_path = tmp_file with open(local_path, 'wb') as f: f.write(self.content) if self.attributes['verify_with']: cmd = self.attributes['verify_with'].format(quote(local_path)) io.debug("calling local verify command for {i}: {c}".format( c=cmd, i=self.id)) if call(cmd, shell=True) == 0: io.debug("{i} passed local validation".format(i=self.id)) else: raise BundleError( _("{i} failed local validation using: {c}").format( c=cmd, i=self.id)) yield local_path
def get_remote_file_contents(node, path): """ Returns the contents of the given path as a string. """ with tempfile() as tmp_file: node.download(path, tmp_file) with open(tmp_file, 'rb') as f: content = f.read() return content