示例#1
0
def project_unit():

    act = request.form.get('act')
    proid = request.form.get('proid')
    rtp = 'project'

    if not (act and proid):
        return 'thx_for_request_0'

    bb_cli = BigbroCache()
    pc = bb_cli.get_resource(res_type=rtp, res_id=proid)
    if not pc:
        return 'thx_for_request'

    if act in ['on', 'off']:
        pc['online'] = act
        bb_cli.update_resource(pc)
    elif act == 'fst':
        bb_cli.top_resource(res_type=rtp, res_id=proid)
    elif act == 'del':
        bb_cli.rem_resource_id(res_type=rtp, res_id=proid)
        Resources.bb_delete(res_tp=rtp,
                            res_id=proid,
                            update_bb=request.username)
        if pc['content']['pcover']:
            delete_resource(pc['content']['pcover'])

    return 'ok'
示例#2
0
def webroll():

    act = request.form.get('act')
    rid = request.form.get('rid')
    rtp = 'webroll'

    if not (act and rid):
        return 'thx_for_request_0'

    bb_cli = BigbroCache()
    rc = bb_cli.get_resource(res_type=rtp, res_id=rid)
    if not rc:
        return 'thx_for_request'

    if act in ['on', 'off']:
        rc['online'] = act
        bb_cli.update_resource(rc)
    elif act == 'fst':
        bb_cli.top_resource(res_type=rtp, res_id=rid)
    elif act == 'del':
        bb_cli.rem_resource_id(res_type=rtp, res_id=rid)
        Resources.bb_delete(res_tp=rtp, res_id=rid, update_bb=request.username)
        if rc['content']['rlogo']:
            delete_resource(rc['content']['rlogo'])

    return 'ok'
示例#3
0
def news_edit(res_id):

    res_tp = 'news'

    bb_cli = BigbroCache()
    nc = bb_cli.get_resource(res_type=res_tp, res_id=res_id)

    if request.method == 'GET':

        slz = {}
        slz['res_id'] = nc['res_id']
        for k in news_keys:
            slz[k] = nc['content'][k]

        return render_template('news_edit.html', news=slz)

    pre_cover = nc['content']['ncover']

    cnt = {}
    for k in news_keys:
        cnt[k] = request.form[k]

    nc['content'] = cnt
    nc['bb'] = request.username
    bb_cli.update_resource(nc)

    Resources.update_up(res_tp=res_tp,
                        res_id=res_id,
                        content=cnt,
                        update_bb=request.username)

    if pre_cover and pre_cover != nc['content']['ncover']:
        delete_resource(pre_cover)

    return render_template('news_create.html')
示例#4
0
def banner_edit(res_id):

    res_tp = 'banner'

    bb_cli = BigbroCache()
    bc = bb_cli.get_resource(res_type=res_tp, res_id=res_id)

    if request.method == 'GET':

        slz = {}
        slz['res_id'] = bc['res_id']
        for k in banner_keys:
            slz[k] = bc['content'][k]

        return render_template('banner_edit.html', b=slz)

    pre_cover = bc['content']['bcover']

    for k in banner_keys:
        bc['content'][k] = request.form[k]
    bc['bb'] = request.username

    if pre_cover and pre_cover != bc['content']['bcover']:
        delete_resource(pre_cover)

    bb_cli.update_resource(bc)

    Resources.update_up(res_tp=res_tp,
                        res_id=res_id,
                        content=bc['content'],
                        update_bb=request.username)

    return render_template('banner_create.html')
示例#5
0
def banner():

    act = request.form.get('act')
    bid = request.form.get('bid')
    rtp = 'banner'

    if not (act and bid):
        return 'thx_for_request_0'

    bb_cli = BigbroCache()
    bc = bb_cli.get_resource(res_type=rtp, res_id=bid)
    if not bc:
        return 'thx_for_request'

    if act in ['on', 'off']:
        bc['online'] = act
        bb_cli.update_resource(bc)
    elif act == 'fst':
        bb_cli.top_resource(res_type=rtp, res_id=bid)
    elif act == 'del':
        bb_cli.rem_resource_id(res_type=rtp, res_id=bid)
        Resources.bb_delete(res_tp=rtp, res_id=bid, update_bb=request.username)
        if bc['content']['bcover']:
            delete_resource(bc['content']['bcover'])

    return 'ok'
