def update_languages(): """ Update avaliable languages """ app = request.args[0] update_all_languages(apath(app)) session.flash = T('languages updated') redirect(URL(r=request, f='design/' + app))
def test_update_all_languages(self): languages.update_all_languages(self.apppath) en_file = os.path.join(self.apppath, 'languages', 'en.py') pt_file = os.path.join(self.apppath, 'languages', 'pt.py') en_dict = languages.read_dict(en_file) pt_dict = languages.read_dict(pt_file) for key in ['hello', 'world', '%s %%{shop}', 'ahoy']: self.assertTrue(key in en_dict) self.assertTrue(key in pt_dict)
# Based on web2py/scripts/sync_languages.py import os from gluon.languages import update_all_languages from gluon.fileutils import up app = request.application def apath(path="", r=None): """ Builds a path inside an application folder Parameters ---------- path: path within the application folder r: the global request object """ opath = up(r.folder) while path[:3] == "../": (opath, path) = (up(opath), path[3:]) return os.path.join(opath, path).replace("\\", "/") path = apath(app, request) update_all_languages(path)