I needed to update the __openerp__.py file automatically, so I wrote the following code
import json as json
with open('__openerp__.py','r+') as fl: var = eval(fl.read()) var['data'].append('some_xml_file.xml') fl.seek(0,0) fl.truncate() output = json.dumps(var, indent=4) fl.write(output)
The problem with this code is that the json.dumps method outputs the key
{...,
'installable': True,
...}
to
{...,
"installable": true,
...}
So when the __openerp__.py file is being read again it will gives the error:
NameError: name 'false' is not defined
I've written the following line to mend this problem
...
output = output.replace(': false',': False').replace(': true',': True')
fl.write(output)
My question is, How to update the __openerp__.py file correctly, i.e. as a python dictionary, without appealing to this replace line of code