コード例 #1
0
def houseinfo1():
    email = request.args.get('email')
    password = request.args.get('password')
    houseid = request.args.get('houseid')
    h = house.readhouse(houseid)
    policy = "<br>".join(h['Policies'])
    cook = 'Not' if 'No cooking' in h['Policies'] else ''
    smoke = 'Not' if 'No smoking' in h['Policies'] else ''
    pet = 'Not' if 'No pets' in h['Policies'] else ''
    bedroom_number = 0
    guests = 0
    bed_number = 0
    toilet_number = 0
    for line in h['configuration']:
        if ('guest' in line):
            guests = int(line.split(' ')[0])
        elif ('bedroom' in line):
            bedroom_number = int(line.split(' ')[0])
        elif ('bed' in line):
            bed_number = int(line.split(' ')[0])
        elif ('bath' in line):
            toilet_number = int(line.split(' ')[0])
    # post house owner
    post_email = h['belonging']
    user = control.getuser(post_email)
    user1 = control.getuser(email)
    collect_id = []
    try:
        collect_id = user1['collect']
    except:
        pass
    return render_template('house_info1.html',
                           email=email,
                           password=password,
                           houseid=houseid,
                           title=h['title'],
                           configuration=h['configuration'],
                           cook=cook,
                           smoke=smoke,
                           pet=pet,
                           bedroom_number=bedroom_number,
                           guests=guests,
                           bed_number=bed_number,
                           toilet_number=toilet_number,
                           price=h['price'],
                           image=h['image'],
                           Amenities=h['Amenities'],
                           host=h['Host'],
                           content=h['content'],
                           longitude=h['longitude'],
                           latitude=h['latitude'],
                           policy=policy,
                           post_email=post_email,
                           user_name=user['user_name'],
                           address=user['address'],
                           phone_number=user['phone number'],
                           Collect=collect_id)
コード例 #2
0
def uncolloct():
    email = request.values.get('email')
    password = request.values.get('password')
    house_id = request.values.get('house_id')
    if (control.verify(email, password)):
        user = control.getuser(email)
        try:
            post = [house.readhouse(i) for i in user['property']]
            post_id = [i for i in user['property']]
        except:
            post = []
            post_id = []
        try:
            deleted = [
                house.read_deleted_house(i) for i in user['deleted_post']
            ]
            deleted_id = [i for i in user['deleted_post']]
        except:
            deleted = []
            deleted_id = []
        collect_id = []
        try:

            collect = []
            visible_collect = set(user['collect']).difference(
                set(os.listdir('data/house_del')))
            collect_id = [item for item in visible_collect]
            collect_id.remove(house_id)
            for i in collect_id:
                collect.append(house.readhouse(i))

        except:
            pass
        control.putuser(email, user['user_name'], user['birthday'], password,
                        user['phone number'], user['address'], post_id,
                        deleted_id, collect_id)
        user = control.getuser(email)

        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=post,
                               Deleted=deleted,
                               Collect=collect)
    else:
        return 'fail'
コード例 #3
0
def recover_house():
    email = request.args.get('email')
    password = request.args.get('password')
    house_id = int(request.args.get('house_id'))
    Post = []
    Deleted = []
    if (control.verify(email, password)):
        user = control.getuser(email)
        user['deleted_post'].remove(str(house_id))
        try:
            user['property'].append(str(house_id))
        except:
            user['property'] = str(house_id)
        house.recover_house(house_id)
        for i in user['property']:
            Post.append(house.readhouse(i))

        for i in user['deleted_post']:
            Deleted.append(house.read_deleted_house(i))
        control.putuser(email, user['user_name'], user['birthday'], password,
                        user['phone number'], user['address'],
                        user['property'], user['deleted_post'])
    else:
        return
    birthday = '-'.join(user['birthday'].split('/')[::-1])
    return render_template('person_information_page.html',
                           email=email,
                           password=password,
                           user_name=user['user_name'],
                           birthday=birthday,
                           address=user['address'],
                           phone_number=user['phone number'],
                           Post=Post,
                           Deleted=Deleted)
コード例 #4
0
def personal_info():
    email = request.args.get('email')
    password = request.args.get('password')
    # print(email, password)
    user = dict()
    Post = []
    Deleted = []
    if (control.verify(email, password)):
        user = control.getuser(email)
        post = user['property']
        for i in post:
            Post.append(house.readhouse(i))
        try:
            for i in user['deleted_post']:
                Deleted.append(house.read_deleted_house(i))
        except:
            pass
    else:
        return
    birthday = '-'.join(user['birthday'].split('/')[::-1])
    return render_template('person_information_page.html',
                           email=email,
                           password=password,
                           user_name=user['user_name'],
                           birthday=birthday,
                           address=user['address'],
                           phone_number=user['phone number'],
                           Post=Post,
                           Deleted=Deleted)
