def tm(): import json if request.method == 'GET': id = request.args.get('id') key = 'movie' + str(id) if rd.llen(key): msgs = rd.lrange(key, 0, 2999) res = {'code': 1, 'danmaku': [json.loads(v) for v in msgs]} else: res = {'code': 1, 'danmaku': []} resp = json.dumps(res) if request.method == 'POST': data = json.loads(request.get_data()) msg = { '__v': 0, 'author': data['author'], 'time': data['time'], 'text': data['text'], 'color': data['color'], 'type': data['type'], 'ip': data['type'], '_id': datetime.now().strftime('%Y%m%d%H%M%S') + uuid.uuid4().hex, 'player': [data['player']] } res = {'code': 1, 'data': msg} resp = json.dumps(res) rd.lpush('movie' + str(data['player']), json.dumps(msg)) return Response(resp, mimetype='application/json')
def tm(): if request.method == "GET": # 获取弹幕消息队列 id = request.args.get("id") global key key = "movie" + str(id) if rd.llen(key): msgs = rd.lrange(key, 0, 2999) res = { "code": 0, "data": [eval(v.decode("utf8")) for v in msgs] } else: res = { "code": 0, "data": [] } resp = json.dumps(res) if request.method == "POST": # 添加弹幕 data = json.loads(request.get_data()) msg = [data["time"], data["type"], data["color"], data["author"], data["text"], request.remote_addr, datetime.now().strftime("%Y%m%d%H%M%S") + uuid.uuid4().hex] res = { "code": 0, "data": msg } resp = json.dumps(res) rd.lpush(key, json.dumps(msg)) return Response(resp, mimetype="application/json")
def status_updated(mapper, connection, target): import app.cache.redis_keys as KEYS _clear_redis_cache(target) timeline_item = KEYS.status_updated.format( status_id=target.id, user_id=target.user_id) rd.lpush(KEYS.timeline_events_queue, timeline_item)
def tm(): """ 弹幕 """ # 获取弹幕消息 if request.method == "GET": id = request.args.get('id') key = "movie" + str(id) log('rd.llen(key)', rd.llen(key)) if rd.llen(key): msgs = rd.lrange(key, 0, 2999) log('msgs', rd.lrange(key, 0, 2999)) res = { "code": 1, "danmaku": [json.loads(v.decode('utf-8')) for v in msgs] } else: res = {"code": 1, "danmaku": []} resp = json.dumps(res) # 提交新弹幕 if request.method == "POST": d = request.get_data().decode('utf-8') log('d', d) data = json.loads(d) msg = { "__v": 0, "author": data["author"], "time": data["time"], "text": data["text"], "color": data["color"], "type": data['type'], "ip": request.remote_addr, "_id": datetime.datetime.now().strftime("%Y%m%d%H%M%S") + uuid.uuid4().hex, "player": [data["player"]] } res = {"code": 1, "data": msg} resp = json.dumps(res) rd.lpush("movie" + str(data["player"]), json.dumps(msg)) return Response(resp, mimetype='application/json')
def tm(): import json if request.method == "GET": #获取弹幕消息队列 id = request.args.get('id') key = "movie" + str(id) if rd.llen(key): msgs = rd.lrange(key, 0, 2999) res = { "code": 1, "danmaku": [json.loads(v) for v in msgs] } else: res = { "code": 1, "danmaku": [] } resp = json.dumps(res) if request.method == "POST": #添加弹幕 data = json.loads(request.get_data()) msg = { "__v": 0, "author": data["author"], "time": data["time"], "text": data["text"], "color": data["color"], "type": data['type'], "ip": request.remote_addr, "_id": datetime.datetime.now().strftime("%Y%m%d%H%M%S") + uuid.uuid4().hex, "player": [ data["player"] ] } res = { "code": 1, "data": msg } resp = json.dumps(res) rd.lpush("movie" + str(data["player"]), json.dumps(msg)) return Response(resp, mimetype='application/json')
def dan_man(): import json if request.method == 'GET': id = request.args.get('id') key = 'movie' + str(id) # 拼接key值 if rd.llen(key): # 如果有 msgs = rd.lrange(key, 0, 2999) res = {"code": 1, "danmuku": [json.loads(v) for v in msgs]} else: res = {"code": 1, "danmuku": []} resp = json.dumps(res) if request.method == 'POST': data = json.loads(request.get_data()) msg = { "_v": 0, "author": data["author"], "time": data["time"], "text": data["text"], "color": data["color"], "type": data["type"], "ip": request.remote_addr, "_id": datetime.datetime.now().strftime("%Y%m%d%H%M%S") + uuid.uuid4().hex, "player": [data["player"]] } res = {"code": 1, "data": msg} resp = json.dumps(res) rd.lpush("movie" + str(data["player"]), json.dumps(msg)) return Response(resp, mimetype='application/json')