Esempio n. 1
0
def upload_movie_interface(back_dic,conn):
    movie_name = back_dic.get('movie_name')
    movie_size = back_dic.get('movie_size')
    movie_md5 = back_dic.get('movie_md5')
    is_free = back_dic.get('is_free')
    movie_path = os.path.join(settings.MOVIE_FILE_PATH,movie_name)
    num = 0
    with open(movie_path,'wb') as f:
        while num<movie_size:
            data = conn.recv(1024)
            f.write(data)
            num += len(data)
    movie_obj = models.Movie(
        movie_name=movie_name,
        movie_size=movie_size,
        movie_path=movie_path,
        is_free=is_free,
        u_id=back_dic.get('u_id'),
        file_md5=movie_md5,
        upload_time=datetime.datetime.now(),
        is_delete=0
    )
    movie_obj.orm_insert()
    send_dic = {'flag':True,'msg':'上传成功'}
    common.send_data(send_dic,conn)
Esempio n. 2
0
def get_movie_list_interface(back_dic, conn):
    movie_obj_list = models.Movie.orm_select(is_delete=0)
    # print(movie_obj_list)
    movie_type = back_dic.get('movie_type')
    movie_list = []
    if movie_obj_list:
        for movie_obj in movie_obj_list:

            if movie_type == 'all':
                movie_list.append([
                    movie_obj.movie_name,
                    '免费' if movie_obj.is_free == 1 else '收费'
                ])
            elif movie_type == 'free':
                if movie_obj.is_free:
                    movie_list.append([movie_obj.movie_name, '免费'])
            else:
                if not movie_obj.is_free:
                    movie_list.append([movie_obj.movie_name, '收费'])
        if not movie_list:
            send_dic = {'flag': False, 'msg': '暂无电影可以下载'}
        else:
            send_dic = {'flag': True, 'movie_list': movie_list}
    else:
        send_dic = {'flag': False, 'msg': '暂无电影'}
    common.send_data(send_dic, conn)
Esempio n. 3
0
def download_movie_interface(client_back_dic, conn):

    movie_id = client_back_dic.get('movie_id')
    movie_name = client_back_dic.get('movie_name')
    movie_type = client_back_dic.get('movie_type')
    user_id = client_back_dic.get('user_id')
    # movie_obj = models.Movie.select(id=movie_id)[0]
    # movie_path = movie_obj.path
    movie_path = os.path.join(settings.DOWNLOAD_PATH, movie_name)
    movie_size = os.path.getsize(movie_path)
    send_dic = {'flag': True, 'msg': '准备下载', 'movie_size': movie_size}
    user_obj = models.User.select(id=user_id)[0]

    if movie_type == '免费':
        wait_time = 0

        if not user_obj.is_vip:

            wait_time = 20

        send_dic['wait_time'] = wait_time

    print(send_dic)
    common.send_data(send_dic, conn, movie_path)

    obj = models.DownloadRecord(user_id=user_id,
                                movie_id=movie_id,
                                download_time=common.get_time())
    obj.save()
def upload_movie_interface(client_back_dic, conn):
    print('炮王来交货啦!')

    # 确保电影名称是唯一的  随机字符串 + 电影名称
    movie_name = common.get_random_code() + client_back_dic.get('movie_name')  # .mp4

    movie_size = client_back_dic.get('file_size')

    movie_path = os.path.join(
        settings.DOWNLOAD_PATH, movie_name
    )

    # 1.接受上传的电影
    data_recv = 0
    with open(movie_path, 'wb') as f:
        while data_recv < movie_size:
            data = conn.recv(1024)
            f.write(data)
            data_recv += len(data)

    # 2.把电影数据保存到mysql中
    movie_obj = models.Movie(
        name=movie_name, file_md5=client_back_dic.get('file_md5'),
        is_free=client_back_dic.get('is_free'), is_delete=0,
        path=movie_path, user_id=client_back_dic.get('user_id'),
        upload_time=common.get_time()
    )
    movie_obj.save()

    send_dic = {
        'flag': True, 'msg': f'{client_back_dic.get("movie_name")}电影上传成功!'
    }

    common.send_data(send_dic, conn)
