Comment 58 for bug 893091

Revision history for this message
In , Simon McVittie (smcv) wrote :

(In reply to comment #51)
> - I did original make the various ascii-string types as bytes subclasses, and
> while I was able to get test-standalone working, the cross-tests have had
> various difficult to track down failures.

"difficult to track down" - yes, this is why dbus-python isn't the answer :-P The type-guessing stuff is really subtle and can basically never work "properly"; the best it's ever going to get is "not too astonishing most of the time".

> I'm going to do another branch where
> they are str/unicode subclasses and see if that makes things better.
> Conceptually, to me they want to be bytes subclasses (for many of the reasons
> John originally pointed out), but practically speaking, it may be easier and
> less disruptive to users to make them strings.

I still think Signature and ObjectPath want to be (Unicode) strings that happen to be constrained to ASCII, for the same reasons that Python identifiers are (Unicode) strings.

(UTF8String and ByteArray should be bytes subclasses, though.)

> I'm really not interested in
> Python 2 < 2.6 or Python 3 < 3.2. I'd like to know though whether Simon is
> philosophically opposed to integrating Python 3 support into upstream or not.

I'm not philosophically opposed to Python 3 stuff getting merged, but it needs a maintainer I can trust to get it right, who isn't me. If you're volunteering, help is appreciated.

I *am* philosophically opposed to an API with the same flaws and backwards-compat baggage as dbus-python's being the recommended way to get on D-Bus (we'd be better off with something resembling GDBus/GVariant, I think), but perhaps the Qt world doesn't have anything better yet, so...

> I've got an experimental branch in bzr.
> lp:~barry/python-dbus/py3

Like other fd.o projects, dbus-python is maintained in git. If bzr can interop with git these days, great, but I'd really appreciate a git remote I can look at if possible. Or just a series of unified diffs, git-format-patch style... (the launchpad web interface has that somewhere, right?)