def on_post(self, req, resp, template_id):
template_params = ujson.loads(req.context['body'])
try:
active = int(template_params['active'])
except ValueError:
raise HTTPBadRequest('Invalid active argument', 'active must be an int')
except KeyError:
raise HTTPBadRequest('Missing active argument')
with db.guarded_session() as session:
if active:
session.execute(
'''INSERT INTO `template_active` (`name`, `template_id`)
VALUES ((SELECT `name` FROM `template` WHERE `id` = :template_id),
:template_id)
ON DUPLICATE KEY UPDATE `template_id`=:template_id''',
{'template_id': template_id})
else:
session.execute('DELETE FROM `template_active` WHERE `template_id`=:template_id',
{'template_id': template_id})
session.commit()
session.close()
resp.status = HTTP_200
resp.body = ujson.dumps(active)
评论列表
文章目录