def register_interface(client_back_dic, conn):

    # 写业务逻辑
    # 1.判断用户名是否存在
    username = client_back_dic.get('username')
    # 通过用户名当作条件查询
    user_obj_list = models.User.select(name=username)

    # 若存在,给客户端返回数据, 告诉用户,用户已存在!
    if user_obj_list:
        send_dic = {'flag': False, 'msg': '用户已存在!'}

    # 若不存在,保存数据到MySQL数据库中, 返回注册成功给客户端
    else:
        password = client_back_dic.get('password')
        user_obj = models.User(
            name=username,
            #  pwd, is_vip, is_locked, user_type, register_time
            pwd=common.get_md5_pwd(password),
            is_vip=0,  # 0表示不是VIP, 1表示VIP
            is_locked=0,  # 0表示不锁定, 1表示锁定
            user_type=client_back_dic.get('user_type'),
            register_time=common.get_time())

        user_obj.save()

        send_dic = {'flag': True, 'msg': '注册成功'}

    common.send_data(send_dic, conn)
Esempio n. 6
0
def check_movie_interface(back_dic, conn):
    movie_md5 = back_dic.get('movie_md5')
    movie_obj_list = models.Movie.orm_select(file_md5=movie_md5)
    if movie_obj_list:
        send_dic = {'flag': False, 'msg': '该电影已上传'}
    else:
        send_dic = {'flag': True, 'msg': '可以上传'}
    common.send_data(send_dic, conn)
Esempio n. 7
0
def delete_movie_interface(back_dic,conn):

    movie_name = back_dic.get('movie_name')
    movie_obj_list = models.Movie.orm_select(movie_name=movie_name)
    movie_obj = movie_obj_list[0]
    movie_obj.is_delete = 1
    movie_obj.orm_update()
    send_dic = {'flag':True,'msg':'电影删除成功'}
    common.send_data(send_dic,conn)
Esempio n. 8
0
def upload_movie(client):
    if not admin_data['session']:
        print('请先登录')
        return
    print('上传视频')
    while True:
        up_list = common.get_allfile_by_path(setting.BASE_MOVIE_UP)
        if not up_list:
            print('暂无能上传的影片')
            break
        for i, m in enumerate(up_list):
            print('%s : %s' % (i, m))
        choose = input('请选择要上传的影片').strip()
        if choose == 'q': break
        if choose.isdigit():
            choose = int(choose)
            # 先把md5值传上去校验一下文件是否存在,在决定要不要上传
            if choose >= len(up_list):
                print('请输入范围内的数字')
                continue
            movie_path = os.path.join(setting.BASE_MOVIE_UP, up_list[choose])
            file_md5 = common.get_bigfile_md5(movie_path)
            send_dic = {
                'type': 'check_movie',
                'session': admin_data['session'],
                'file_md5': file_md5
            }
            back_dic = common.send_data(client, send_dic, None)
            if back_dic['flag']:
                is_free = input('是否免费(y/n)>>:').strip()
                if is_free == 'y':
                    is_free = 1
                else:
                    is_free = 0
                fsize = os.path.getsize(movie_path)
                send_dic = {
                    'type': 'upload',
                    'user_type': 'admin',
                    'session': admin_data['session'],
                    'file_name': up_list[choose],
                    'file_size': fsize,
                    'file_md5': common.get_bigfile_md5(movie_path),
                    'is_free': is_free
                }
                back_dic = common.send_data(client, send_dic, movie_path)
                if back_dic['flag']:
                    print(back_dic['msg'])
                    break
                else:
                    print(back_dic['msg'])
            else:
                print(back_dic['msg'])
        else:
            print('请输入数字')
Esempio n. 9
0
def buy_vip_interface(back_dic, conn):
    # is_vip = back_dic.get('is_vip')
    user_obj_list = models.User.orm_select(u_id=back_dic.get('u_id'))
    user_obj = user_obj_list[0]
    if user_obj.is_vip:
        send_dic = {'flag': False, 'msg': '您已经是VIP,请勿重复购买!'}
    else:
        user_obj.is_vip = 1
        user_obj.orm_update()
        send_dic = {'msg': 'VIP会员购买成功!'}
    common.send_data(send_dic, conn)
Esempio n. 10
0
def buy_vip_interface(client_back_dic, conn):

    user_id = client_back_dic.get('user_id')

    user_obj = models.User.select(id=user_id)[0]
    user_obj.is_vip = 1
    user_obj.sql_update()

    send_dic = {'flag': True, 'msg': '会员充值成功!'}

    common.send_data(send_dic, conn)
