def update_content(name: str, form: FlaskForm) -> None: g.execute('BEGIN') try: for language in app.config['LANGUAGES'].keys(): sql = 'DELETE FROM web.i18n WHERE name = %(name)s AND language = %(language)s' g.execute(sql, {'name': name, 'language': language}) sql = """ INSERT INTO web.i18n (name, language, text) VALUES (%(name)s, %(language)s, %(text)s);""" g.execute( sql, { 'name': name, 'language': language, 'text': form.__getattribute__(language).data.strip() }) g.execute('COMMIT') except Exception as e: # pragma: no cover g.execute('ROLLBACK') logger.log('error', 'database', 'transaction failed', e) flash(_('error transaction'), 'error')
def update_content(name: str, form: FlaskForm) -> None: for language in app.config['LANGUAGES'].keys(): Db.update(name, language, form.__getattribute__(language).data.strip())