Reading binary messages
Vikas Saurabh
vikas.saurabh at gmail.com
Wed Sep 9 19:34:55 CEST 2009
> is there a way to save/display the raw message so one can maybe extract
> the URL manually somehow?
Although, bluesms.py mentioned at other placed in the thread is
nice...here is a snippet that does exactly what you want to do...
#!/usr/bin/env python
import dbus
import subprocess
bus = dbus.SystemBus()
msgs_obj = bus.get_object("org.freesmartphone.opimd",
"/org/freesmartphone/PIM/Messages")
msgsIFace = dbus.Interface(msgs_obj, "org.freesmartphone.PIM.Messages")
queryPath = msgsIFace.Query({'SMS-alphabet':'binary', 'Direction':'in'})
queryObj = bus.get_object("org.freesmartphone.opimd", queryPath)
queryIFace = dbus.Interface(queryObj, "org.freesmartphone.PIM.MessageQuery")
count = queryIFace.GetResultCount()
msgs = queryIFace.GetMultipleResults(count)
queryIFace.Dispose()
for msg in msgs:
sender = msg["Sender"]
smsData = msg["SMS-data"]
smsStr = ''
for charData in smsData:
character = chr(int(charData))
smsStr = smsStr + character
msgPath = msg["Path"]
#subProc = subprocess.Popen(["file", "-bi", "-"],
stdout=subprocess.PIPE, stdin=subprocess.PIPE)
#msgType = subProc.communicate(smsStr)[0].strip()
#msgObj = bus.get_object("org.freesmartphone.opimd", msgPath)
#msgIFace = dbus.Interface(msgObj, "org.freesmartphone.PIM.Message")
#msgIFace.Update({'SMS-content_mime':msgType})
print "*****************************"
print "Sender: " + sender
print "msgPath: " + msgPath
print "msgType: " + msgType
print "content following"
print smsStr
print
--Vikas
More information about the community
mailing list