Esempio n. 11
0
def issue_notice_interface(back_dic,conn):
    title = back_dic.get('title')
    content = back_dic.get('content')
    notice_obj = models.Notice(
        title=title,
        content=content,
        create_time=datetime.datetime.now(),
        u_id=back_dic.get('u_id')
    )
    notice_obj.orm_insert()
    send_dic = {'flag':True,'msg':'公告发布成功'}
    common.send_data(send_dic,conn)
def delete_movie_interface(client_back_dic, conn):
    movie_id = client_back_dic.get('movie_id')
    # 直接删除
    movie_obj = models.Movie.select(id=movie_id)[0]
    movie_obj.is_delete = 1
    # 调用更新方法
    movie_obj.sql_update()

    send_dic = {
        'flag': True, 'msg': '电影删除成功!'
    }

    common.send_data(send_dic, conn)
def put_notice_interface(client_back_dic, conn):
    title = client_back_dic.get('title')
    content = client_back_dic.get('content')
    user_id = client_back_dic.get('user_id')
    notice_obj = models.Notice(title=title, content=content, user_id=user_id,
                  create_time=common.get_time())

    notice_obj.save()

    send_dic = {
        'msg': '公告发布成功!'
    }

    common.send_data(send_dic, conn)
Esempio n. 14
0
def check_download_record_interface(back_dic, conn):
    u_id = back_dic.get('u_id')
    record_obj_list = models.DownloadRecord.orm_select(u_id=u_id)
    record_list = []
    if not record_obj_list:
        send_dic = {'flag': False, 'msg': '暂无下载记录'}
        common.send_data(send_dic, conn)
    else:
        for record_obj in record_obj_list:
            m_id = record_obj.m_id
            movie_obj = models.Movie.orm_select(m_id=m_id)[0]
            movie_name = movie_obj.movie_name
            record_list.append([movie_name, record_obj.download_time])
        send_dic = {'flag': True, 'record_list': record_list}
    common.send_data(send_dic, conn)
Esempio n. 15
0
def check_notice_interface(back_dic, conn):
    notice_obj_list = models.Notice.orm_select()
    notice_list = []
    if not notice_obj_list:
        send_dic = {'flag': False, 'msg': '暂无公告'}

    else:
        for notice_obj in notice_obj_list:
            notice_list.append({
                'title': notice_obj.title,
                'content': notice_obj.content,
                'create_time': notice_obj.create_time
            })
        send_dic = {'flag': True, 'notice_list': notice_list}
    common.send_data(send_dic, conn)
Esempio n. 16
0
def down_charge_movie(client):
    if not user_data['name']:
        print('请先登录')
        return
    print('下载收费视频')
    print('会员收费5元,普通用户收费10元')
    choose = input('请输入要下载的电影名称:').strip()
    send_dic['type'] = 'download_movie'
    send_dic['name'] = user_data['name']
    send_dic['session'] = user_data['session']
    send_dic['movie_name'] = choose
    send_dic['movie_type'] = 'charge'
    back_dic = common.send_data(client, send_dic, None)
    if back_dic['flag']:
        if back_dic['wait_time'] > 0:
            print('请等待 %s 秒' % back_dic['wait_time'])
            time.sleep(back_dic['wait_time'])
        recv_size = 0
        print('----->', back_dic['filename'])
        path = os.path.join(setting.BASE_MOVIE_DOWN, back_dic['filename'])
        with open(path, 'wb') as f:
            while recv_size < back_dic['filesize']:
                recv_data = client.recv(1024)
                f.write(recv_data)
                recv_size += len(recv_data)
                print('recvsize:%s filesize:%s' % (recv_size, back_dic['filesize']))
        print('%s :下载成功' % back_dic['filename'])
    else:
        print(back_dic['msg'])
