Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
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)
Пример #14
0
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)
Пример #15
0
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)
Пример #16
0
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)
Пример #17
0
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()
Пример #18
0
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)
Пример #19
0
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)
Пример #20
0
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)
Пример #21
0
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)
Пример #22
0
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)
Пример #23
0
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)
Пример #24
0
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)
Пример #25
0
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)
Пример #26
0
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)
Пример #27
0
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)
Пример #28
0
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)
Пример #29
0
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)