def forward(): ''' 提交需要转发的url,content :return: 返回提交状态 ''' op = db_op.W_DB() url = request.form.get('fo_url').replace('comment', 'repost') contents = request.form.get('fo_content') accounts = request.form.get('accounts') forward_list = utils.cut_string(contents) account_list = utils.cut_string(accounts) content_list = set(forward_list) ret = {'status': 1, 'msg': '任务存储完毕'} if content_list and account_list and url: for content in content_list: if account_list: for account in account_list: if len(content) > 140: content = content[:139] ret = op.set_task(url, content, 0, account) ret['data'] = len(content_list) else: ret['status'] = 0 ret['msg'] = '任务提交失败' return json.jsonify(ret)
def add(): try: name = request.form.get('name') url = request.form.get('url').split('?')[0] desc = request.form.get('desc') except Exception: ret = {'status': 4, 'msg': '提交数据错误'} return json.jsonify(ret) user_code = utils.get_user_code() account_check = utils.get_grade(user_code) if account_check['status'] == 0: return json.jsonify(account_check) else: if account_check['data'] == '1': ret = {'status': 0, 'msg': '等级不够添加'} else: op = db_op.W_DB() check_task = op.check_vote_tasks(name, url) if check_task['data'] == 0: ret = utils.set_votes(name, url, desc) else: ret = {'status': 3, 'msg': '此条投票已存在'} op.close() return json.jsonify(ret)
def vote(): ''' 返回首页 :return: ''' visible = utils.get_settings('v_visible') user_code = utils.get_user_code() grade = int(utils.get_grade(user_code)['data']) artists = utils.get_artists() vote_list = [] op = db_op.W_DB() account_list = op.get_accounts()['data'] error_tasks = op.get_vote_task_list(2) f_tasks = op.get_vote_task_list(1) poster = None for artist in artists: a_list = op.get_vote_tasks(artist)['data'] vote_list.append((artist, a_list)) poster_result = utils.get_poster() if poster_result['status'] == 1: if poster_result['data']: poster = poster_result['data'] op.close() return render_template('vote.html', user_code=user_code, vote_list=vote_list, visible=visible, account_list=account_list, error_tasks=error_tasks, f_tasks=f_tasks, grade=grade, poster=poster)
def get_searching(): ''' 获取正在搜索的关键词信息 :return: ''' op = db_op.W_DB() ret = op.get_searching() return json.jsonify(ret)
def get_task_count(): ''' 实时获取正在等待转发的微博数量 :return: ''' op = db_op.W_DB() task_count = op.get_untask_count() return json.jsonify(task_count)
def del_task(): ret = {'status': 1} account = request.form.get('account') url = request.form.get('url') op = db_op.W_DB() ret = op.del_vote_task(account, url) op.close() return json.jsonify(ret)
def delete_keyword(): ''' 删除需要搜索的关键词 :return: ''' id = request.args.get('id') op = db_op.W_DB() ret = op.delete_keyword(id) op.close() return json.jsonify(ret)
def del_account(): ''' 删除账号 :return: ''' op = db_op.W_DB() user = request.args.get('user') ret = op.del_account(user) op.del_forward_by_account(user) op.close() return json.jsonify(ret)
def del_tasks(): ''' 清除尝试转发10次以上不成功的转发数据 :return: ''' op = db_op.W_DB() ret = op.del_task() if ret['status'] == 1: return redirect('/') else: return '清除任务错误'
def add_keyword(): ''' 添加关键词 :return: ''' content = request.args.get('content') expect = int(request.args.get('expect')) if content and expect: op = db_op.W_DB() ret = op.add_keyword(content, expect) else: ret = {'status': 0, 'msg': '没有数据'} return json.jsonify(ret)
def add_account(): ''' 添加微博账号 :return: ''' op = db_op.W_DB() user = request.form.get('user') passwd = request.form.get('passwd') ret = op.add_account(user, passwd) if ret['status'] == 1: ret = init_driver_data(user) if ret['status'] == 0: op.del_account(user) return json.jsonify(ret)
def search(): ''' 返回搜索页面 :return: ''' op = db_op.W_DB() keywords = op.get_keywords()['data'] visible = utils.get_visible() user_code = utils.get_user_code() grade = int(utils.get_grade(user_code)['data']) op.close() return render_template('search.html', grade=grade, user_code=user_code, keywords=keywords, visible=visible)
def update(): ''' 更新未投票的 :return: ''' ret = {'status': 1} artists = utils.get_artists() account_list = utils.cut_string(request.args.get('accounts', '')) op = db_op.W_DB() for account in account_list: for artist in artists: ret = utils.get_votes(artist) url_list = ret['data'] if url_list: for url in url_list: ret = op.set_vote_tasks(url[0], url[1], url[2], account) op.close() return json.jsonify(ret)
def index(): ''' 返回首页 :return: ''' data = '' op = db_op.W_DB() user_code = utils.get_user_code() grade = int(utils.get_grade(user_code)['data']) interval = utils.get_interval() visible = utils.get_settings('t_visible') comment = utils.get_settings('comment') account_list = op.get_accounts()['data'] yes_list = op.get_yes_tasks()['data'] data_list = [] total_count = 0 for account in account_list: fo_today = op.get_record_count('forward', 0, account)['data'] fo_yes = op.get_record_count('forward', 1, account)['data'] fo_all = op.get_all_tasks_count('forward', account)['data'] fo_week = op.get_sect_count('forward', 1, 7, account)['data'] data_list.append((account, fo_yes, fo_week, fo_all, fo_today)) total_count += fo_today task_count = op.get_untask_count()['data'] error_tasks = op.get_error_tasks()['data'] return render_template('index.html', address=request.form.get('weibo_info'), interval=interval, comment=comment, data_list=data_list, task_count=task_count, error_tasks=error_tasks, yes_list=yes_list, total_count=total_count > 5, grade=grade, account_list=account_list, back=data, visible=visible, user_code=user_code)
def del_e_task(): op = db_op.W_DB() ret = op.del_e_votes() op.close() return json.jsonify(ret)