示例#6
0
def webroll_edit(res_id):

    res_tp = 'webroll'

    bb_cli = BigbroCache()
    rc = bb_cli.get_resource(res_type=res_tp, res_id=res_id)

    if request.method == 'GET':

        slz = {}
        slz['res_id'] = rc['res_id']
        for k in webroll_keys:
            slz[k] = rc['content'].get(k, 50)

        return render_template('webroll_edit.html', r=slz)

    pre_logo = rc['content']['rlogo']

    for k in webroll_keys:
        rc['content'][k] = request.form[k]
    rc['bb'] = request.username

    if pre_logo and pre_logo != rc['content']['rlogo']:
        delete_resource(pre_logo)

    bb_cli.update_resource(rc)

    Resources.update_up(res_tp=res_tp,
                        res_id=res_id,
                        content=rc['content'],
                        update_bb=request.username)

    # return render_template('webroll_create.html')

    return redirect(url_for('.webrolls'))
示例#7
0
def news_unit():

    act = request.form.get('act')
    nid = request.form.get('nid')
    rtp = 'news'

    if not (act and nid):
        return 'thx_for_request_0'

    bb_cli = BigbroCache()
    nc = bb_cli.get_resource(res_type=rtp, res_id=nid)
    if not nc:
        return 'thx_for_request'

    if act in ['on', 'off']:
        nc['online'] = act
        bb_cli.update_resource(nc)
    elif act == 'fst':
        bb_cli.top_resource(res_type=rtp, res_id=nid)
    elif act == 'del':
        bb_cli.rem_resource_id(res_type=rtp, res_id=nid)
        Resources.bb_delete(res_tp=rtp, res_id=nid, update_bb=request.username)
        if nc['content']['ncover']:
            delete_resource(nc['content']['ncover'])

    return 'ok'
示例#8
0
def project_edit(res_id):

    res_tp = 'project'

    bb_cli = BigbroCache()
    pc = bb_cli.get_resource(res_type=res_tp, res_id=res_id)

    if request.method == 'GET':

        slz = {}
        slz['res_id'] = pc['res_id']
        for k in project_keys:
            slz[k] = pc['content'][k]

        return render_template('project_edit.html', project=slz)

    pre_cover = pc['content']['pcover']

    cnt = {}
    for k in project_keys:
        cnt[k] = request.form[k]

    pc['content'] = cnt
    pc['bb'] = request.username
    bb_cli.update_resource(pc)

    if pre_cover and pre_cover != pc['content']['pcover']:
        delete_resource(pre_cover)

    return render_template('project_create.html')
示例#9
0
def projects():

    bb_cli = BigbroCache()
    rtp = 'project'

    if request.method == 'POST':
        cnt = {}
        for k in project_keys:
            cnt[k] = request.form[k]

        r = Resources.create(res_tp=rtp,
                             content=json.dumps(cnt),
                             create_bb=request.username)

        bb_cli.update_resource({
            'res_tp': r.res_tp,
            'res_id': r.res_id,
            'content': cnt,
            'online': 'off',
            'bb': r.create_bb,
            'created': r.created
        })
        bb_cli.add_resource_id(res_type=r.res_tp, res_id=r.res_id)

        return render_template('project_create.html')

    pg = int(request.args.get('pg', 1))

    start_ = (pg - 1) * 10
    end_ = start_ + 10 - 1

    project_total = bb_cli.get_resource_len(res_type=rtp)
    total_pg = int(ceil(project_total / 10.0))

    p_ids = bb_cli.get_resource_list(res_type=rtp, start=start_, end=end_)

    rst = []
    for p_id in p_ids:
        slz = {}
        pc = bb_cli.get_resource(res_type=rtp, res_id=p_id)
        if not pc:
            continue

        slz['res_id'] = pc['res_id']
        slz['bb'] = pc['bb']
        slz['created'] = timestamp_to_strftime(pc['created'])
        slz['online'] = pc['online']
        slz['res_tp'] = ''
        for k in project_keys:
            slz[k] = pc['content'][k]

        rst.append(slz)

    return render_template('hh_projects_v11.html',
                           projects=rst,
                           project_total=project_total,
                           total_pg=total_pg,
                           pg=pg)
