def update_tags(novel_id): novel = g.db_session.query(Novel).filter(Novel.user_id == session['user'], Novel.id == novel_id).first() if not novel: abort(503) data_list = [] for num in request.form: data = request.form.get(num) data_dict = {} for x in request.form.getlist(num): if x == 'l': data_dict['lock'] = True continue if x == 'b': data_dict['ban'] = True continue data_dict['tag'] = util.encode_string(x) if not data_dict: data_dict['tag'] = request.form.get(num) if not data_dict.get('tag'): continue data_list.append(data_dict) tag_dict = {} data_list for tag_data in data_list: if tag_data.get('ban'): tag_dict[tag_data['tag']] = {'edit': False, 'status': False} elif tag_data.get('lock'): tag_dict[tag_data['tag']] = {'edit': False, 'status': True} else: tag_dict[tag_data['tag']] = {'edit': True, 'status': True} util.update_tags(g, novel, tag_dict, admin=True) return ' '.join([tag.tag for tag in novel.active_tags])
def tagedit(novel_id): novel = g.db_session.query(Novel).filter(Novel.id == novel_id).first() if not novel: abort(503) tag_dict = {} for num in request.form: tagstr = util.encode_string(request.form.get(num)) if not tagstr or tagstr.find(' ') > 0: continue tag_dict[tagstr] = {'status': True} util.update_tags(g, novel, tag_dict) return ' '.join([tag.tag for tag in novel.active_tags])