Odoo Help

0

Can´t write file on Linux server

By
Hannes Hörting
on 7/15/15, 10:55 AM 1,392 views

Hello!


A freelancer build a module to write information on a FTP server. He generate the file local and copy after on the FTP.

But on my odoo Server the Phyton script can´t write on filesystem:


Traceback (most recent call last):

File "/opt/odoo/odoo-server/openerp/http.py", line 536, in _handle_exception

return super(JsonRequest, self)._handle_exception(exception)

File "/opt/odoo/odoo-server/openerp/http.py", line 573, in dispatch

result = self._call_function(**self.params)

File "/opt/odoo/odoo-server/openerp/http.py", line 309, in _call_function

return checked_call(self.db, *args, **kwargs)

File "/opt/odoo/odoo-server/openerp/service/model.py", line 113, in wrapper

return f(dbname, *args, **kwargs)

File "/opt/odoo/odoo-server/openerp/http.py", line 306, in checked_call

return self.endpoint(*a, **kw)

File "/opt/odoo/odoo-server/openerp/http.py", line 802, in __call__

return self.method(*args, **kw)

File "/opt/odoo/odoo-server/openerp/http.py", line 402, in response_wrap

response = f(*args, **kw)

File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 941, in call_button

action = self._call_kw(model, method, args, {})

File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 929, in _call_kw

return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)

File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper

return old_api(self, *args, **kwargs)

File "/opt/odoo/odoo-addons/ftp_connection/ftp_connect.py", line 60, in create_file

f = open(filename, 'w')

IOError: [Errno 13] Keine Berechtigung: 'WHOUT00023.txt'


It seems not a problem with unsuffient permisson on Linux. It seems that Python cannot write because of odoo.

Has some an idea, or need you more code from the python script?


Thank you!!

0
Hannes Hörting
On 7/16/15, 12:46 AM

Hello!


Thank you .. i found now the problem.

I also try to use a direct path to an folder ... but I has to restart odoo, after changes on the .py file.

So now it works, thank you!

0
Axel Mendoza
On 7/15/15, 11:00 PM

If you will save a temporary file better use a named file that is a temporary file so permissions are not involved. if you need the file in an specific folder then you need to check permission for the user that runs Odoo server, but if you will save the file in an FTP location better use a temporary file, I deal with this before. An Example of using NamedTemporaryFile

from tempfile import NamedTemporaryFile
named_zip = NamedTemporaryFile( suffix=".tmp", prefix="tmp__h2h__", delete=False )# or default True for delete the file after the first use
#to get filename
named_zip.name
named_zip.close() 



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

Question tools

2 follower(s)

Stats

Asked: 7/15/15, 10:55 AM
Seen: 1392 times
Last updated: 7/16/15, 12:46 AM