示例#10
0
def webrolls():

    bb_cli = BigbroCache()
    rtp = 'webroll'

    if request.method == 'POST':
        cnt = {}
        for k in webroll_keys:
            cnt[k] = request.form[k]

        r = Resources.create(res_tp=rtp,
                             content=json.dumps(cnt),
                             create_bb=request.username)

        bb_cli.update_resource({
            'res_tp': r.res_tp,
            'res_id': r.res_id,
            'online': 'off',
            'bb': request.username,
            'content': cnt,
            'created': r.created
        })
        bb_cli.add_resource_id(res_type=r.res_tp, res_id=r.res_id)

        return render_template('webroll_create.html')

    pg = int(request.args.get('pg', 1))

    start_ = (pg - 1) * 20
    end_ = start_ + 20 - 1

    webroll_total = bb_cli.get_resource_len(res_type=rtp)
    total_pg = int(ceil(webroll_total / 20.0))

    r_ids = bb_cli.get_resource_list(res_type=rtp, start=start_, end=end_)

    rst = []
    for r_id in r_ids:
        slz = {}
        rc = bb_cli.get_resource(res_type=rtp, res_id=r_id)
        if not rc:
            continue

        slz['res_id'] = rc['res_id']
        slz['bb'] = rc['bb']
        slz['created'] = timestamp_to_strftime(rc['created'])
        slz['online'] = rc['online']
        for k in webroll_keys:
            slz[k] = rc['content'].get(k, 50)

        rst.append(slz)

    return render_template('hh_webrolls_v11.html',
                           webrolls=rst,
                           webroll_total=webroll_total,
                           total_pg=total_pg,
                           pg=pg)
示例#11
0
def movie_edit(res_id):

    res_tp = 'movie'

    bb_cli = BigbroCache()
    mc = bb_cli.get_resource(res_type=res_tp, res_id=res_id)

    if request.method == 'GET':

        slz = {}
        slz['res_id'] = mc['res_id']
        for k in movie_keys:
            slz[k] = mc['content'].get(k, '')
        slz['mlang'] = mc['content'].get('mlang', 'zh')

        return render_template('movie_edit.html', movie=slz)

    pre_cover = mc['content'].get('mcover', '')
    pre_lang = mc['content'].get('mlang', 'zh')

    cnt = {}
    for k in movie_keys:
        if k == 'clips':
            cnt[k] = request.form.getlist('clips[]')
        elif k == 'posters':
            cnt[k] = request.form.getlist('posters[]')
        elif k == 'videos':
            v_links = request.form.getlist('vdo_links[]')
            v_covers = request.form.getlist('vdo_covers[]')
            v_titles = request.form.getlist('vdo_titles[]')
            cnt[k] = []
            for l, c, t in zip(v_links, v_covers, v_titles):
                cnt[k].append({'vlink': l, 'vcover': c, 'vtitle': t})
        else:
            cnt[k] = request.form[k]
    cnt['mlang'] = request.form.get('mlang', 'zh')

    mc['content'] = cnt
    mc['bb'] = request.username
    bb_cli.update_resource(mc)

    Resources.update_up(res_tp=res_tp,
                        res_id=res_id,
                        content=cnt,
                        update_bb=request.username)

    if pre_lang != mc['content']['mlang']:
        bb_cli.rem_id_from_list(res_tp, res_id, pre_lang)
        bb_cli.add_resource_id(res_tp, res_id, mc['content']['mlang'])

    if pre_cover and pre_cover != mc['content']['mcover']:
        delete_resource(pre_cover)

    return render_template('movie_create.html')
示例#12
0
def about_me(lang):

    rtp = 'about'
    bb_cli = BigbroCache()

    if request.method == 'POST':
        cnt = {}
        for k in about_keys:
            cnt[k] = request.form[k]
        cnt['lang'] = lang

        r = Resources.create(res_tp=rtp,
                             content=json.dumps(cnt),
                             create_bb=request.username)

        bb_cli.update_resource({
            'res_tp': r.res_tp,
            'res_id': r.res_id,
            'content': cnt,
            'bb': r.create_bb,
            'created': r.created
        })
        bb_cli.add_resource_id(res_type=r.res_tp, res_id=r.res_id, lang=lang)

        a = {
            'res_id': r.res_id,
            'bb': r.create_bb,
            'created': timestamp_to_strftime(r.created),
            'adetail': cnt['adetail'],
            'lang': lang
        }

        return render_template('hh_about.html', about=a)

    a_li = bb_cli.get_resource_list(res_type=rtp, lang=lang)
    if not a_li:
        return render_template('about_edit.html', about={'lang': lang})

    ac = bb_cli.get_resource(res_type=rtp, res_id=a_li[0])
    rst = {
        'res_id': ac['res_id'],
        'bb': ac['bb'],
        'created': timestamp_to_strftime(ac['created']),
        'adetail': ac['content']['adetail'],
        'lang': lang
    }

    return render_template('hh_about.html', about=rst)
