def get(self, page=None, walk_id=None): log.info("Home.get %s" % page) if not len(page): return self.render("home.html") if page == "walk": if len(walk_id) and walk_id == "c": walks = model.fetch_walks() if len(walks): walk_id = random.choice(walks)['id'] else: walk_id = None elif not type(walk_id) == int and not len(walk_id): walk_id = None return self.render("walk.html", sequence=json.dumps( model.fetch_sequence(walk_id)), ref_id=walk_id) if page == "walks": return self.render("walks.html", walks=model.fetch_walks(hidden=True)) if page == "choose": return self.render("choose.html", walks=model.fetch_walks()) if page in [ "prepare", "route", "map", "thanks", "orientation", "background" ]: return self.render("%s.html" % page) return self.not_found()
def get(self, page=None, walk_id=None): log.info("Home.get %s" % page) if not len(page): return self.render("home.html") if page == "walk": return self.render("walk.html", sequence=json.dumps(model.fetch_sequence(walk_id)), ref_id=walk_id if len(walk_id) else 0) if page == "choose": return self.render("choose.html", walks=model.fetch_walks()) if page in ["prepare", "route", "map", "thanks"]: return self.render("%s.html" % page) return self.not_found()
def get(self, page=None, walk_id=None): log.info("Home.get %s" % page) if not len(page): return self.render("home.html") if page == "walk": if len(walk_id) and walk_id == "c": walks = model.fetch_walks() if len(walks): walk_id = random.choice(walks)['id'] else: walk_id = None elif not type(walk_id) == int and not len(walk_id): walk_id = None return self.render("walk.html", sequence=json.dumps(model.fetch_sequence(walk_id)), ref_id=walk_id) if page == "walks": return self.render("walks.html", walks=model.fetch_walks(hidden=True)) if page == "choose": return self.render("choose.html", walks=model.fetch_walks()) if page in ["prepare", "route", "map", "thanks", "orientation", "background"]: return self.render("%s.html" % page) return self.not_found()
def get_data(hidden=False): log.debug("HIDDEN %s" % hidden) data = {} try: walks = model.fetch_walks(hidden=hidden) notes = [] v = 0 ids = [] for walk in walks: sequence = model.fetch_sequence(walk['id']) if len(sequence) < config['min_steps']: continue for step in sequence: #[:config['max_steps']]: notes.append((step[0], v, 0 if step[1] == 'left' else 1)) v += 1 ids.append(walk['id']) # sort and normalize onsets notes.sort(key=lambda x: x[0]) onsets = [note[0] for note in notes] onsets = sp.normalize(onsets) notes = [(onsets[i], note[1], note[2]) for (i, note) in enumerate(notes)] log.info("NOTES %s" % len(notes)) data['notes'] = notes data['walk_ids'] = ids except Exception as e: log.error(log.exc(e)) return {} return json.dumps(data)
def get_data(hidden=False): log.debug("HIDDEN %s" % hidden) data = {} try: walks = model.fetch_walks(hidden=hidden) notes = [] v = 0 ids = [] for walk in walks: sequence = model.fetch_sequence(walk['id']) if len(sequence) < config['min_steps']: continue for step in sequence:#[:config['max_steps']]: notes.append((step[0], v, 0 if step[1] == 'left' else 1)) v += 1 ids.append(walk['id']) # sort and normalize onsets notes.sort(key=lambda x: x[0]) onsets = [note[0] for note in notes] onsets = sp.normalize(onsets) notes = [(onsets[i], note[1], note[2]) for (i, note) in enumerate(notes)] log.info("NOTES %s" % len(notes)) data['notes'] = notes data['walk_ids'] = ids except Exception as e: log.error(log.exc(e)) return {} return json.dumps(data)
#!/usr/bin/env python3 import os, sys, time sys.path.append(os.path.join(os.path.dirname(__file__), "..")) import model import numpy as np from housepy import config, log, drawing, geo, util MIN_STEPS = 50 walk_data = model.fetch_walks(desc=False) # walk_data = [walk for walk in walks if walk['id'] >= config['walk_id']] walks = [] for walk in walk_data: sequence = model.fetch_sequence(walk['id']) if len(sequence) < MIN_STEPS: continue walks.append(walk) LON = 0 LAT = 1 X = 2 Y = 3 all_points = [] for walk in walks: points = model.fetch_geo(walk['id']) points = np.array([(point['lng'], point['lat'], None, None) for point in points]) for point in points:
def get(self, walk_id=None): log.info("Sequence.get %s" % walk_id) data = model.fetch_sequence(walk_id) return self.json(data, gzip=True)