0

我正在开发一个模块,该模块根据客户创建通过 ssh 将特定文件上传到特定服务器:

class ResPartner(models.Model):
    _name = 'res.partner'
    _inherit = 'res.partner'

    @api.model
    def create(self, vals):
        if vals:
            testfile=open("/tmp/diegotexting.txt", "w")
            testfile.write("Hi, testing odoo 9 ")
            ssh = paramiko.SSHClient() 
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            ssh.connect("foo.org", username="foo", password="foo")
            sftp = ssh.open_sftp()
            sftp.put("/tmp/diegotexting.txt", "/tmp/diegotexting.txt")
            sftp.close()
            ssh.close()
        return super(ResPartner, self).create(vals)

它确实将文件上传到服务器“foo.org”,问题是当我打开它时,它是空白的。

我已经在 odoo 环境之外测试了上传脚本并且运行良好(它不显示空白文件)。

有谁知道可能出了什么问题?

4

1 回答 1

0

我想我明白了;我只需要在 SSH 连接之前关闭文件。

于 2015-12-30T15:55:55.623 回答