Esempio n. 17
0
def buy_member(client):
    print('购买会员')
    if not user_data['name']:
        print('请先登录')
        return
    if user_data['is_vip']:
        print('您已经是会员了')
        return
    while True:
        buy = input('是否购买会员(y/n)q 退出').strip()
        if 'y' == buy:
            send_dic['type'] = 'buy_member'
            send_dic['name'] = user_data['name']
            send_dic['session'] = user_data['session']
            back_dic = common.send_data(client, send_dic, None)
            if back_dic['flag']:
                user_data['is_vip'] = True
                print(back_dic['msg'])
                break
            else:
                print(back_dic['msg'])

        elif 'q' == buy:
            break
        else:
            print('您没有购买')
Esempio n. 18
0
def register_interface(back_dic, conn):
    username = back_dic.get('username')
    password = back_dic.get('password')
    user_type = back_dic.get('user_type')
    user_obj_list = models.User.orm_select(username=username)
    if user_obj_list:
        send_dic = {'flag': False, 'msg': '用户名已存在'}
    else:
        user_obj = models.User(username=username,
                               password=password,
                               user_type=user_type,
                               is_vip=0,
                               register_time=datetime.datetime.now())
        user_obj.orm_insert()
        send_dic = {'flag': True, 'msg': '注册成功'}
    common.send_data(send_dic, conn)
def login_interface(client_back_dic, conn):
    # 执行login业务逻辑
    username = client_back_dic.get('username')

    # 1.根据用户名查询用户数据
    user_list = models.User.select(name=username)

    if not user_list:
        send_dic = {'flag': False, 'msg': '用户不存在'}

    else:
        user_obj = user_list[0]
        password = client_back_dic.get('password')
        # 1.判断客户端传入的密码与数据库中的密码是否相等
        if user_obj.pwd == common.get_md5_pwd(password):

            # 产生一个随机字符串,作为session值
            session = common.get_random_code()
            addr = client_back_dic.get('addr')
            # 保存session值到服务端,session + user_id一同保存到服务端本地
            # 使用锁写入数据
            lock_file.mutex.acquire()
            #  str(addr)
            user_data.user_online[addr] = [session, user_obj.id]
            lock_file.mutex.release()

            send_dic = {
                'flag': True,
                'msg': '登录成功!',
                'session': session,
                'is_vip': user_obj.is_vip,
                'new_notice': None
            }

            new_notice = get_new_notice_interface()

            if not new_notice:
                pass

            else:
                send_dic['new_notice'] = new_notice

        else:
            send_dic = {'flag': False, 'msg': '密码错误!'}

    common.send_data(send_dic, conn)
Esempio n. 20
0
def download_movie_interface(back_dic, conn):
    movie_name = back_dic.get('movie_name')
    movie_obj = models.Movie.orm_select(movie_name=movie_name)[0]
    m_id = movie_obj.m_id

    movie_path = os.path.join(settings.MOVIE_FILE_PATH, movie_name)
    movie_size = os.path.getsize(movie_path)
    send_dic = {'movie_size': movie_size}
    common.send_data(send_dic, conn)
    with open(movie_path, 'rb') as f:
        for line in f:
            conn.send(line)
    download_record_obj = models.DownloadRecord(
        m_id=m_id,
        u_id=back_dic.get('u_id'),
        download_time=datetime.datetime.now())
    download_record_obj.orm_insert()
def get_movie_list_interface(client_back_dic, conn):

    # 获取所有电影对象
    movie_obj_list = models.Movie.select()
    # 添加未删除的电影列表
    back_movie_list = []

    if movie_obj_list:

        # 过滤已删除的电影
        for movie_obj in movie_obj_list:

            # 没有删除则返回
            if not movie_obj.is_delete:  # 1 代表删除

                if client_back_dic.get('movie_type') == 'all':
                    back_movie_list.append(
                        # [电影名称、是否免费、电影ID]
                        [
                            movie_obj.name,
                            '免费' if movie_obj.is_free else "收费", movie_obj.id
                        ])

                elif client_back_dic.get('movie_type') == 'free':
                    # 判断哪些电影是免费的
                    if movie_obj.is_free:
                        back_movie_list.append(
                            [movie_obj.name, '免费', movie_obj.id])

                else:
                    if not movie_obj.is_free:
                        back_movie_list.append(
                            [movie_obj.name, '收费', movie_obj.id])

        if back_movie_list:

            send_dic = {'flag': True, 'back_movie_list': back_movie_list}

        else:
            send_dic = {'flag': False, 'msg': '没有电影!'}
    else:

        send_dic = {'flag': False, 'msg': '没有电影!'}

    common.send_data(send_dic, conn)
