forked from zrschool/ZotHacks2019
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhousing.py
66 lines (55 loc) · 1.66 KB
/
housing.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import reviews
import sys
from google.appengine.ext import ndb
from reviews import UserReview
sys.dont_write_bytecode = True
class HousingOption(ndb.Model):
name = ndb.StringProperty()
rating = ndb.FloatProperty()
location = ndb.StringProperty()
photo = ndb.StringProperty()
reviews = ndb.KeyProperty(
kind = UserReview,
repeated = True,
)
def create_housing_option(option_name, option_rating, option_location, option_photo):
new_option = HousingOption(
name = option_name,
rating = option_rating,
location = option_location,
photo = option_photo,
reviews = []
# description = description
)
print(new_option)
new_option.put()
def calculate_average_rating(housing_option):
total_rating_score = 0
user_reviews = housing_option.reviews
if len(user_reviews) != 0:
for review in user_reviews:
total_rating_score += review.rating
housing_option.rating = total_rating_score / len(user_reviews)
else:
housing_option.rating = 0
housing_option.put()
def housing_option_list():
return list(HousingOption.query().fetch())
def housing_option_lex():
return HousingOption.query().order(HousingOption.name)
def get_id(housing_option):
housing_option_key = housing_option.put()
pair = housing_option_key.pairs()
return pair[0][1]
#
# def get_entry(housing_option_key):
# return housing_option_key.get()
#
# def get_name(housing_option):
# return housing_option.name
#
# def get_rating(housing_option):
# return housing_option.rating
#
# def get_description(housing_option):
# return housing_option.description