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')
Пример #2
0
 def update_content(name: str, form: FlaskForm) -> None:
     for language in app.config['LANGUAGES'].keys():
         Db.update(name, language,
                   form.__getattribute__(language).data.strip())