def friend_list(): # pg = int(request.args.get('pg', 1)) # num = int(request.args.get('num', 10)) res_type = 'webroll' bb_cli = BigbroCache() # start_ = (pg - 1) * num # end_ = start_ + num r_li = bb_cli.get_resource_list(res_type=res_type) rst = [] for r_id in r_li: slz = {} rc = bb_cli.get_resource(res_type=res_type, res_id=r_id) if not rc or rc['online'] != 'on': continue # slz['friend_id'] = rc['res_id'] for k in webroll_keys: slz[k] = rc['content'][k] rst.append(slz) rst.sort(key=lambda r: r['rrank']) return json.dumps({'friend_li': rst})
def project_unit(project_id): bb_cli = BigbroCache() res_type = 'project' p_ids = bb_cli.get_resource_list(res_type=res_type) rst = {} this_ix = p_ids.index(project_id) rst['pre_id'] = p_ids[this_ix - 1] if this_ix > 0 else '' rst['next_id'] = p_ids[this_ix + 1] if this_ix < len(p_ids) - 1 else '' if rst['next_id']: next_pc = bb_cli.get_resource(res_type, rst['next_id']) if next_pc['online'] == 'off': rst['next_id'] = '' pc = bb_cli.get_resource(res_type=res_type, res_id=project_id) if not pc: rst['cnt'] = '<h1>nothing</h1>' rst['ptitle'] = 'nothing' rst['psubtitle'] = 'nothing' else: for k in project_keys: rst[k] = pc['content'][k] return json.dumps(rst)
def news_list(): pg = int(request.args.get('pg', 1)) num = int(request.args.get('num', 6)) lang = request.args.get('lang', 'zh') res_type = 'news' bb_cli = BigbroCache() start_ = (pg - 1) * num end_ = start_ + num ne_li = bb_cli.get_resource_list(res_type=res_type, lang=lang) rst = [] for ne_id in ne_li: slz = {} ne = bb_cli.get_resource(res_type=res_type, res_id=ne_id) if not ne or ne['online'] != 'on': continue slz['news_id'] = ne['res_id'] slz['ndate'] = ne['content']['ndate'] slz['ntitle'] = ne['content']['ntitle'] slz['nsubtitle'] = ne['content']['nsubtitle'] slz['ncover'] = ne['content']['ncover'] rst.append(slz) tpg = int(ceil(len(rst) / 6.0)) return json.dumps({'news_li': rst[start_:end_], 'total_pg': tpg, 'pg': pg})
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)
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)
def banner_list(): pg = int(request.args.get('pg', 1)) num = int(request.args.get('num', 10)) lang = request.args.get('lang', 'zh') res_type = 'banner' bb_cli = BigbroCache() start_ = (pg - 1) * num end_ = start_ + num b_li = bb_cli.get_resource_list(res_type=res_type) rst = [] # for b_id in b_li: # slz = {} # bc = bb_cli.get_resource(res_type=res_type, res_id=b_id) # if not bc or bc['online'] != 'on': # continue # slz['banner_id'] = bc['res_id'] # for k in banner_keys: # slz[k] = bc['content'][k] # rst.append(slz) for mid in b_li: slz = {} mc = bb_cli.get_resource(res_type='movie', res_id=mid) if not mc or mc['online'] != 'on': continue if mc['content'].get('mlang', 'zh') != lang: continue slz['movie_id'] = mc['res_id'] slz['mcover'] = mc['content']['mcover'] slz['title'] = mc['content']['title'] slz['description'] = mc['content']['description'] slz['director'] = mc['content']['director'] slz['writer'] = mc['content']['writer'] slz['producer'] = mc['content']['producer'] rst.append(slz) return json.dumps({'banner_li': rst[start_:end_]})
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)
def about_me(): lang = request.args.get('lang', 'zh') bb_cli = BigbroCache() res_type = 'about' a_ids = bb_cli.get_resource_list(res_type=res_type, lang=lang) rst = {} if a_ids: ac = bb_cli.get_resource(res_type=res_type, res_id=a_ids[0]) for k in about_keys: rst[k] = ac['content'][k] rst['lang'] = ac['content'].get('lang', 'zh') return json.dumps(rst)
def movie_list(): pg = int(request.args.get('pg', 1)) num = int(request.args.get('num', 10)) lang = request.args.get('lang', 'zh') res_type = 'movie' bb_cli = BigbroCache() start_ = (pg - 1) * num end_ = start_ + num m_li = bb_cli.get_resource_list(res_type=res_type, lang=lang) rst = [] for m_id in m_li: slz = {} mc = bb_cli.get_resource(res_type=res_type, res_id=m_id) if not mc or mc['online'] != 'on': continue slz['movie_id'] = mc['res_id'] slz['title'] = mc['content']['title'] slz['description'] = mc['content']['description'] slz['poster'] = mc['content']['pmajor'] slz['release_date'] = mc['content']['release_date'] slz['mcover'] = mc['content']['mcover'] rst.append(slz) rst.sort(key=lambda m: m['release_date'], reverse=True) total_pg = int(ceil(len(rst) * 1.0 / num)) return json.dumps({ 'movie_li': rst[start_:end_], 'pg': pg, 'total_pg': total_pg })
def project_list(): pg = int(request.args.get('pg', 1)) num = int(request.args.get('num', 6)) res_type = 'project' bb_cli = BigbroCache() start_ = (pg - 1) * num end_ = start_ + num p_li = bb_cli.get_resource_list(res_type=res_type) rst = [] for p_id in p_li: slz = {} pc = bb_cli.get_resource(res_type=res_type, res_id=p_id) if not pc or pc['online'] != 'on': continue slz['project_id'] = pc['res_id'] slz['pdate'] = pc['content']['pdate'] slz['ptitle'] = pc['content']['ptitle'] slz['psubtitle'] = pc['content']['psubtitle'] slz['pcover'] = pc['content']['pcover'] rst.append(slz) tpg = int(ceil(len(rst) / 6.0)) return json.dumps({ 'project_li': rst[start_:end_], 'total_pg': tpg, 'pg': pg })
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)
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)
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)