def voting(group_id, voter, nick, msg): """ voting """ tip = "" vote_id = wechatdb.get_vote_by_group(group_id) if vote_id: vote_values = _VOTE_FLAG_RE.findall(msg) task = wechatdb.get_vote_task({"id": vote_id}) item_number = len(task["items"]) record_id = wechatdb.next_id("vote_record") vote_record = { "id": record_id, "vote_id": vote_id, "vote": vote_values, "group_id": group_id, "msg": msg, "voter": voter, "nick": nick, "created": timestamp_now(), } if item_number == len(vote_values): vote_record["valid"] = True wechatdb.update_vote_task({"id": vote_id}, {"$set": {"last_voter": nick}}) else: vote_record["valid"] = False wechatdb.update_vote_record({"vote_id": vote_id, "voter": voter}, vote_record, upsert=True) return {"tip": tip}
def voting(group_id, voter, nick, msg): ''' voting ''' tip = '' vote_id = wechatdb.get_vote_by_group(group_id) if vote_id: vote_values = _VOTE_FLAG_RE.findall(msg) task = wechatdb.get_vote_task({'id': vote_id}) item_number = len(task['items']) record_id = wechatdb.next_id('vote_record') vote_record = { 'id': record_id, 'vote_id': vote_id, 'vote': vote_values, 'group_id': group_id, 'msg': msg, 'voter': voter, 'nick': nick, 'created': timestamp_now(), } if item_number == len(vote_values): vote_record['valid'] = True else: vote_record['valid'] = False wechatdb.update_vote_record({'vote_id': vote_id, 'voter': voter}, vote_record, upsert=True) wechatdb.update_vote_task({'id': vote_id}, {'$set': {'last_voter': nick}}) return {'tip': tip}
def vote_start(group_id, starter, nick, msg, voted): ''' vote start ''' tip = u'------\n我是开始投票分割线\n顶[强]\n踩[弱]\n------' vote_id = wechatdb.get_vote_by_group(group_id) if vote_id: tip = u'本群有一个未结束的投票 将被覆盖 现在开始新的投票' if START_FLAG in msg: items_str = msg.split(START_FLAG)[1] if END_FLAG in items_str: items_str = items_str.split(END_FLAG)[0] items = items_str.split(SPLIT_FLAG) vote_id = wechatdb.next_id('vote') vote_group = { 'group_id': group_id, 'vote_id': vote_id, } wechatdb.update_vote_group({'group_id': group_id}, vote_group, upsert=True) vote_task = { 'id': vote_id, 'weight': 0.5, 'not_vote': True, 'group_id': group_id, 'start_msg': msg, 'starter': starter, 'nick': nick, 'voted': voted, 'created': timestamp_now(), 'status': Status.START, 'items': items, } group_config = wechatdb.get_group_config({'group_id': group_id}) if group_config: if 'weight' in group_config: vote_task['weight'] = group_config['weight'] if 'not_vote' in group_config: vote_task['not_vote'] = group_config['not_vote'] wechatdb.update_vote_task({'id': vote_id}, vote_task, upsert=True) else: tip = HELP else: tip = HELP return {'tip': tip}
def vote_start(group_id, starter, nick, msg, voted): """ vote start """ tip = u"------\n我是开始投票分割线\n顶[强]\n踩[弱]\n------" vote_id = wechatdb.get_vote_by_group(group_id) if vote_id: tip = u"本群有一个未结束的投票 将被覆盖 现在开始新的投票" if START_FLAG in msg: items_str = msg.split(START_FLAG)[1] if END_FLAG in items_str: items_str = items_str.split(END_FLAG)[0] items = items_str.split(SPLIT_FLAG) vote_id = wechatdb.next_id("vote") vote_group = {"group_id": group_id, "vote_id": vote_id} wechatdb.update_vote_group({"group_id": group_id}, vote_group, upsert=True) vote_task = { "id": vote_id, "weight": 0.5, "not_vote": True, "group_id": group_id, "start_msg": msg, "starter": starter, "nick": nick, "voted": voted, "created": timestamp_now(), "status": Status.START, "items": items, } group_config = wechatdb.get_group_config({"group_id": group_id}) if group_config: if "weight" in group_config: vote_task["weight"] = group_config["weight"] if "not_vote" in group_config: vote_task["not_vote"] = group_config["not_vote"] wechatdb.update_vote_task({"id": vote_id}, vote_task, upsert=True) else: tip = HELP else: tip = HELP return {"tip": tip}
def voting(group_id, voter, nick, msg): ''' voting ''' tip = '' vote_id = wechatdb.get_vote_by_group(group_id) if vote_id: vote_values = _VOTE_FLAG_RE.findall(msg) task = wechatdb.get_vote_task({'id': vote_id}) item_number = len(task['items']) record_id = wechatdb.next_id('vote_record') vote_record = { 'id': record_id, 'vote_id': vote_id, 'vote': vote_values, 'group_id': group_id, 'msg': msg, 'voter': voter, 'nick': nick, 'created': timestamp_now(), } if item_number == len(vote_values): vote_record['valid'] = True wechatdb.update_vote_task({'id': vote_id}, {'$set': { 'last_voter': nick }}) else: vote_record['valid'] = False wechatdb.update_vote_record({ 'vote_id': vote_id, 'voter': voter }, vote_record, upsert=True) return {'tip': tip}