コード例 #5
0
def colloct():
    email = request.values.get('email')
    password = request.values.get('password')
    house_id = request.values.get('house_id')
    if (control.verify(email, password)):
        user = control.getuser(email)
        try:
            post_id = user['property']
        except:
            post_id = []
        try:
            deleted_id = user['deleted_post']
        except:
            deleted_id = []
        try:
            collect = user['collect']
        except:
            collect = []
        collect.append(house_id)
        control.putuser(email, user['user_name'], user['birthday'], password,
                        user['phone number'], user['address'], post_id,
                        deleted_id, collect)
        return 'success'
    else:
        return 'fail'
コード例 #6
0
def post_house():
    email = request.form.get('email')
    password = request.form.get('password')
    if request.method == 'POST':
        title = request.form.get('title')
        price = request.form.get('price')
        guest = request.values.get('guest')
        bedroom = request.values.get('bedroom')
        bed = request.values.get('bed')
        bath = request.values.get('bath')
        content = request.values.get('content')
        policy = request.values.get('policy')
        options1 = request.values.getlist("options1")
        options2 = request.values.getlist("options2")
        picname = None
        try:
            picname = [request.files['pic']]
        except:
            pass
        max_index = control.puthouse(email, password, picname, title, guest,
                                     bedroom, bed, bath, price, options1,
                                     options2, policy, content)
        Post = []
        Deleted = []
        if (control.verify(email, password)):
            user = control.getuser(email)
            user['property'].append(str(max_index))
            try:
                control.putuser(email, user['user_name'], user['birthday'],
                                password, user['phone number'],
                                user['address'], user['property'],
                                user['deleted_post'])
            except:
                control.putuser(email, user['user_name'], user['birthday'],
                                password, user['phone number'],
                                user['address'], user['property'])
            for i in user['property']:
                Post.append(house.readhouse(i))
            print(Post)
            try:
                for i in user['deleted_post']:
                    Deleted.append(house.read_deleted_house(i))
            except:
                pass
            print(Deleted)
            birthday = '-'.join(user['birthday'].split('/')[::-1])
            return render_template('person_information_page.html',
                                   email=email,
                                   password=password,
                                   user_name=user['user_name'],
                                   birthday=birthday,
                                   address=user['address'],
                                   phone_number=user['phone number'],
                                   Post=Post,
                                   Deleted=Deleted)
    else:
        return render_template('person_information_page.html')
コード例 #7
0
def remove_house():
    email = request.args.get('email')
    password = request.args.get('password')
    house_id = int(request.args.get('house_id'))
    Post = []
    Deleted = []
    Collect = []
    if (control.verify(email, password)):
        user = control.getuser(email)
        user['property'].remove(str(house_id))
        post = user['property']
        # print(post)
        house.remove_house(house_id)
        try:
            for i in post:
                Post.append(house.readhouse(i))
        except:
            pass

        try:
            user['deleted_post'].append(str(house_id))
        except:
            user['deleted_post'] = [str(house_id)]
        try:
            for i in user['deleted_post']:
                Deleted.append(house.read_deleted_house(i))
        except:
            pass

        try:
            visible_collect = set(user['collect']).difference(
                set(os.listdir('data/house_del')))
            for i in visible_collect:
                Collect.append(house.readhouse(i))
        except:
            pass
        control.putuser(email, user['user_name'], user['birthday'], password,
                        user['phone number'], user['address'],
                        user['property'], user['deleted_post'])
    else:
        return
    birthday = '-'.join(user['birthday'].split('/')[::-1])
    return render_template('person_information_page.html',
                           email=email,
                           password=password,
                           user_name=user['user_name'],
                           birthday=birthday,
                           address=user['address'],
                           phone_number=user['phone number'],
                           Post=Post,
                           Deleted=Deleted,
                           Collect=Collect)
コード例 #8
0
def upload_head():
    email = request.form.get('email')
    password = request.form.get('password')
    if request.method == 'POST':
        picname = [request.files['pic']]
        if picname[0] and allowed_file(picname[0]):
            print(email)
            print(picname)
            file_name = "./data/user/head/" + str(email) + ".jpg"
            os.remove(file_name)
            picname[0].save(file_name)

            user = control.getuser(email)
            birthday = '-'.join(user['birthday'].split('/')[::-1])
            return render_template('person_information_page.html',
                                   email=email,
                                   password=password,
                                   user_name=user['user_name'],
                                   birthday=birthday,
                                   address=user['address'],
                                   phone_number=user['phone number'],
                                   Post=user['property'],
                                   Deleted=user['deleted_post'])
        else:
            return render_template('新建文件夹/false.html',
                                   email=email,
                                   password=password)
    else:
        user = control.getuser(email)
        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=user['property'],
                               Deleted=user['deleted_post'])
