Esempio n. 1
0
    def set_pos_zoom(self, latlon=None, zoom=None):
        #print "Setting pos to %s"%(latlon,)
        if latlon == None:
            assert zoom == None
            zoomlevel = session.get('zoom', None)
            if zoomlevel == None:
                zoomlevel = 5
                merc_x, merc_y = mapper.latlon2merc((58, 18), zoomlevel)
            else:
                merc_x, merc_y = session['last_pos']
        else:
            assert zoom != None
            zoomlevel = zoom
            if zoomlevel < 5:
                zoomlevel = 5
            if session.get('mapvariant', None) == 'elev':
                if zoomlevel > 8: zoomlevel = 8
            else:
                if zoomlevel > 13: zoomlevel = 13
            merc_x, merc_y = mapper.latlon2merc(latlon, zoomlevel)

        merc_limx1, merc_limy1, merc_limx2, merc_limy2 = merc_limits(
            zoomlevel, conservative=False, hd=True)
        if merc_x > merc_limx2: merc_x = merc_limx2
        if merc_y > merc_limy2: merc_y = merc_limy2
        if merc_x < merc_limx1: merc_x = merc_limx1
        if merc_y < merc_limy1: merc_y = merc_limy1

        session['last_pos'] = (merc_x, merc_y)
        session['zoom'] = zoomlevel

        print "Setting pos to %s, zoom = %d" % (mapper.merc2latlon(
            session['last_pos'], zoomlevel), zoomlevel)
        session.save()
Esempio n. 2
0
 def set_pos_zoom(self,latlon=None,zoom=None):
     #print "Setting pos to %s"%(latlon,)
     if latlon==None:
         assert zoom==None
         zoomlevel=session.get('zoom',None)
         if zoomlevel==None:
             zoomlevel=5
             merc_x,merc_y=mapper.latlon2merc((58,18),zoomlevel)
         else:
             merc_x,merc_y=session['last_pos']
     else:
         assert zoom!=None            
         zoomlevel=zoom
         if zoomlevel<5:
             zoomlevel=5
         if session.get('mapvariant',None)=='elev':
             if zoomlevel>8: zoomlevel=8
         else:            
             if zoomlevel>13: zoomlevel=13
         merc_x,merc_y=mapper.latlon2merc(latlon,zoomlevel)
         
     merc_limx1,merc_limy1,merc_limx2,merc_limy2=merc_limits(zoomlevel,conservative=False,hd=True)
     if merc_x>merc_limx2: merc_x=merc_limx2
     if merc_y>merc_limy2: merc_y=merc_limy2
     if merc_x<merc_limx1: merc_x=merc_limx1
     if merc_y<merc_limy1: merc_y=merc_limy1
 
     session['last_pos']=(merc_x,merc_y)
     session['zoom']=zoomlevel
     
     print "Setting pos to %s, zoom = %d"%(mapper.merc2latlon(session['last_pos'],zoomlevel),zoomlevel)
     session.save()
Esempio n. 3
0
    def index(self):
        print "Index called", session.get('zoom', -1)
        #print "index called",request.params
        #user=meta.Session.query(User).filter(
        #        User.user==tripuser()).one()
        user = meta.Session.query(User).filter(
            User.user == session['user']).one()

        ua = request.headers.get('User-Agent', '').lower()
        c.ie = False
        if ua.count("msie") and not (ua.count("firefox") or ua.count("chrom")
                                     or ua.count("safari")):
            c.ie = True
        #print "IE mode:",c.ie

        c.all_trips = list(
            meta.Session.query(Trip).filter(
                Trip.user == session['user']).all())
        print "current trip:", session.get('current_trip', None)
        if not ('current_trip' in session) or session['current_trip'] == None:
            if user.lasttrip != None:
                print "Reusing lasttrip:", user.lasttrip
                session['current_trip'] = user.lasttrip

        if 'current_trip' in session and meta.Session.query(Trip).filter(
                sa.and_(Trip.user == tripuser(), Trip.trip
                        == session['current_trip'])).count() == 0:
            session['current_trip'] = None

        if not 'current_trip' in session or session['current_trip'] == None:
            trips = meta.Session.query(Trip).filter(
                Trip.user == tripuser()).all()
            if len(trips) == 0:
                trip = Trip(tripuser(), "Default Trip")
                meta.Session.add(trip)
                meta.Session.flush()
                meta.Session.commit()
            else:
                trip = min(
                    trips, key=lambda x: x.trip
                )  #Select first trip, alphabetically - we have no better idea.
            session['current_trip'] = trip.trip
            session.save()
            trip = None
        if session.get('current_trip', None) != user.lasttrip:
            user.lasttrip = session.get('current_trip', None)
            print "Storing lasttrip=", user.lasttrip
            meta.Session.flush()
            meta.Session.commit()

        c.mapvariant = session.get('mapvariant', "airspace")

        self.set_pos_zoom()
        zoomlevel = session['zoom']
        if c.mapvariant == "elev":
            if zoomlevel > 8:
                session['zoom'] = 8
                session.save()
                try:
                    session['last_pos'] = mapper.latlon2merc(
                        mapper.merc2latlon(session['last_pos'], zoomlevel), 8)
                except Exception:
                    session['last_pos'] = mapper.latlon2merc((59, 18), 8)
                    print "Setting session last pos to 59,18", session[
                        'last_pos']
                zoomlevel = 8

        print "Last pos is:", mapper.merc2latlon(session['last_pos'],
                                                 zoomlevel)
        c.merc_x, c.merc_y = session['last_pos']

        c.merc5_limx1, c.merc5_limy1, c.merc5_limx2, c.merc5_limy2 = merc_limits(
            5, conservative=False, hd=True)

        c.waypoints = list(
            meta.Session.query(Waypoint).filter(
                sa.and_(Waypoint.user == tripuser(),
                        Waypoint.trip == session['current_trip'])).order_by(
                            Waypoint.ordering).all())
        c.tripname = session['current_trip']
        c.showarea = session.get('showarea', '')
        c.showtrack = session.get('showtrack', None) != None
        c.fastmap = user.fastmap
        #print "Zoomlevel active: ",zoomlevel
        c.zoomlevel = zoomlevel
        c.dynamic_id = ''
        c.sharing = tripsharing.sharing_active()
        c.mtime = maptilereader.get_mtime()
        for way in c.waypoints:
            print "Name:", way.waypoint
        if len(c.waypoints):
            c.next_waypoint_id = max([way.id for way in c.waypoints]) + 1
        else:
            c.next_waypoint_id = 100
        assert type(c.next_waypoint_id) == int
        if c.sharing:
            c.shared_by = tripuser()
        if session.get('showarea', ''):
            c.dynamic_id = session.get('showarea_id', '')
        if session.get('showtrack', ''):
            if hasattr(session['showtrack'], 'dynamic_id'):
                c.dynamic_id = session['showtrack'].dynamic_id
        return render('/mapview.mako')
