/srv/irclogs.ubuntu.com/2014/07/14/#ubuntu-autopilot.txt

=== barry` is now known as barry_
=== barry_ is now known as barry
balloonselopio, can you have a quick look and chat about switching from'from ubuntuuitoolkit import emulators as toolkit_emulators' to using the custom_proxy_objects?  https://code.launchpad.net/~nskaggs/reminders-app/switch-emulators-to-proxy-object/+merge/22670616:51
elopioballoons: in one second.16:52
elopioballoons: you don't need to import _custom_proxy_objects16:57
elopioactually, you should not import the private methods.16:57
elopio*modules16:57
balloonselopio, yes this is really a quick hack, and I realize I'm not doing it right16:57
balloonsso I just pushed and figured I'd ask :-)16:57
elopioall the objects are exported in ubuntuuitoolkit, so you can do ubuntuuitoolit.UbuntuUIToolkitCustomProxyObjectBase16:57
elopioballoons: import ubuntuuitoolkit16:58
elopioand replay all toolkit_emulators for ubuntuuitoolkit.16:58
elopiothat's it. And thanks for the updates.16:58
balloonselopio, well apparently we found out today all the apps that have the deprecation warning are running under python2, as phablet-test-run sees it as an error and falls back to py216:59
elopioballoons: yes, on reminders there's a workaround for that16:59
balloonsa fix is being pushed, but I thought I should just clean them all up16:59
elopioand fginther fixed it on phablet tools, but it needs to land.16:59
balloonselopio, well xnox is also looking at it atm..17:00
elopioballoons, xnox: https://bugs.launchpad.net/ubuntu/+source/phablet-tools/+bug/132732517:01
ubot5Ubuntu bug 1327325 in phablet-tools (Ubuntu) "phablet-test-run will fail if the python3 import prints something to std" [High,Confirmed]17:01
balloonselopio, yep already seen it :-)17:01
elopiook, I thought xnox was doing the fix again.17:01
elopiooh, yes, he did an alternate fix.17:03
elopioxnox: https://code.launchpad.net/~fginther/phablet-tools/fix-ptr-python3-import-check/+merge/22239117:03
elopioyou even approved it :)17:03
xnoxelopio: right yeah, that one was better.17:03
xnoxwhy did it not land yet?17:03
* xnox dputs it into the archive.17:03
elopioxnox: don't know.17:03
balloonsok elopio, so I swapped to as you suggested. however, the other side of the question is I'm still seeing the warning. I was trying to figure out why17:07
fgintherxnox, elopio, confusion over the process and not realizing that it had not landed until elopio brought it up again about a week ago :-(17:07
elopioballoons: that's because I'm stupid17:07
fginther(confusion on my part that is)17:07
elopioand ubuntuitoolkit imports emulators, so it will always be thrown.17:08
elopioI need to fix that.17:08
balloonselopio, that was what I was seeing, just wanted a sanity check17:08
xnoxfginther: finishing test build and will dput in a sec.17:09
balloonselopio, mind if I try fixing it?17:09
balloonsor can you do it quickly?17:09
elopioballoons: not at all. I would appreciate it a lot.17:09
balloonskk.. I'll add it to the list and try and clean everything up17:10
elopioballoons: I think it would be just removing the import emulators from ubuntuitoolkit.17:10
elopiobut I'm not sure, so it might be quick but need to confirm. And I didn't have that on my TODO for this week, so feel free to do it.17:10
balloonsright, if it's quick I'll propose the mp today, if not it'll go on the list17:11
elopioballoons: an alternate solution if that doesn't work is to swallow the warning when importing it from the __init__.py.17:11
balloonselopio, mm.. ok ack17:11
elopioping thomi, veebers22:30
elopiowe have a big bad problem with the versions of QML components.22:30
veeberselopio: hey how's it gong?22:30
veebersoh22:30
thomisup elopio?22:30
thomielopio: I saw the bug22:31
thomielopio: and directed veebers to it as well22:31
veebersI'm looking at it now22:31
elopiothe thing is that when they make a new version of Button, autopilot will see Button11 as the class name22:31
elopioso with a new version of the toolkit, we can break all the existing autopilot tests.22:31
elopioI'm not sure what's a good solution for that. I'm not even sure what's possible and what is not.22:32
thomielopio: yeah, that's not so cool22:32
thomielopio: I suspect it'll need some digging in autopilot-qt22:32
thomielopio: it'd be great to get a reproducer though22:32
thomithe bug report is kind of vague22:32
thomielopio: can you (or someone else) please prepare a tarball that contains everything we need to reproduce?22:33
veebersthomi, elopio: Yeah I agree, it'll probably need some digging into libauotpilot-qt. elopio can you provide an easy way to reproduce22:33
veebersheh :-)22:33
thomiI'm about 90% more likely to look at it then22:33
thomiwot he sed22:33
veeberselopio: I won't be able to look at it today, not sure if thomi is available sooner. But we'll look at it as soon as we can22:33
veebersthomi: :-)22:33
thomi... once there's a reproducer there22:34
veebersright22:35
elopiothomi, veebers: if you inspect the clock with autopilot vis you will see a Page10. Would that be enough?22:36
thomielopio: not really22:36
veeberselopio: a sample test script would be much better22:36
thomielopio: a *small* example22:36
thomimax 10 lines22:36
elopioI'll try to get one.22:36
thomithe clock has so many components it's impossible to find the rigth one in autopilot-qt22:36
elopiothomi, veebers: I've attached the examples to the bug:22:41
elopiohttps://bugs.launchpad.net/autopilot-qt/+bug/134167122:41
ubot5Ubuntu bug 1341671 in Autopilot Qt Support "Versioned QML classes are no longer recognized by their public type name" [Undecided,New]22:41
thomielopio: which file do I run with qmlscene?22:42
elopiothomi: qmlscene -testability name_of_file.qml22:44
thomielopio: right, but which one22:46
elopiooh, sorry.22:46
elopiothomi: both. We currently have the problem with pages.22:47
elopioso any app using a Page will either show page10 or page11.22:47
elopiobut as we almost never use pages directly, it wasn't bad.22:47
elopionow they will do the same with Button, which will be a huge pain.22:47
elopiothe first one will show you how it will look for current apps22:48
elopiothe second one for the apps when they update the version.22:48
thomielopio: OK, so you expect the 'Page' component to show up as 'Page', right?22:49
elopiothomi: I'm not sure what to expect.22:50
elopioas a new version might add features, it would be useful to be able to match it by version. Have a helper for Page10 and an different one for Page11.22:50
thomielopio: well, I can't fix this if you don't tell me what you want :)22:50
elopiobut it sucks that old apps will have to update.22:50
thomiright now we present the Qml type name without much change22:51
elopiothomi: what I was going to propose to you and veebers was a meeting with the toolkit guys tomorrow, to find a strategy for new versions.22:51
thomiugh22:52
elopiothomi: and what I would love to see is being able to match many qml types to a single python class. Something a little better to what we have with the validate dbus method.22:52
elopiobut I'm not sure if that's a good strategy to go forward.22:52
elopiowe will need a custom proxy object for Button, for example. And that's something you didn't want before.22:53
veeberselopio: not to use versions? ;-)22:53
elopioveebers: yes, make my life easier should be the first option :D22:53
veebersheh22:54
thomielopio: ack, it's been on my mind for a while22:55
thomielopio: actually - that's the soluton!22:56
thomiman... I could kiss you right now :D22:56
elopiofor the current problems, I think I would be happy with something like this:22:56
elopioclass Button(base_proxy):22:56
elopioqml_types = ['Button', 'Button10', 'Button11']22:56
elopiothomi: no kisses please :) I accept hugs, but not too often.22:56
thomielopio: well, it'd be similar22:57
thomielopio: what timeframe is this needed for? I cna throw together a proposal and get you a copy by tomorrow I think22:57
thomibest guess for implementation time right now is about 3 days...22:58
thomiif I do it22:58
elopiothomi: I think we can delay the release of the new button version, but not for long as the deadlines are already passed22:58
elopiobut we have never been able to release a toolkit in less than a week, so 3 days sounds perfect.22:58
thomielopio: writing a spec now. WIll you be around in 30 minutes to read a first draft?23:36
elopiothomi: I will.23:37
thomiok, will ping you23:37
elopiothomi: you should probably know of all the issues I've been having with the validate_dbus, so we don't hit them again with your proposal.23:38
thomielopio: I'm aware of some of them anyway, and this will fix that23:38
thomielopio: feel free to follow along: https://docs.google.com/a/canonical.com/document/d/1dLdjvRbrILs3314dBM7sKazHDJgeFe3i2E5Rk5pJHTM/edit#23:38
elopiothomi: awesome. You can have one kiss.23:38
thomihmmm23:41
thomielopio: so you want one unified class called 'Button' that will work for both Button10 and Button11, right?23:47
elopiothomi: yes.23:47
thomielopio: and the test author doesn't know which one it is?23:48
thomiso, this isn't what you want:23:48
thomiselect_single(Button, version=10)23:48
elopiothomi: hum, I haven't thought about that one, but doesn't seem useful for our current case.23:49
thomiso, the one limitation I can't get past right now is that xpathselect has no way to say "select an object whose name starts with 'Button'", or "select an object whose name is one of 'Button10', 'Button11', etc.23:50
thomialthough that wouldn't be the hardest thing to add.23:50
elopiothomi: but if you do it matching a substring, it would also match something like ButtonFOO.23:51
thomielopio: yeah, I think I prefer the second variant23:52
elopiothomi: yes, that's the only want I need.23:52
thomiit would mean that custom proxy classes would need to be updated every time you bumped the version number23:52
thomibut TBH that's probably a good thing.23:52
elopiothomi: that's would mean that we need a custom proxy class on the toolkit per every component that it provides.23:53
elopiofor me that's good23:53
thomielopio: hmmm, yes, it would23:53
elopiobut you said it was bad for components like button which will not provide any methods.23:53
thomithat's ok?23:53
thomiyeah, it's a bit icky23:53
elopiowell, it makes my life a lot easier. That way I can provide a certified set of helpers, and just concentrate on keeping them working...23:54
elopioif people use something different and it breaks, it would not be my fault.23:55
thomiunderstood23:55

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!