Esempio n. 22
0
def down_free_movie(client):
    if not user_data['session']:
        print('请先登录')
        return
    print('下载免费视频')
    '''
    先查询免费视频,打印出来,
    用户选择后,通过电影id去后台下载
    '''
    send_dic['type'] = 'get_movie_list'
    send_dic['movie_type'] = 'free'
    send_dic['session'] = user_data['session']
    back_dic = common.send_data(client, send_dic, None)
    if back_dic['flag']:
        for i, mo in enumerate(back_dic['movie_list']):
            print('%s : %s-->%s' % (i, mo[0], mo[1]))
        choose = input('请输入要下载的电影(数字):').strip()
        if choose.isdigit():
            choose = int(choose)
            # 回忆后台返回的数据是什么样的
            send_dic['type'] = 'download_movie'
            send_dic['session'] = user_data['session']
            send_dic['movie_id'] = back_dic['movie_list'][choose][2]
            send_dic['movie_type'] = 'free'
            back_dic = common.send_data(client, send_dic, None)
            if back_dic['flag']:
                if back_dic['wait_time'] > 0:
                    print('请等待 %s 秒' % back_dic['wait_time'])
                    time.sleep(back_dic['wait_time'])
                recv_size = 0
                print('----->', back_dic['filename'])
                path = os.path.join(setting.BASE_MOVIE_DOWN,
                                    back_dic['filename'])
                with open(path, 'wb') as f:
                    while recv_size < back_dic['filesize']:
                        recv_data = client.recv(1024)
                        f.write(recv_data)
                        recv_size += len(recv_data)
                        print('recvsize:%s filesize:%s' %
                              (recv_size, back_dic['filesize']))
                print('%s :下载成功' % back_dic['filename'])
            else:
                print(back_dic['msg'])
    else:
        print(back_dic['msg'])
Esempio n. 23
0
def upload_movie(client):
    if not admin_data['session']:
        print('请先登录')
        return
    print('上传视频')
    while True:
        up_list = common.get_allfile_by_path(setting.BASE_MOVIE_UP)
        if not up_list:
            print('暂无能上传的影片')
            break
        for i, m in enumerate(up_list):
            print('%s : %s' % (i, m))
        choose = input('请选择要上传的影片').strip()
        if choose == 'q': break
        if choose.isdigit():
            choose = int(choose)
            # 先把md5值传上去校验一下文件是否存在,在决定要不要上传
            if choose >=len(up_list):
                print('请输入范围内的数字')
                continue
            movie_path = os.path.join(setting.BASE_MOVIE_UP, up_list[choose])
            file_md5 = common.get_bigfile_md5(movie_path)
            send_dic={'type':'check_movie','session':admin_data['session'],'file_md5':file_md5}
            back_dic=common.send_data(client,send_dic,None)
            if back_dic['flag']:
                is_free = input('是否免费(y/n)>>:').strip()
                if is_free == 'y':
                    is_free = 1
                else:
                    is_free = 0
                fsize = os.path.getsize(movie_path)
                send_dic = {'type': 'upload', 'user_type': 'admin',
                            'session': admin_data['session'],
                            'file_name': up_list[choose], 'file_size': fsize, 'file_md5':common.get_bigfile_md5(movie_path),'is_free': is_free}
                back_dic = common.send_data(client, send_dic, movie_path)
                if back_dic['flag']:
                    print(back_dic['msg'])
                    break
                else:
                    print(back_dic['msg'])
            else:
                print(back_dic['msg'])
        else:
            print('请输入数字')
