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 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)