示例#13
0
def movie():

    act = request.form.get('act')
    mid = request.form.get('mid')
    rtp = 'movie'

    if not (act and mid):
        return 'thx_for_request_0'

    bb_cli = BigbroCache()
    mc = bb_cli.get_resource(res_type=rtp, res_id=mid)
    if not mc:
        return 'thx_for_request'

    if act in ['on', 'off']:
        mc['online'] = act
        bb_cli.update_resource(mc)
    elif act == 'fst':
        bb_cli.top_resource(res_type=rtp, res_id=mid)
    elif act == 'del':
        bb_cli.rem_resource_id(res_type=rtp, res_id=mid)
        Resources.bb_delete(res_tp=rtp, res_id=mid, update_bb=request.username)
        if mc['content']['posters']:
            for p in mc['content']['posters']:
                delete_resource(p)
        if mc['content']['clips']:
            for c in mc['content']['clips']:
                delete_resource(c)
        if mc['content']['mcover']:
            delete_resource(mc['content']['mcover'])
        if mc['content']['videos']:
            for v in mc['content']['videos']:
                delete_resource(v['vcover'])
    elif act == 'rcmd-on':
        bb_cli.set_recommend_movie(movie_id=mid,
                                   lang=mc['content'].get('mlang', 'zh'))
    elif act == 'rcmd-off':
        bb_cli.del_recommend_movie(lang=mc['content'].get('mlang', 'zh'))
    elif act == 'banner-on':
        bb_cli.add_resource_id(res_type='banner', res_id=mid)
    elif act == 'banner-off':
        bb_cli.rem_resource_id(res_type='banner', res_id=mid)

    return 'ok'
示例#14
0
def about_edit(res_id):

    res_tp = 'about'

    bb_cli = BigbroCache()
    ac = bb_cli.get_resource(res_type=res_tp, res_id=res_id)

    if request.method == 'GET':

        slz = {}
        slz['res_id'] = ac['res_id']
        for k in about_keys:
            slz[k] = ac['content'][k]

        return render_template('about_edit.html', about=slz)

    cnt = {}
    for k in about_keys:
        cnt[k] = request.form[k]

    cnt['lang'] = ac['content'].get('lang', 'zh')
    ac['content'] = cnt
    ac['bb'] = request.username
    bb_cli.update_resource(ac)

    Resources.update_up(res_tp=res_tp,
                        res_id=res_id,
                        content=cnt,
                        update_bb=request.username)

    a = {
        'res_id': ac['res_id'],
        'bb': ac['bb'],
        'created': timestamp_to_strftime(ac['created']),
        'adetail': ac['content']['adetail']
    }

    return render_template('hh_about.html', about=a)
示例#15
0
def banners():

    bb_cli = BigbroCache()
    rtp = 'banner'

    if request.method == 'POST':
        cnt = {}
        for k in banner_keys:
            cnt[k] = request.form[k]

        r = Resources.create(res_tp=rtp,
                             content=json.dumps(cnt),
                             create_bb=request.username)

        bb_cli.update_resource({
            'res_tp': r.res_tp,
            'res_id': r.res_id,
            'online': 'off',
            'bb': request.username,
            'content': cnt,
            'created': r.created
        })
        bb_cli.add_resource_id(res_type=r.res_tp, res_id=r.res_id)

        return render_template('banner_create.html')

    pg = int(request.args.get('pg', 1))

    start_ = (pg - 1) * 20
    end_ = start_ + 20 - 1

    banner_total = bb_cli.get_resource_len(res_type=rtp)
    total_pg = int(ceil(banner_total / 20.0))

    b_ids = bb_cli.get_resource_list(res_type=rtp, start=start_, end=end_)

    rst = []
    for b_id in b_ids:
        # slz = {}
        # bc = bb_cli.get_resource(res_type=rtp, res_id=b_id)
        # if not bc:
        #    continue

        # slz['res_id'] = bc['res_id']
        # slz['bb'] = bc['bb']
        # slz['created'] = timestamp_to_strftime(bc['created'])
        # slz['online'] = bc['online']
        # for k in banner_keys:
        #    slz[k] = bc['content'][k]

        # rst.append(slz)

        slz = {}
        mc = bb_cli.get_resource(res_type='movie', res_id=b_id)
        if not mc:
            continue

        slz['res_id'] = mc['res_id']
        slz['bb'] = mc['bb']
        slz['created'] = timestamp_to_strftime(mc['created'])
        slz['online'] = mc['online']
        slz['res_tp'] = mc['res_tp']
        for k in movie_keys:
            slz[k] = mc['content'].get(k, '')

        rst.append(slz)

    return render_template('banner_movies_v11.html',
                           movies=rst,
                           banner_total=banner_total,
                           total_pg=total_pg,
                           pg=pg)