Esempio n. 24
0
def down_charge_movie(client):
    if not user_data['session']:
        print('请先登录')
        return
    print('下载收费视频')
    if user_data['is_vip']:
        charge = input('您是会员,收费5元(y 确认)').strip()
    else:
        charge = input('您不是会员,收费10元(y 确认)').strip()
    if not charge == 'y':  # 不是y,相当于没付钱,直接返回
        return
    send_dic['type'] = 'get_movie_list'
    send_dic['movie_type'] = 'charge'
    send_dic['session'] = user_data['session']
    back_dic = common.send_data(client, send_dic, None)
    if back_dic['flag']:
        for i, mo in enumerate(back_dic['movie_list']):
            print('%s : %s-->%s' % (i, mo[0], mo[1]))
        choose = input('请输入要下载的电影(数字):').strip()
        if choose.isdigit():
            choose = int(choose)
            # 回忆后台返回的数据是什么样的
            send_dic['type'] = 'download_movie'
            send_dic['session'] = user_data['session']
            send_dic['movie_id'] = back_dic['movie_list'][choose][2]
            send_dic['movie_type'] = 'charge'
            back_dic = common.send_data(client, send_dic, None)
            if back_dic['flag']:
                recv_size = 0
                print('----->', back_dic['filename'])
                path = os.path.join(setting.BASE_MOVIE_DOWN,
                                    back_dic['filename'])
                with open(path, 'wb') as f:
                    while recv_size < back_dic['filesize']:
                        recv_data = client.recv(1024)
                        f.write(recv_data)
                        recv_size += len(recv_data)
                        print('recvsize:%s filesize:%s' %
                              (recv_size, back_dic['filesize']))
                print('%s :下载成功' % back_dic['filename'])
            else:
                print(back_dic['msg'])
    else:
        print(back_dic['msg'])
Esempio n. 25
0
def check_all_notice_interface(client_back_dic, conn):

    notice_obj_list = models.Notice.select()

    back_notice_list = []

    if notice_obj_list:

        for notice_obj in notice_obj_list:
            title = notice_obj.title
            content = notice_obj.content
            back_notice_list.append({'title': title, 'content': content})

        send_dic = {'flag': True, 'back_notice_list': back_notice_list}

    else:
        send_dic = {'flag': False, 'msg': '没有公告!'}

    common.send_data(send_dic, conn)
def check_movie_interface(client_back_dic, conn):

    file_md5 = client_back_dic.get('file_md5')

    movie_list = models.Movie.select(file_md5=file_md5)

    if movie_list:

        send_dic = {
            'flag': False, 'msg': '电影已存在!'
        }

    else:

        send_dic = {
            'flag': True, 'msg': '电影可以上传'
        }

    common.send_data(send_dic, conn)
Esempio n. 27
0
def delete_movie(client):
    '''
    1 先拿到视频列表,打印
    2 根据视频前数字,选择要删除的视频
    3 删除成功/失败,打印
    '''
    if not admin_data['session']:
        print('请先登录')
        return
    print('删除视频')
    while True:
        send_dic['type'] = 'get_movie_list'
        send_dic['session'] = admin_data['session']
        send_dic['movie_type'] = 'all'
        back_dic = common.send_data(client, send_dic, None)
        if back_dic['flag']:
            for i, mo in enumerate(back_dic['movie_list']):
                print('%s : %s--%s' % (i, mo[0], mo[1]))
            choose = input('请输入要删除的电影(数字):').strip()
            if choose == 'q': break
            if choose.isdigit():
                choose = int(choose)
                if choose >= len(back_dic['movie_list']):
                    print('请输入范围内的数字')
                    continue
                send_dic['type'] = 'delete_movie'
                # 回忆后台返回的数据是什么样的
                send_dic['movie_id'] = back_dic['movie_list'][choose][2]
                back_dic = common.send_data(client, send_dic, None)
                if back_dic['flag']:
                    print(back_dic['msg'])
                    break
                else:
                    print(back_dic['msg'])

            else:
                print('请输入数字')

        else:
            print(back_dic['msg'])
            break
Esempio n. 28
0
def delete_movie(client):
    '''
    1 先拿到视频列表,打印
    2 根据视频前数字,选择要删除的视频
    3 删除成功/失败,打印
    '''
    if not admin_data['session']:
        print('请先登录')
        return
    print('删除视频')
    while True:
        send_dic['type'] = 'get_movie_list'
        send_dic['session'] = admin_data['session']
        send_dic['movie_type'] = 'all'
        back_dic = common.send_data(client, send_dic, None)
        if back_dic['flag']:
            for i, mo in enumerate(back_dic['movie_list']):
                print('%s : %s--%s' % (i, mo[0], mo[1]))
            choose = input('请输入要删除的电影(数字):').strip()
            if choose == 'q': break
            if choose.isdigit():
                choose = int(choose)
                if choose >= len(back_dic['movie_list']):
                    print('请输入范围内的数字')
                    continue
                send_dic['type'] = 'delete_movie'
                # 回忆后台返回的数据是什么样的
                send_dic['movie_id'] = back_dic['movie_list'][choose][2]
                back_dic = common.send_data(client, send_dic, None)
                if back_dic['flag']:
                    print(back_dic['msg'])
                    break
                else:
                    print(back_dic['msg'])

            else:
                print('请输入数字')

        else:
            print(back_dic['msg'])
            break
