def get(self, page): if page == "stations": stations = model.fetch_stations() s = {} for station_id, station in stations.items(): s[station_id] = geo.project((station['lon'], station['lat'])) max_x = s[max(s, key=lambda d: s[d][0])][0] min_x = s[min(s, key=lambda d: s[d][0])][0] max_y = s[max(s, key=lambda d: s[d][1])][1] min_y = s[min(s, key=lambda d: s[d][1])][1] for station_id, value in s.items(): x, y = value s[station_id] = util.scale(x, min_x, max_x), util.scale(y, min_y, max_y) return self.json(s) return self.render("home.html")
def handle(t, data): stations = model.fetch_stations() events = {} for s in data["results"]: try: if s["id"] not in stations: data = json.loads(net.read(LOOKUP, {"lat": s["latitude"], "lng": s["longitude"], "username": "******"})) zipcode = data["postalCodes"][0]["postalCode"] model.insert_station(s["id"], s["longitude"], s["latitude"], zipcode, t, s["availableBikes"]) continue station = stations[s["id"]] if s["availableBikes"] != station["bikes"] and t > station["t"]: json.dumps(s, indent=4) model.update_station(s["id"], t, s["availableBikes"]) events[s["id"]] = s["availableBikes"] - station["bikes"] except Exception as e: log.error(log.exc(e)) model.insert_beat(t, events)