← Back to team overview

zeitgeist team mailing list archive

[Bug 691167] Re: The payload is sometimes mentioned as string and sometimes as array of bytes

 

MIkkel asked this question in the merge request
https://code.launchpad.net/~manishsinha/zeitgeist/fix-691167/+merge/43948/comments/97974/

and my reply is that as a array of bytes, it is easy to have binary
information in it e..g tarball, image, db-dump, but I have no clue how
string can be represented. AFAIK broadly, files can be opened in two
ways - text and binary, so this makes conversion from text or binary and
binary to text confusing.

-- 
You received this bug notification because you are a member of Zeitgeist
Framework Team, which is subscribed to Zeitgeist Framework.
https://bugs.launchpad.net/bugs/691167

Title:
  The payload is sometimes mentioned as string and sometimes as array of bytes

Status in Zeitgeist Framework:
  In Progress

Bug description:
  In the event serialization format, the third array is array of bytes or ay as dbus signature.

When an event enters an extension, it looks like
Event([dbus.Array([u'', u'1292500628312', u'', u'', u'application://foo.desktop'], signature=dbus.Signature('s')), [Subject([u'', u'', u'', u'', u'', u'', u''])], dbus.Array([], signature=dbus.Signature('y'))])

which implies that payload is array of bytes

Now look at _zeitgeist/engine/datamodel.py at line 58
where you get the line
>> popo.append(str(ev[2]))

Really so when you do str() on dbus.Array([], signature=dbus.Signature('y'))
you get "dbus.Array([], signature=dbus.Signature('y'))" instead of the contents of bytes converted to string

Now when you call Event.get_plain on

Event([dbus.Array([u'', u'1292500628312', u'', u'', u'application://foo.desktop'], signature=dbus.Signature('s')), [Subject([u'', u'', u'', u'', u'', u'', u''])], dbus.Array([], signature=dbus.Signature('y'))])

you get

[[u'', u'1292500628312', u'', u'', u'application://foo.desktop'], [[u'', u'', u'', u'', u'', u'', u'']], "dbus.Array([], signature=dbus.Signature('y'))"]

Not what you expect







References