Ok, I think I found what you do : >From the DAL.py
Version 1.88.2 tfile = open(self._dbt, 'w') portalocker.lock(tfile, portalocker.LOCK_EX) cPickle.dump(sql_fields, tfile) portalocker.unlock(tfile) tfile.close() if self._dbt: if fake_migrate: logfile.write('faked!\n') else: logfile.write('success!\n') else: tfile = open(self._dbt, 'r') portalocker.lock(tfile, portalocker.LOCK_SH) sql_fields_old = cPickle.load(tfile) portalocker.unlock(tfile) tfile.close() Richard On Thu, Dec 23, 2010 at 10:36 AM, Richard Vézina < ml.richard.vez...@gmail.com> wrote: > There is also this lib : > > http://pypi.python.org/pypi/lockfile/ > > http://www.mail-archive.com/spambayes-dev@python.org/msg00727.html > > > Richard > > > On Thu, Dec 23, 2010 at 10:13 AM, Richard Vézina < > ml.richard.vez...@gmail.com> wrote: > >> Hello Massimo, >> >> I have one more question about the process of pickle the translation >> file... >> Do you lock file with "flock"? Or just open the file and close it after >> the pickling and applying transformation to the dict is enough to lock the >> file during the process? >> >> Is this code correct to not having concurent access problem?? : >> >> f = open("file.dat","wb") >> pickle.dump(x,f) >> f.close() >> >> f = open("file.dat","rb") >> y = pickle.load(f) >> f.close() >> >> >> Thank you >> >> Richard >> >> On Tue, Dec 7, 2010 at 12:17 PM, mdipierro <mdipie...@cs.depaul.edu> >> wrote: >> > >> > The language files are just python pickles of >> > {'original':'translation',...} where original and translation are UTF8 >> > strings. >> > You can open, lock, unpickle, do whatever you need to do, re-pickle, >> > unlock, close. >> > >> > On Dec 7, 11:03 am, Richard Vézina <ml.richard.vez...@gmail.com> >> > wrote: >> > > Hello, >> > > >> > > I would like to update the different language file for certain entry >> with >> > > translation contained in database... >> > > >> > > So I would do something like that : >> > > >> > > fr-ca.py dict.update(translate_ui_tables_names) >> > > or >> > > fr-fr.py dict.update(translate_ui_tables_names) >> > > >> > > But I don't know the name of the the variable name of the different >> dict >> > > that are contained in language files... >> > > >> > > And since those file are automatically generated I can't just do : >> > > >> > > fr-ca.py file dict : {key:vaule}.update(translate_ui_tables_names) >> > > >> > > Where could I add my update to the regular process of web2py? >> > > >> > > Or trigger a function... >> > > >> > > Richard >> > > >> > > On Mon, Dec 6, 2010 at 12:30 PM, Richard Vézina < >> ml.richard.vez...@gmail.com >> > > >> > > > wrote: >> > > > Hello, >> > > >> > > > I come with that solution... I would have comment... >> > > >> > > > I get my translations like this : >> > > >> > > > >> translate_ui_tables_names=dict((r.table_name_en_ui,r.table_name_fr_ui)\ >> > > > for r in db().select(db.dict_database.ALL)) >> > > >> > > > Then I just have to : >> > > >> > > > language translation dict*.append(translate_ui_tables_names) >> > > >> > > > * Still searching for the name of the dict of the differents >> language file >> > > > (ex.: fr-ca.py or fr-fr.py) >> > > >> > > > ;-) >> > > >> > > > Richard >> > > >> > > >> > >