예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
def get_searching():
    '''
	获取正在搜索的关键词信息
	:return:
	'''
    op = db_op.W_DB()
    ret = op.get_searching()
    return json.jsonify(ret)
예제 #5
0
def get_task_count():
    '''
	实时获取正在等待转发的微博数量
	:return:
	'''
    op = db_op.W_DB()
    task_count = op.get_untask_count()
    return json.jsonify(task_count)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
def del_tasks():
    '''
	清除尝试转发10次以上不成功的转发数据
	:return:
	'''
    op = db_op.W_DB()
    ret = op.del_task()
    if ret['status'] == 1:
        return redirect('/')
    else:
        return '清除任务错误'
예제 #10
0
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)
예제 #11
0
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)
예제 #12
0
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)
예제 #13
0
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)
예제 #14
0
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)
예제 #15
0
def del_e_task():
    op = db_op.W_DB()
    ret = op.del_e_votes()
    op.close()
    return json.jsonify(ret)