Exemple #1
0
    def uploadtrip(self):
        def writeInt(x):
            response.write(struct.pack(">I", x))

        #print "upload trip",request.params
        try:
            f = request.POST['upload'].file

            def readShort():
                return struct.unpack(">H", f.read(2))[0]

            def readUTF():
                len = readShort()
                print "Read string of length %d" % (len, )
                data = f.read(len)
                return unicode(data, "utf8")

            username = readUTF()
            password = readUTF()
            print "user,pass", username, password
            users = meta.Session.query(User).filter(
                User.user == username).all()
            if len(users) == 0:
                raise BadCredentials("bad user")
            user = users[0]
            if user.password != password and user.password != md5str(password):
                raise BadCredentials("bad password")

            #print "POST:",request.params
            newrec = parseRecordedTrip(user.user, f)

            meta.Session.query(Recording).filter(
                sa.and_(Recording.start == newrec.start,
                        Recording.user == newrec.user)).delete()
            meta.Session.add(newrec)
            meta.Session.flush()
            meta.Session.commit()

            #print "GOt bytes: ",len(cont)
            #print "Upload!",request.params
        except BadCredentials, cause:
            response.headers['Content-Type'] = 'application/binary'
            writeInt(0xf00db00f)
            writeInt(1)  #version
            writeInt(1)  #errorcode, bad user/pass
            return None
Exemple #2
0
 def uploadtrip(self):
     def writeInt(x):
         response.write(struct.pack(">I",x))
     
     #print "upload trip",request.params
     try:
         f=request.POST['upload'].file
         def readShort():
             return struct.unpack(">H",f.read(2))[0]
         def readUTF():
             len=readShort()
             print "Read string of length %d"%(len,)
             data=f.read(len)
             return unicode(data,"utf8")
         
         username=readUTF()
         password=readUTF()
         print "user,pass",username,password
         users=meta.Session.query(User).filter(User.user==username).all()
         if len(users)==0:
             raise BadCredentials("bad user")
         user=users[0]
         if user.password!=password and user.password!=md5str(password):
             raise BadCredentials("bad password")
         
         #print "POST:",request.params
         newrec=parseRecordedTrip(user.user,f)
         
         meta.Session.query(Recording).filter(
             sa.and_(Recording.start==newrec.start,
                     Recording.user==newrec.user)).delete()
         meta.Session.add(newrec)
         meta.Session.flush()
         meta.Session.commit()
         
         #print "GOt bytes: ",len(cont)
         #print "Upload!",request.params
     except BadCredentials,cause:
         response.headers['Content-Type'] = 'application/binary'        
         writeInt(0xf00db00f)
         writeInt(1) #version
         writeInt(1) #errorcode, bad user/pass
         return None
def test_decode_flightpath_simple1():
    f = open("fplanquick/testdata/simple1.dat")
    print parseRecordedTrip(None, f)
    """
def test_decode_flightpath_long3():
    for i in xrange(3):
        f = open("fplanquick/testdata/long%d.dat" % (i + 1, ))
        d = parseRecordedTrip(None, f)
def test_decode_flightpath_simple1():
    f=open("fplanquick/testdata/simple1.dat")
    print parseRecordedTrip(None,f)
    """
def test_decode_flightpath_long3():
    for i in xrange(3):
        f=open("fplanquick/testdata/long%d.dat"%(i+1,))
        d=parseRecordedTrip(None,f)