From ecf4dc31f8575045695f8d9c444da42672c3260c Mon Sep 17 00:00:00 2001 From: Remy Moll Date: Sun, 31 Oct 2021 07:36:40 +0100 Subject: [PATCH] Should all work now --- dummy_data.py | 2 +- models/event.py | 15 +- server.py | 18 +- .../travelhistorymap_customer239842123.html | 267 +++--------------- templates/user_detail.html | 2 +- 5 files changed, 69 insertions(+), 235 deletions(-) diff --git a/dummy_data.py b/dummy_data.py index 1796031..f8a1626 100644 --- a/dummy_data.py +++ b/dummy_data.py @@ -105,7 +105,7 @@ def populate_data(Users, Events): Users.add_user( id=239842123, - name="Remy", + name="Clara", event_preferences=["hiking","skiing"], event_blacklist = [], home_coordinates=[0,0], diff --git a/models/event.py b/models/event.py index dca2562..c9868dd 100644 --- a/models/event.py +++ b/models/event.py @@ -8,7 +8,7 @@ class Event: description = "" reviews = [] category = [] - weather_requirements = 0 + weather_requirements = 100 # highest tolerance date = "" image_path = "fallback.jpg" activity_duration = "" # datetime object @@ -87,4 +87,15 @@ class Events: return None def __iter__(self): - return iter(self._events) \ No newline at end of file + # todo fix broken iterator + return iter(self._events) + + + def filter_events(self, user, weather_score): + # implement user preferences, geographic restrictions and weather conditions + + for e in self._events: + if e.weather_requirements <= weather_score \ + or abs(e.location_coordinates[0] - user.home_coordinates[0]) + abs(e.location_coordinates[1] - user.home_coordinates[1]) >= 15 \ + or not e.trip_is_good: + print("This event should be removed") diff --git a/server.py b/server.py index 401f2b9..04952f3 100644 --- a/server.py +++ b/server.py @@ -24,12 +24,18 @@ app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT' @app.route("/") def index(): session["user_id"] = 239842123 # a perfectly safe login, hem hem + user = USERBASE.get_by_id(session["user_id"]) wscore = WEATHERCALCULATOR.calc_weather_score(EVENTBASE.get_by_id(1)) wscore = 10 # hard coded for positive pitch experience weather_icon = ["☀️","🌥️","🌧️","⛈️"][int(wscore/25)] weather_string = ["looks great!", "could be better..."][int(wscore/50)] + + + EVENTBASE.filter_events(user, wscore) + + context = { - "user" : USERBASE.get_by_id(session["user_id"]).name, + "user" : user.name, "weather_emoji" : weather_icon, "weather_string" : weather_string } @@ -57,7 +63,7 @@ def profile(): colorway=["#D50505", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf"] ) fig.update_yaxes( - title_text = "g of CO2 saved", + title_text = "Kg of CO2 saved", title_standoff = 5) fig.add_trace(go.Bar(x=days, y=co2_savings)) plot_div = plot(fig, output_type='div', include_plotlyjs=False) @@ -99,14 +105,6 @@ def event_booked_view(event_id): abort(404) - -@app.template_filter('strftime') -def _jinja2_filter_datetime(date, fmt=None): - date = dateutil.parser.parse(date) - native = date.replace(tzinfo=None) - format='%b %d, %Y' - return native.strftime(format) - ############################# ## And, liftoff! app.run(host="0.0.0.0",port=8000, debug=True) \ No newline at end of file diff --git a/static/travelhistorymap_customer239842123.html b/static/travelhistorymap_customer239842123.html index 9e00f13..4fe0346 100644 --- a/static/travelhistorymap_customer239842123.html +++ b/static/travelhistorymap_customer239842123.html @@ -23,7 +23,7 @@