コード例 #9
0
def feedback():
    # if(request.method == 'GET'):
    #
    #     feedback = request.args.get('feedback')

    email = request.form.get('email')
    password = request.form.get('password')
    if request.method == 'POST':
        title = str(request.form.get('title'))
        nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  # 现在
        print(nowtime)
        content = request.values.get('content')

        control.feedback_write_file(email, title, nowtime, content)
        user = control.getuser(email)
        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=user['property'],
                               Deleted=user['deleted_post'])

    else:
        user = control.getuser(email)
        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=user['property'],
                               Deleted=user['deleted_post'])
コード例 #10
0
def change_person_info():
    if (request.method == 'GET'):
        email = request.values.get('email')
        password = request.values.get('password')
        user = control.getuser(email)

        if (control.verify(email, password)):
            try:

                new_password = request.values.get('new_password')
                address = request.values.get('address')
                phone_number = request.values.get('phone_number')
                user_name = request.values.get('user_name')
                birthday = request.values.get('birthday')
                comfirm_password = request.values.get('comfirm_password')
                try:
                    Post_id = user['property']
                except:
                    Post_id = []
                try:
                    deleted_id = user['deleted_post']
                except:
                    deleted_id = []

                try:
                    collect = []
                    visible_collect = set(user['collect']).difference(
                        set(os.listdir('data/house_del')))
                    for i in visible_collect:
                        collect.append(house.readhouse(i))
                except:
                    collect = []
                control.putuser(email, user_name, birthday, new_password,
                                phone_number, address, Post_id, deleted_id,
                                collect)
                return render_template('person_information_page.html',
                                       email=email,
                                       password=new_password,
                                       user_name=user_name,
                                       birthday=birthday,
                                       address=address,
                                       phone_number=phone_number)
            except:
                return render_template('search1.html',
                                       email=email,
                                       password=password)
コード例 #11
0
def search1():
    if (request.method == 'GET'):
        try:
            search = request.args.get('search')
            email = request.args.get('email')
            password = request.args.get('password')
            collect = []
            if (control.verify(email, password)):
                try:
                    collect = control.getuser(email)['collect']
                except:
                    pass
            return render_template('result_list1.html',
                                   search_phrase=search,
                                   email=email,
                                   password=password,
                                   Collect=collect)
        except:
            return render_template('search1.html')
コード例 #12
0
def result_list_content():
    search_list = []
    collect = []
    email = ''
    password = ''
    cur_page = 1
    total_page = 1
    if (request.method == 'GET'):
        try:
            email = request.args.get('email')
            password = request.args.get('password')
            search = request.args.get('search')
            cur_page = int(request.args.get('cur_page'))
            search = re.split('[^a-z0-9]*', search.lower())
            search_list = house.get_index(search)
            user = control.getuser(email)
            if ('collect' in user.keys()):
                collect = user['collect']
            total_page = math.ceil(len(search_list) / 12.0)
        except:
            cur_page = 1
            total_page = 1
        finally:
            if (1 < cur_page):
                pre_page = cur_page - 1
            else:
                pre_page = 1
            if (cur_page < total_page):
                next_page = cur_page + 1
            else:
                next_page = total_page
            # print(house.get_content(search_list))

            return render_template('result_list_content.html',
                                   contents=house.get_content(
                                       search_list, cur_page),
                                   current_page=cur_page,
                                   total_page=total_page,
                                   pre_page=pre_page,
                                   next_page=next_page,
                                   email=email,
                                   password=password,
                                   Collect=collect)
