Ar 03/10/2007 am 09:15, ysgrifennodd Erik Blankinship: > On 10/3/07, Simon McVittie <[EMAIL PROTECTED]> wrote: > > > > On Tue, 02 Oct 2007 at 17:43:41 -0400, Benjamin M. Schwartz wrote: > > > I used these to send arbitrary bytes over the Tube, which only supports > > utf8. > > > > This isn't actually true. If a D-Bus method is declared with signature 's' > > (string) it only supports unicode or UTF-8 str objects. If no signature is > > declared but you use a str argument, dbus-python will guess that you > > wanted signature 's' and the string has to be UTF-8. > > > > However, if your method is declared with signature 'ay' (byte array) you > > can pass arbitrary binary data. You probably want to put > > byte_arrays=True in the @method decorator, so the method will get its > > input as a dbus.ByteArray (a subclass of str) rather than as a > > dbus.Array of dbus.Bytes (subclasses of: a list of ints). > > > I hope this is a simple question: what is the preferred way to convert a > file into a ByteArray for use with dBus?
contents = file(path).read() dbus.ByteArray(contents) -- Dafydd _______________________________________________ Sugar mailing list [email protected] http://lists.laptop.org/listinfo/sugar