Esempio n. 4
0
    def index(self):
        print "Index called", session.get('zoom',-1)
        #print "index called",request.params
        #user=meta.Session.query(User).filter(
        #        User.user==tripuser()).one()
        user=meta.Session.query(User).filter(
                User.user==session['user']).one()
                
        ua=request.headers.get('User-Agent','').lower()
        c.ie=False    
        if ua.count("msie") and not (ua.count("firefox") or ua.count("chrom") or ua.count("safari")):
            c.ie=True
        #print "IE mode:",c.ie
        
        c.all_trips=list(meta.Session.query(Trip).filter(Trip.user==session['user']).all())
        print "current trip:",session.get('current_trip',None)
        if not ('current_trip' in session) or session['current_trip']==None:            
            if user.lasttrip!=None:
                print "Reusing lasttrip:",user.lasttrip
                session['current_trip']=user.lasttrip        
        
        if 'current_trip' in session and meta.Session.query(Trip).filter(sa.and_(
                Trip.user==tripuser(),
                Trip.trip==session['current_trip']
                    )).count()==0:
            session['current_trip']=None
                        
        if not 'current_trip' in session or session['current_trip']==None:            
            trips=meta.Session.query(Trip).filter(
                Trip.user==tripuser()).all()
            if len(trips)==0:
                trip = Trip(tripuser(), "Default Trip")
                meta.Session.add(trip)
                meta.Session.flush()
                meta.Session.commit()
            else:
                trip=min(trips,key=lambda x:x.trip) #Select first trip, alphabetically - we have no better idea.
            session['current_trip']=trip.trip
            session.save()
            trip=None
        if session.get('current_trip',None)!=user.lasttrip:
            user.lasttrip=session.get('current_trip',None)
            print "Storing lasttrip=",user.lasttrip
            meta.Session.flush()
            meta.Session.commit()
            
        c.mapvariant=session.get('mapvariant',"airspace")

        self.set_pos_zoom()
        zoomlevel=session['zoom']
        if c.mapvariant=="elev":
            if zoomlevel>8:
                session['zoom']=8
                session.save()
                try:
                    session['last_pos']=mapper.latlon2merc(mapper.merc2latlon(session['last_pos'],zoomlevel),8)
                except Exception:
                    session['last_pos']=mapper.latlon2merc((59,18),8)
                    print "Setting session last pos to 59,18",session['last_pos']
                zoomlevel=8
                
        print "Last pos is:",mapper.merc2latlon(session['last_pos'],zoomlevel)
        c.merc_x,c.merc_y=session['last_pos']
        
        c.merc5_limx1,c.merc5_limy1,c.merc5_limx2,c.merc5_limy2=merc_limits(5,conservative=False,hd=True)

        
                                        
        c.waypoints=list(meta.Session.query(Waypoint).filter(sa.and_(
             Waypoint.user==tripuser(),Waypoint.trip==session['current_trip'])).order_by(Waypoint.ordering).all())
        c.tripname=session['current_trip']
        c.showarea=session.get('showarea','')
        c.showtrack=session.get('showtrack',None)!=None
        c.fastmap=user.fastmap;
        #print "Zoomlevel active: ",zoomlevel
        c.zoomlevel=zoomlevel
        c.dynamic_id=''
        c.sharing=tripsharing.sharing_active()
        c.mtime=maptilereader.get_mtime()
        for way in c.waypoints:
            print "Name:",way.waypoint
        if len(c.waypoints):
            c.next_waypoint_id=max([way.id for way in c.waypoints])+1
        else:
            c.next_waypoint_id=100
        assert type(c.next_waypoint_id)==int
        if c.sharing:
            c.shared_by=tripuser()
        if session.get('showarea',''):
            c.dynamic_id=session.get('showarea_id','')
        if session.get('showtrack',''):
            if hasattr(session['showtrack'],'dynamic_id'):
                c.dynamic_id=session['showtrack'].dynamic_id
        return render('/mapview.mako')