コード例 #13
0
def edit_house():
    email = request.values.get('email')
    password = request.values.get('password')
    house_id = int(request.values.get('house_id'))
    print(email, password, 'house_id12=', house_id)

    if request.method == 'POST':
        title = request.values.get('title')
        address = request.values.get('address')
        latitude = request.values.get('latitude')
        longitude = request.values.get('longitude')
        print('latitude=', latitude)
        print('longitude=', longitude)
        price = request.values.get('price')
        guest = request.values.get('guest')
        bedroom = request.values.get('bedroom')
        bed = request.values.get('bed')
        bath = request.values.get('bath')
        content = request.values.get('content')
        policy = request.values.get('policy')
        options1 = request.values.getlist("options1")
        options2 = request.values.getlist("options2")
        # picname = None
        # try:
        #     picname = [request.files['pic']]
        # except:
        #     pass
        # this part by fanxiaoyu

        # this is by fanxiaoyu
        picname = []
        try:
            pic = request.files.getlist('pic')
            picname.append(pic)
            print('上传文件', picname)
        except:
            pass

        control.empty_folder(str(house_id))
        policy = "\n".join(policy.split('\r\n'))
        control.edit_house_info(email, password, house_id, picname, title,
                                guest, bedroom, bed, bath, price, options1,
                                options2, policy, content, address, latitude,
                                longitude)

        Post = []
        Deleted = []
        Collect = []
        if (control.verify(email, password)):
            user = control.getuser(email)

            try:
                control.putuser(email, user['user_name'], user['birthday'],
                                password, user['phone number'],
                                user['address'], user['property'],
                                user['deleted_post'])
            except:
                control.putuser(email, user['user_name'], user['birthday'],
                                password, user['phone number'],
                                user['address'], user['property'])
            for i in user['property']:
                Post.append(house.readhouse(i))
            # print(Post)
            try:
                for i in user['deleted_post']:
                    Deleted.append(house.read_deleted_house(i))
            except:
                pass

            try:
                visible_collect = set(user['collect']).difference(
                    set(os.listdir('data/house_del')))
                for i in visible_collect:
                    Collect.append(house.readhouse(i))
            except:
                pass

            birthday = '-'.join(user['birthday'].split('/')[::-1])
            return render_template('person_information_page.html',
                                   email=email,
                                   password=password,
                                   user_name=user['user_name'],
                                   birthday=birthday,
                                   address=user['address'],
                                   phone_number=user['phone number'],
                                   Post=Post,
                                   Deleted=Deleted,
                                   Collect=Collect)
    else:
        return render_template('person_information_page.html')
コード例 #14
0
def feedback():
    # if(request.method == 'GET'):
    #
    #     feedback = request.args.get('feedback')

    email = request.form.get('email')
    password = request.form.get('password')
    Deleted = []
    Collect = []
    if request.method == 'POST':
        title = str(request.form.get('title'))
        nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        # print(nowtime)
        content = request.values.get('content')

        control.feedback_write_file(email, title, nowtime, content)
        user = control.getuser(email)
        try:
            Post = [house.readhouse(_) for _ in user['deleted_post']]
        except:
            Post = []
        try:
            Deleted = user['deleted_post']
        except:
            pass
        try:
            visible_collect = set(user['collect']).difference(
                set(os.listdir('data/house_del')))
            for i in visible_collect:
                Collect.append(house.readhouse(i))
        except:
            pass
        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=Post,
                               Deleted=Deleted,
                               Collect=Collect)

    else:
        user = control.getuser(email)
        try:
            Post = [house.readhouse(_) for _ in user['deleted_post']]
        except:
            Post = []
        try:
            Deleted = user['deleted_post']
        except:
            pass
        try:
            visible_collect = set(user['collect']).difference(
                set(os.listdir('data/house_del')))
            for i in visible_collect:
                Collect.append(house.readhouse(i))
        except:
            pass
        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=Post,
                               Deleted=Deleted,
                               Collect=Collect)
コード例 #15
0
def upload_head():
    email = request.form.get('email')
    password = request.form.get('password')
    if request.method == 'POST':
        picname = [request.files['pic']]
        # if picname[0] and allowed_file(picname[0]):
        # print(email)
        # print('picname',picname)
        # print('picname[0]',picname[0])
        file_name = "./data/user/head/" + str(email) + ".jpg"
        os.remove(file_name)
        picname[0].save(file_name)
        user = control.getuser(email)
        try:
            Post = [house.readhouse(i) for i in user['property']]
        except:
            Post = []

        try:
            Deleted = [house.readhouse(i) for i in user['deleted_post']]
        except:
            Deleted = []

        try:
            Collect = []
            visible_collect = set(user['collect']).difference(
                set(os.listdir('data/house_del')))
            for i in visible_collect:
                Collect.append(house.readhouse(i))
        except:
            Collect = []

        birthday = '-'.join(user['birthday'].split('/')[::-1])
        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=Post,
                               Deleted=Deleted,
                               Collect=Collect)
        # else:
        # return render_template('新建文件夹/false.html', email=email, password=password)
    else:
        user = control.getuser(email)
        birthday = '-'.join(user['birthday'].split('/')[::-1])
        try:
            Post = [house.readhouse(i) for i in user['property']]
        except:
            Post = []

        try:
            Deleted = [house.readhouse(i) for i in user['deleted_post']]
        except:
            Deleted = []

        try:
            Collect = []
            visible_collect = set(user['collect']).difference(
                set(os.listdir('data/house_del')))
            for i in visible_collect:
                Collect.append(house.readhouse(i))
        except:
            Collect = []

        return render_template('person_information_page.html',
                               email=email,
                               password=password,
                               user_name=user['user_name'],
                               birthday=birthday,
                               address=user['address'],
                               phone_number=user['phone number'],
                               Post=Post,
                               Deleted=Deleted,
                               Collect=Collect)