def write_vm_file(self, path, content, uri="qemu:///system"):
FILE_OPEN_WRITE="""{"execute":"guest-file-open", "arguments":{"path":"%s","mode":"w+"}}"""
FILE_WRITE="""{"execute":"guest-file-write", "arguments":{"handle":%s,"buf-b64":"%s"}}"""
FILE_CLOSE="""{"execute":"guest-file-close", "arguments":{"handle":%s}}"""
FILE_FLUSH="""{"execute":"guest-file-flush", "arguments":{"handle":%s}}"""
file_handle=-1
enc_content = base64.standard_b64encode(content)
try:
file_handle=self.EXE(FILE_OPEN_WRITE % path)["return"]
write_count=self.EXE(FILE_WRITE % (file_handle,enc_content))["return"]["count"]
logger.debug("content:\n%s\npath:\n%s"%(content, path))
except Exception,ex:
print Exception,":",ex
return -1
finally:
self.EXE(FILE_FLUSH % file_handle)
self.EXE(FILE_CLOSE % file_handle)
return write_count
评论列表
文章目录