def gather_locations(days): #print "GATHERDAYS" #print days res = {} for d in days.days: points = read_day_tracks(d.date) #print points if len(points): for s in d.entries: #print s.location a,b = s.start_gmt() if b==1: a = a+60*24 cp = get_closest_points(points,well_formed_date(yesterday(d.date),a)) elif b==2: a = a-60*24 cp = get_closest_points(points,well_formed_date(tomorrow(d.date),a)) else: #print points #print d.date, a cp = get_closest_points(points,well_formed_date(d.date,a)) if cp: res[s.location] = res.get(s.location,[])+[cp] a,b = s.end_gmt() if b==1: a = a+60*24 cp = get_closest_points(points,well_formed_date(yesterday(d.date),a)) elif b==2: a = a-60*24 cp = get_closest_points(points,well_formed_date(tomorrow(d.date),a)) else: cp = get_closest_points(points,well_formed_date(d.date,a)) if cp: res[s.location] = res.get(s.location,[])+[cp] from db_setup import insert_place_database try: coords = average_coords(res[s.location]) insert_place_database(s.location, coords) except KeyError: insert_place_database(s.location, None) f=open("points.dat","w") cPickle.dump(days.days[-1].date,f) cPickle.dump(res,f) f.close() return res
def update_locations(days, last_data, last_date): #print days #print "Updating with latest date info..." res = last_data days.days.sort(lambda x,y: cmp(x.date,y.date)) for d in days.days: #print "aqui", d.date #print "ali", last_date if datetime.datetime.strptime(d.date, '%Y_%m_%d')>datetime.datetime.strptime(last_date, '%Y_%m_%d'): #print d.date, points = read_day_tracks(d.date) if len(points): for s in d.entries: #print s.location a,b = s.start_gmt() if b==1: a = a+60*24 cp = get_closest_points(points,well_formed_date(yesterday(d.date),a)) elif b==2: a = a-60*24 cp = get_closest_points(points,well_formed_date(tomorrow(d.date),a)) else: cp = get_closest_points(points,well_formed_date(d.date,a)) if cp: res[s.location] = res.get(s.location,[])+[cp] a,b = s.end_gmt() if b==1: a = a+60*24 cp = get_closest_points(points,well_formed_date(yesterday(d.date),a)) elif b==2: a = a-60*24 cp = get_closest_points(points,well_formed_date(tomorrow(d.date),a)) else: cp = get_closest_points(points,well_formed_date(d.date,a)) if cp: res[s.location] = res.get(s.location,[])+[cp] from db_setup import insert_place_database insert_place_database(s.location, average_coords(res[unicode(s.location)])) f=open("points.dat","w") cPickle.dump(days.days[-1].date,f) cPickle.dump(res,f) f.close() return res