Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - lamer

#1
Developers / showing points from Python
April 14, 2011, 10:59:08
I tried to supply points from python using your data structure. Unfortunaly i get Errors because the SL4A backend tries to parse the 'extra data' as JSON or to encode it to JSON.
import android
import sqlite3
import struct

def geostd(droid,lat,lon):
url='geo:%s,%s'% (lat,lon)
droid.startActivity('android.intent.action.VIEW',url)

def javautf(str1):
str2=str1.encode('utf8')
return struct.pack('>h',len(str2))+str2

def points2locus(points):
'''Takes a list of tuples
Name,HTML-desc,extradata,latitude,longitude,image
'''
return struct.pack('>i',len(points))+
''.join([struct.pack('>i',len(point[5]))+point[5]+
''.join([javautf(str3) for str3 in point[0:3]])+
struct.pack('>dd',point[3],point[4]) for point in points])

def geolocus(droid,points):
extras={'extraDataName':points2locus(points)}
droid.startActivity('android.intent.action.VIEW','menion.points:extraDataName', None,None, extras, False)

droid = android.Android()
sqlc = sqlite3.connect('/sdcard/wiglewifi/wiglewifi.sqlite')
cur=sqlc.cursor()
cur.execute('select * from network where ssid=? limit 10',('eduroam',))
result= cur.fetchall()
sqlc.close()

#geostd(droid,result[0][5],result[0][6])
geolocus([(row[1],row[0],'',row[5],row[6],'') for row in result])

 request = json.dumps(data)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xff in position 43: unexpected code byte

has anyone an idea how to create und submit such datastructure in python?