def select_movie(conn, dic): movies_list = comment.get_movies_list() if not movies_list: dic2 = {"flag": 0, "msg": "暂无可以查看的电影"} else: dic2 = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic2)
def login(conn, dic): name = dic.get("name") pwd = dic.get("pwd") password = comment.get_md5(pwd) user_obj = comment.check_user(name) if user_obj: if user_obj.password == password: user_id = user_obj.id session = comment.get_md5(name) addr = dic.get("addr") notice = comment.new_notice() mutex.acquire() alive_user[addr] = [session, user_id] mutex.release() dic = { "flag": 2, "msg": "登陆成功!", "session": session, "notice": notice } else: dic = {"flag": 1, "msg": "密码错误!"} else: dic = {"flag": 0, "msg": "用户不存在!"} comment.service_send(conn, dic)
def login(dic, conn): name = dic.get("name") pwd = dic.get("pwd") object_user = comment.check_login(name, pwd) if object_user: notice = comment.check_notice(flag=1) dic_back = { "flag": 1, "msg": "登陆成功!", "user_id": object_user.id, "is_vip": object_user.is_vip, "notice": notice } session_obj = comment.get_md5(name) dic_back["session"] = session_obj dic_back["is_vip"] = object_user.is_vip settings.mutex.acquire() alive_user[dic["addr"]] = [session_obj, object_user.id] settings.mutex.release() comment.service_send(conn, dic_back) else: dic_back = {"flag": 0, "msg": "账号或密码错误!"} comment.service_send(conn, dic_back)
def upload_movie(conn, dic): dic1 = comment.service_recv(conn) movie_name = dic1.get("movie_name") movie_md5 = dic1.get("movie_md5") flag = comment.check_movie(movie_name, movie_md5) if flag: dic_back = {"flag": 0, "msg": "电影已经存在!"} else: dic_back = {"flag": 1, "msg": "上传准备就绪!"} comment.service_send(conn, dic_back) movie_size = dic1.get("movie_size") movie_path = os.path.join(UPLOAD_MOVIES, movie_name) w_movie(conn, movie_path, movie_size) dic2 = {"msg": "上传成功!"} user_id = dic.get("user_id") is_free = dic1.get("is_free") movie_obj = models.Movie(name=movie_name, path=movie_path, is_free=is_free, is_delete=0, file_md5=movie_md5, upload_time=comment.get_time(), user_id=user_id) movie_obj.save() comment.service_send(conn, dic2)
def check_notice(conn, dic): notices = comment.get_notice() if not notices: dic1 = {"flag": 0, "msg": "暂无公告!"} comment.service_send(conn, dic1) return dic1 = {"flag": 1, "notices": notices} comment.service_send(conn, dic1)
def check_download_movie(conn, dic): record = comment.get_record(dic) if not record: dic1 = {"flag": 0, "msg": "暂无下载记录!"} comment.service_send(conn, dic1) return dic1 = {"flag": 1, "record": record} comment.service_send(conn, dic1)
def select_movie(conn, dic): movies_list = comment.get_movies_list() if movies_list: dic1 = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic1) else: dic1 = {"flag": 0, "msg": "暂无可以查看的电影!"} comment.service_send(conn, dic1) return
def release_notice(conn, dic): dic_back = comment.service_recv(conn) title = dic_back.get("title") content = dic_back.get("content") user_id = dic.get("user_id") notice_obj = models.Notice(title=title, content=content, create_time=comment.get_time(), user_id=user_id) notice_obj.save() dic1 = {"msg": "发布成功!"} comment.service_send(conn, dic1)
def check_notice(dic, conn): res = comment.check_session(dic, conn) if res: return dic1 = {"flag": 1} comment.service_send(conn, dic1) notice_list = comment.check_notice() if notice_list: dic2 = {"flag": 1, "notice_list": notice_list} else: dic2 = {"flag": 0, "msg": "暂无公告!"} comment.service_send(conn, dic2)
def select_movie(dic, conn): res = comment.check_session(dic, conn) if res: return dic1 = {"flag": 1} comment.service_send(conn, dic1) movies_list = comment.get_movies_list() if not movies_list: dic2 = {"flag": 0, "msg": "暂无可以查看的电影!"} else: dic2 = {"flag": 1, "msg": movies_list} comment.service_send(conn, dic2)
def check_download_movie(dic, conn): res = comment.check_session(dic, conn) if res: return dic1 = {"flag": 1} comment.service_send(conn, dic1) record = comment.check_download_record(dic.get("user_id")) if record: dic2 = {"flag": 1, "record": record} else: dic2 = {"flag": 0, "msg": "暂无下载记录!"} comment.service_send(conn, dic2)
def register(conn, dic): name = dic.get("name") pwd = dic.get("pwd") pwd_md = comment.get_md5(pwd) flag = comment.check_user_name(name) if flag: dic_back = {"flag": 0, "msg": "用户已经存在!"} else: user_obj = models.User(name=name, password=pwd_md, is_vip=0, is_locked=0, user_type=dic.get("user_type"), register_time=comment.get_time()) user_obj.save() dic_back = {"flag": 1, "msg": "注册成功!"} comment.service_send(conn, dic_back)
def release_notice(conn, dic): dic_back = comment.service_recv(conn) notice_title = dic_back.get("notice_title") notice_content = dic_back.get("notice_content") user_id = dic.get("user_id") create_time = time.strftime("%Y-%m-%d %H:%M:%S") notice_obj = models.Notice(title=notice_title, content=notice_content, user_id=user_id, create_time=create_time) notice_obj.save() dic2 = {"msg": "发布成功!"} comment.service_send(conn, dic2)
def check_movie(dic, conn): res = comment.check_session(dic, conn) if res: return flag = comment.check_movie(dic.get("movie_md5")) if flag == 2: dic_back = {"flag": 2, "msg": "电影已存在,上传成功!"} comment.service_send(conn, dic_back) return if flag: dic_back = {"flag": 1, "msg": "电影已存在!"} else: dic_back = {"flag": 0, "msg": "请上传!"} comment.service_send(conn, dic_back)
def buy_vip(conn, dic): dic_back = comment.service_recv(conn) if dic_back.get("flag"): user_id = dic.get("user_id") user_obj = models.User.select(id=user_id)[0] if user_obj.is_vip == 1: dic2 = {"msg": "您已经是会员了!"} else: user_obj.is_vip = 1 user_obj.my_update() dic2 = {"msg": "充值成功!"} else: dic2 = {"msg": "充值失败!"} comment.service_send(conn, dic2)
def check_notice(conn, dic): notice_list = [] notices_obj = models.Notice.select() if notices_obj: for i in notices_obj: title = i.title content = i.content time = i.create_time notice = "%s %s %s" % (title, content, time) notice_list.append(notice) dic1 = {"flag": 1, "notice_list": notice_list} else: dic1 = {"flag": 0, "msg": "暂无公告!"} comment.service_send(conn, dic1)
def download_charge_movie(dic, conn): res = comment.check_session(dic, conn) if res: return movies_list = comment.get_movies_list(2) if movies_list: dic_back = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic_back) else: dic_back = {"flag": 0, "msg": "暂无可以下载的电影!"} comment.service_send(conn, dic_back) return dic1 = comment.service_recv(conn) movie_name = dic1.get("movie_name") movie_obj = models.Movie.select(name=movie_name)[0] movie_path = movie_obj.path movie_size = os.path.getsize(movie_path) dic2 = {"movie_size": movie_size} comment.service_send(conn, dic2) a = 0 with open(movie_path, "rb") as f: while a < movie_size: if a + 1024 * 10 > movie_size: conn.send(f.read(movie_size - a)) else: conn.send(f.read(1024 * 10)) a += 1024 * 10 dic3 = {"msg": "下载完成!"} comment.service_send(conn, dic3) download_record = models.DownloadRecord( user_id=dic.get("user_id"), movie_id=movie_obj.id, download_time=time.strftime("%Y-%m-%d %H:%M:%S")) download_record.save()
def check_download_movie(conn, dic): movie_list = [] user_id = dic.get("user_id") records_obj = models.DownloadRecord.select(user_id=user_id) if records_obj: for i in records_obj: movie_id = i.movie_id movie_name = models.Movie.select(id=movie_id)[0].name time = i.download_time movie = "%s %s" % (movie_name, time) movie_list.append(movie) dic1 = {"flag": 1, "movie_list": movie_list} else: dic1 = {"flag": 0, "msg": "暂无下载记录!"} comment.service_send(conn, dic1)
def register(dic, conn): name = dic.get("name") pwd = dic.get("pwd") if not comment.check_name(name): dic_back = {"flag": 1, "msg": "注册成功!"} comment.service_send(conn, dic_back) a = models.User(name=name, password=pwd, is_vip=0, is_locked=0, user_type=dic.get("user_type"), register_time=time.strftime("%Y-%m-%d %H:%M:%S")) a.save() else: dic_back = {"flag": 0, "msg": "用户已经存在!"} comment.service_send(conn, dic_back)
def release_notice(dic, conn): res = comment.check_session(dic, conn) if res: return dic_back = {"msg": "请添加公告!"} comment.service_send(conn, dic_back) dic1 = comment.service_recv(conn) title = dic1.get("title") content = dic1.get("content") user_id = dic.get("user_id") notice_obj = models.Notice(title=title, content=content, create_time=time.strftime("%Y-%m-%d %H:%M:%S"), user_id=user_id) notice_obj.save() dic_back1 = {"msg": "添加成功!"} comment.service_send(conn, dic_back1)
def login(conn, dic): name = dic.get("name") pwd = dic.get("pwd") pwd_md = comment.get_md5(pwd) user_obj = comment.check_user_name(name) if not user_obj: dic_back = {"flag": 0, "msg": "用户不存在"} else: if pwd_md == user_obj.password: id = user_obj.id session = comment.get_md5(name) addr = dic.get("addr") mutex.acquire() alive_user[addr] = [session,id] mutex.release() dic_back = {"flag": 1, "msg": "登陆成功!", "session": session,"notice":comment.select_first_notice()} else: dic_back = {"flag": 0, "msg": "密码错误!"} comment.service_send(conn, dic_back)
def buy_vip(dic, conn): print(dic) res = comment.check_session(dic, conn) if res: return dic2 = {"flag": "1"} comment.service_send(conn, dic2) dic1 = comment.service_recv(conn) if dic1.get("flag") == 1: user_obj = comment.check_user_id(dic.get("user_id")) if user_obj.is_vip == 1: dic_back = {"msg": "您已经是会员!"} else: user_obj.is_vip = 1 user_obj.mysql_update() dic_back = {"msg": "充值成功!"} else: dic_back = {"msg": "充值失败!"} comment.service_send(conn, dic_back)
def register(conn, dic): name = dic.get("name") pwd = dic.get("pwd") user_type = dic.get("user_type") flag = comment.check_user(name) if flag: dic1 = {"flag": 0, "msg": "用户已存在!"} comment.service_send(conn, dic1) return password = comment.get_md5(pwd) register_time = time.strftime("%Y-%m-%d %H:%M:%S") user_obj = models.User(name=name, password=password, is_vip=0, is_locked=0, user_type=user_type, register_time=register_time) user_obj.save() dic1 = {"flag": 1, "msg": "注册成功!"} comment.service_send(conn, dic1)
def upload_movie(conn, dic): dic_back = comment.service_recv(conn) if not dic_back.get("flag", 1): return movie_name = dic_back.get("movie_name") movie_md5 = dic_back.get("movie_md5") flag = comment.check_movie_name(movie_name, movie_md5) if flag: dic2 = {"flag": 0, "msg": "电影已经存在!"} comment.service_send(conn, dic2) return dic2 = {"flag": 1, "msg": "开始上传!"} comment.service_send(conn, dic2) movie_size = dic_back.get("movie_size") movie_path = os.path.join(BASE_UPLOAD_DIR, movie_name) w_movie(conn, movie_path, movie_size) movie_obj = models.Movie(name=movie_name, path=movie_path, is_free=dic_back.get("is_free"), is_delete=0, file_md5=movie_md5, upload_time=time.strftime("%Y-%m-%d %H:%M:%S"), user_id=dic.get("user_id")) movie_obj.save() dic3 = {"msg": "上传成功!"} comment.service_send(conn, dic3)
def upload_movie(dic, conn): file_size = dic.get("file_size") movie_name = dic.get("name") movie_path = os.path.join(BASE_UPLOAD_DIR, movie_name) with open(movie_path, "wb") as f: while file_size > 0: con = conn.recv(1024 * 10) f.write(con) file_size -= 1024 * 10 if file_size < 1024 * 10: con = conn.recv(file_size) f.write(con) break m = models.Movie(name=movie_name, path=movie_path, is_free=dic.get("is_free"), is_delete=0, file_md5=dic.get("file_md5"), upload_time=time.strftime("%Y-%m-%d %H:%M:%S"), user_id=dic.get("user_id")) m.save() dic2 = {"msg": "上传成功!"} comment.service_send(conn, dic2)
def download_charge_movie(conn, dic): movies_list = comment.get_movies_list(flag=2) if not movies_list: dic2 = {"flag": 0, "msg": "暂无可以下载的电影"} comment.service_send(conn, dic2) return else: dic2 = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic2) dic_back = comment.service_recv(conn) movie_name = dic_back.get("movie_name") movie_path = os.path.join(BASE_UPLOAD_DIR, movie_name) movie_size = os.path.getsize(movie_path) dic3 = {"movie_size": movie_size} comment.service_send(conn, dic3) r_movie(conn, movie_path, movie_size) user_id = dic.get("user_id") movie_id = models.Movie.select(name=movie_name)[0].id record = models.DownloadRecord(user_id=user_id, movie_id=movie_id, download_time=time.strftime("%Y-%m-%d %H:%M:%S")) record.save() dic4 = {"msg": "下载成功!"} comment.service_send(conn, dic4)
def download_charge_movie(conn, dic): movies_list = comment.get_movies_list(flag=2) if movies_list: dic1 = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic1) else: dic1 = {"flag": 0, "msg": "暂无可以下载的电影!"} comment.service_send(conn, dic1) return dic_back = comment.service_recv(conn) movie_name = dic_back.get("movie_name") movie_path = os.path.join(UPLOAD_MOVIES, movie_name) movie_size = os.path.getsize(movie_path) dic3 = {"movie_size": movie_size} comment.service_send(conn, dic3) r_movie(conn, movie_path, movie_size) user_id = dic.get("user_id") movie_id = models.Movie.select(name=movie_name)[0].id record = models.DownloadRecord(user_id=user_id, movie_id=movie_id, download_time=comment.get_time()) record.save() dic2 = {"msg": "下载成功!"} comment.service_send(conn, dic2)
def delete_movie(conn, dic): movies_list = comment.get_movies_list() if not movies_list: dic_back = {"flag": 0, "msg": "暂无可以删除的电影!"} comment.service_send(conn, dic_back) return dic_back = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic_back) dic1 = comment.service_recv(conn) movie_name = dic1.get("movie_name") movie_obj = models.Movie.select(name=movie_name)[0] movie_obj.is_delete = 1 movie_obj.my_update() dic_back1 = {"msg": "删除成功!"} comment.service_send(conn, dic_back1)
def delete_movie(dic, conn): res = comment.check_session(dic, conn) if res: return movies_list = comment.get_movies_list() if movies_list: dic_back = {"flag": 1, "movies_list": movies_list} comment.service_send(conn, dic_back) else: dic_back = {"flag": 0, "msg": "暂无可以删除的电影"} comment.service_send(conn, dic_back) return dic1 = comment.service_recv(conn) movie_name = dic1.get("movie_name") movie_obj = models.Movie.select(name=movie_name) if movie_obj: movie_obj[0].is_delete = 1 movie_obj[0].mysql_update() dic_back1 = {"msg": "删除成功!"} else: dic_back1 = {"msg": "删除失败!"} comment.service_send(conn, dic_back1)