Odoo is the world's easiest all-in-one management software. It includes hundreds of business apps:
CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
I'm developing a module that uploads specific files via ssh to specific server based on customer creation:
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)
It does upload the file in server "foo.org", the problem is that when I open it, it's blank.
I have tested the upload script outside of odoo enviroment and works well(it doesn't show a blank file).
Does anyone know what could be wrong?
@Diego, the problem is probably that the file is still open when you start the upload. The open method will create an empty file, but the write method will only cache the string you want to write to the file. To make sure all the cached information are written to the file you can either use the flush or even better the close method.
testfile.write("Hi, testing odoo 9 ")
About This Community
This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.Register
Odoo Training Center
Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.Test it now
|Asked: 12/29/15, 5:36 PM|
|Seen: 697 times|
|Last updated: 12/30/15, 10:55 AM|