示例#16
0
def movies():

    bb_cli = BigbroCache()
    rtp = 'movie'

    if request.method == 'POST':
        cnt = {}
        for k in movie_keys:
            if k == 'clips':
                cnt[k] = request.form.getlist('clips[]')
            elif k == 'posters':
                cnt[k] = request.form.getlist('posters[]')
            elif k == 'videos':
                v_links = request.form.getlist('vdo_links[]')
                v_covers = request.form.getlist('vdo_covers[]')
                v_titles = request.form.getlist('vdo_titles[]')
                cnt[k] = []
                for l, c, t in zip(v_links, v_covers, v_titles):
                    cnt[k].append({'vlink': l, 'vcover': c, 'vtitle': t})
            else:
                cnt[k] = request.form[k]
        cnt['mlang'] = request.form.get('mlang', 'zh')

        r = Resources.create(res_tp=rtp,
                             content=json.dumps(cnt),
                             create_bb=request.username)

        bb_cli.update_resource({
            'res_tp': r.res_tp,
            'res_id': r.res_id,
            'online': 'off',
            'bb': request.username,
            'content': cnt,
            'created': r.created
        })
        bb_cli.add_resource_id(res_type=r.res_tp,
                               res_id=r.res_id,
                               lang=cnt['mlang'])

        return render_template('movie_create.html')

    pg = int(request.args.get('pg', 1))
    lang = request.args.get('lang', 'zh')

    start_ = (pg - 1) * 20
    end_ = start_ + 20 - 1

    movie_total = bb_cli.get_resource_len(res_type=rtp, lang=lang)
    total_pg = int(ceil(movie_total / 20.0))

    m_ids = bb_cli.get_resource_list(res_type=rtp,
                                     start=start_,
                                     end=end_,
                                     lang=lang)

    rst = []
    for m_id in m_ids:
        slz = {}
        mc = bb_cli.get_resource(res_type=rtp, res_id=m_id)
        if not mc:
            continue

        slz['res_id'] = mc['res_id']
        slz['bb'] = mc['bb']
        slz['created'] = timestamp_to_strftime(mc['created'])
        slz['online'] = mc['online']
        slz['res_tp'] = mc['res_tp']
        for k in movie_keys:
            slz[k] = mc['content'].get(k, '')
        slz['mlang'] = mc['content'].get('mlang', 'zh')

        rst.append(slz)

    return render_template('hh_movies_v11.html',
                           movies=rst,
                           movie_total=movie_total,
                           total_pg=total_pg,
                           pg=pg)
示例#17
0
def news():

    bb_cli = BigbroCache()
    rtp = 'news'

    if request.method == 'POST':
        cnt = {}
        for k in news_keys:
            cnt[k] = request.form[k]

        cnt['nlang'] = request.form.get('nlang', 'zh')

        r = Resources.create(res_tp=rtp,
                             content=json.dumps(cnt),
                             create_bb=request.username)

        bb_cli.update_resource({
            'res_tp': r.res_tp,
            'res_id': r.res_id,
            'content': cnt,
            'online': 'off',
            'bb': r.create_bb,
            'created': r.created
        })
        bb_cli.add_resource_id(res_type=r.res_tp,
                               res_id=r.res_id,
                               lang=cnt['nlang'])

        return render_template('news_create.html')

    pg = int(request.args.get('pg', 1))
    lang = request.args.get('lang', 'zh')

    start_ = (pg - 1) * 10
    end_ = start_ + 10 - 1

    news_total = bb_cli.get_resource_len(res_type=rtp, lang=lang)
    total_pg = int(ceil(news_total / 10.0))

    n_ids = bb_cli.get_resource_list(res_type=rtp,
                                     start=start_,
                                     end=end_,
                                     lang=lang)

    rst = []
    for n_id in n_ids:
        slz = {}
        nc = bb_cli.get_resource(res_type=rtp, res_id=n_id)
        if not nc:
            continue

        slz['res_id'] = nc['res_id']
        slz['bb'] = nc['bb']
        slz['created'] = timestamp_to_strftime(nc['created'])
        slz['online'] = nc['online']
        for k in news_keys:
            slz[k] = nc['content'][k]
        slz['nlang'] = nc['content'].get('nlang', 'zh')

        rst.append(slz)

    return render_template('hh_news_v11.html',
                           news=rst,
                           news_total=news_total,
                           total_pg=total_pg,
                           pg=pg)