Esempio n. 29
0
def check_download_record(client):
    if not user_data['session']:
        print('请先登录')
        return
    print('查看观影记录')
    send_dic['type'] = 'check_download_record'
    send_dic['session'] = user_data['session']
    back_dic = common.send_data(client, send_dic, None)
    if back_dic['flag']:
        for re in back_dic['download_list']:
            print(re)
    else:
        print(back_dic['msg'])
Esempio n. 30
0
def check_notice(client):
    if not user_data['session']:
        print('请先登录')
        return
    print('查看公告')
    send_dic['type'] = 'check_notice'
    send_dic['session'] = user_data['session']
    back_dic = common.send_data(client, send_dic, None)
    if back_dic['flag']:
        for value in back_dic['notice_list']:
            print(value)
    else:
        print(back_dic['msg'])
Esempio n. 31
0
def get_movie_list(client):
    if not user_data['session']:
        print('请先登录')
        return
    print('查看视频列表')
    send_dic['type'] = 'get_movie_list'
    send_dic['movie_type'] = 'all'
    send_dic['session'] = user_data['session']
    back_dic = common.send_data(client, send_dic, None)
    if back_dic['flag']:
        for i, mo in enumerate(back_dic['movie_list']):
            print('%s : %s-->%s' % (i, mo[0], mo[1]))
    else:
        print(back_dic['msg'])
Esempio n. 32
0
def admin_login(client):
    print('管理员登录')
    while True:
        name = input('用户名>>').strip()
        if name == 'q': break
        password = input('密码>>').strip()
        send_dic = {'type': 'login', 'user_type': 'admin', 'name': name, 'password': common.make_md5(password)}

        back_dic = common.send_data(client, send_dic, None)
        if back_dic['flag']:
            admin_data['session'] = back_dic['session']
            print(back_dic['msg'])
            break
        else:
            print(back_dic['msg'])
Esempio n. 33
0
def check_download_record_interface(client_back_dic, conn):
    record_obj_list = models.DownloadRecord.select()
    user_id = client_back_dic.get('user_id')

    back_record_list = []

    if record_obj_list:
        for record_obj in record_obj_list:
            if record_obj.user_id == user_id:

                # 获取当前用户下载电影记录的电影对象
                movie_obj = models.Movie.select(id=record_obj.movie_id)[0]

                back_record_list.append(movie_obj.name)

            else:
                send_dic = {'flag': False, 'msg': '当前用户没有下载记录!'}

        send_dic = {'flag': True, 'record_list': back_record_list}

    else:
        send_dic = {'flag': False, 'msg': '没有任何下载记录!'}

    common.send_data(send_dic, conn)
Esempio n. 34
0
def admin_register(client):
    print('管理员注册')
    while True:
        name = input('请输入手机号>>:').strip()
        if name == 'q': break
        password = input('请输入密码>>').strip()
        conf_password = input('请确认密码>>:').strip()
        if password == conf_password:
            send_dic = {'type': 'register', 'user_type': 'admin', 'name': name, 'password': common.make_md5(password)}
            back_dic = common.send_data(client, send_dic, None)
            if back_dic['flag']:
                print(back_dic['msg'])
                break
            else:
                print(back_dic['msg'])

        else:
            print('两次密码不一致')
Esempio n. 35
0
def release_notice(client):
    if not admin_data['session']:
        print('请先登录')
        return
    print('发布公告')
    while True:
        notice_name = input('请输入公告标题:').strip()
        notice_content = input('请输入公告内容:').strip()
        if notice_name == 'q': break
        send_dic['type'] = 'release_notice'
        send_dic['session'] = admin_data['session']
        send_dic['notice_name'] = notice_name
        send_dic['notice_content'] = notice_content
        back_dic = common.send_data(client, send_dic, None)
        if back_dic['flag']:
            print(back_dic['msg'])
            break
        else:
            print(back_dic['msg'])