/srv/irclogs.ubuntu.com/2011/05/23/#ubuntuone.txt

adorilsonhi, people01:14
faganhey adorilson01:19
adorilsonfagan: any problem if I have file with names codified in iso-8859-1?01:33
adorilsonmy ubuntu is utf-801:33
faganadorilson: id say file a bug report against ubuntuone-client01:38
adorilsonfagan: ok02:16
mandelmorning all!07:13
duanedeisgnhey mandel107:23
mandel1duanedeisgn: hello!07:25
faganhehe I got my twisted server and client working last night :)07:37
faganAfter a week of reading about it its nice to actually get something working07:37
duanedeisgnnice fagan07:49
mandel1wow, people don't know there result for09:01
mandel110 + 10 x 009:01
mandel1this planet is doomed...09:01
ryemandel1, 10?09:01
mandel1rye: exactly, and A LOT of people think s 009:02
mandel1and they used a calculator… WTF09:02
ryemandel1, ah, well, it depends on how the condition is given, but yes, calculator w/o full statement support will give 009:03
mandel1rye: it just means the know nothing about maths, full stop09:03
ryeok09:03
rye:)09:03
mandel1and needing a calcilator for that is … weird09:03
mandel1rye:  ;)09:04
ralsinamandel1: the problem is people never remember operator priority09:15
mandel1ralsina: I think most people do not understand maths at all09:16
ralsinaindeed09:17
ralsinawhen we hadrotay phones, I used to ask what the result of multiplying the numbers, starting with the 1 was.09:17
ralsinatook them MINUTES09:17
ralsinamandel1: +1 on allow_txnamedpipes_reactor but it really needs a hard review09:25
mandel1ralsina: ok, I'll ask dobey whenever he is back09:25
faganralsina: oh while you are here what should I be doing this week?09:25
ralsinafagan: how's twisted working for you?09:26
faganralsina: well I read down through all the notes and got the client and server set up from scratch09:26
ralsinacool09:26
faganralsina: and I got a good look at the u1 twisted code so I saw it in practice09:27
ralsinafagan: even better09:27
ralsinafagan: I will try to find some bugs where you can try to do a branch proposal, how does that sound?09:28
faganralsina: sure ill go hunt down some bugs09:28
faganafter I get some milk :)09:28
ralsinafagan: if you see one that you think "hey, I know where that is" ping me :-)09:28
faganralsina: cool09:28
mandel1ralsina: we have sso working with Qt and name pipes :)09:44
ralsinamandel1: yay!09:44
mandel1ralsina: will propose the merge and then will move sso to use json instead of pb09:45
ralsinacool09:47
mandel1ralsina: you are right about the wt integration I have to be careful with [] () etc.. the idea would be to do a data is not None09:52
mandel1ralsina: right?09:52
ralsinaI think so.09:52
ralsinaNone is what you get if there isno data key in the dict09:52
ralsinaOR if data is None ;-)09:52
ralsinaso maybe you will have to use has_key or something09:53
ralsinaor data in event.__dict__09:53
mandel1ralsina: hm.. so far it works wit no problems… can you think of any case in which an event from twsited has that issues?09:55
ralsinawell, it simply depends on what you can get in data09:55
ralsinanow, what is in there depends on the caller. If we are not careful, in the far future someone is going to put the wrong thing in it09:56
mandel1ralsina: hm so we have to check if the key is present.. but get does not return None, does it?09:58
ralsinaget returns None if the key is not present09:58
mandel1ah… dammed, I'll update for that case09:59
* fagan back 10:00
mandel1ralsina: data will always be there, it is a QEvent, when are we going to get anything else?10:00
ralsinathe alternative is using __dict__["data"] and catch the key exception10:00
ralsinamandel1: let me check10:01
* mandel1 likes to work in hard code like this :)10:01
ralsinafor extra fun, the data member is not there in C++ ;-)10:02
faganmandel1: /nick mandel hehehe10:02
fagan(kidding)10:02
mandel1ralsina: you are shitting me?10:03
mandel1fagan: nah, no need, you just have to type man in any case :P10:04
faganmandel1: actually its just m<tab>10:04
mandel1well, yes I'm the first one :)10:05
ralsinamandel1: http://doc.qt.nokia.com/latest/qevent-members.html10:05
ralsinain C++ there is a d pointer to QEventPrivate10:05
ralsinamandel1: welcome to the not-so-nice-parts of PyQt10:07
mandel1ralsina: but we should be looking at what PyQt/sip does by default right? since this code will only be used in a project that uses twisted and Qt which can only be python10:08
mandel1hehehe10:08
ralsinamandel1: yes, indeed. But the thing is, I can't find anywhere any guarantees that there *will* be a data member, so you *may* get a None by default10:08
ralsinaI will check the PyQt source code, I guess10:08
mandel1ralsina: yes, I was going to say the smae exact thing10:09
mandel1s/smae/same10:09
ralsinaI am guessing data() returns QEvent.d10:10
mandel1ralsina: I can imaging that...10:12
ralsinaahhhhh isn't this  a QCustomEvent instead of a plain QEvent?10:12
ralsinaok, forget it, makes no difference10:13
mandel1ralsina: no idea… this is waaaaaay to advance for me and PyQt ;)10:13
ralsinamandel1: hahaha10:13
mandel1ralsina: I'm going to grab a coffee will be back asap ;)10:13
ralsinamandel: I would use __dict__["data"] and then if not None, and wrap it in a try ... except KeyError10:14
ralsinamandel1: suspenders and belts approach10:14
faganhmmm nothing is jumping out at me10:30
* fagan stupid errand I forgot10:43
mandel1ralsina: hmm lets do that, it should work correctly10:50
ralsinamandel1: cool10:52
ralsinaother than that I see nothing bad in the code10:53
mandel1ralsina: sweet, so I make the changes, push you install it and try the new sso branch10:54
ralsinamandel1: cool10:54
mandel1ralsina: next json-rpc which will allow us to have the Sheel extensions :)10:54
ralsinamandel1: great10:54
mandel1s/Sheel/Shell10:55
mandel1ralsina: new version pushed, will propose sso with namedpipes too so you can test in your machine which is the one that had issues with the firewall11:17
mandel1is that ok?11:17
ralsinamandel1: awesome11:17
mandel1ralsina: you can try the sso here: https://code.launchpad.net/~mandel/ubuntu-sso-client/use_txnamedpipes/+merge/6193511:18
ralsinamandel1: cool, on it11:18
mandel1ralsina: moving to use json-rp right now11:18
ralsinamandel1: windows claims I have to do lots of maintenance, so I will let it do its thing and have lunch11:19
ralsinathen will run the branch11:19
mandel1ralsina: ok, no problemo11:19
alecuhello #ubuntuone!11:40
alecuralsina, mandel1: ping11:42
ralsinaalecu: pong11:42
duanedeisgno/11:42
mandel1alecu: hello!11:43
ralsinaalecu_: ?11:46
duanedeisgnis mr rye_ around?11:46
alecu_hi ralsina. I'm starting early today, because I'm in colonia and need to catch the ferry early in the afternoon.11:47
ralsinaalecu_: ok11:47
rye_duanedeisgn, mr rye_ is not available to comment mr rye_'s presence11:47
=== rye_ is now known as rye
alecu_ralsina, also: I have a few Qt questions on my latest branch.11:47
ryerye, is11:47
alecu_ralsina, let me point you at it...11:48
=== duanedeisgn is now known as duanedesign
ralsinaalecu_: cool11:48
alecu_ralsina, https://code.launchpad.net/~alecu/ubuntuone-control-panel/ui-scissors/+merge/6184511:48
ralsinait *is* merged ;-)11:49
alecu_ralsina, not the merged one!11:49
=== alecu_ is now known as alecu
ralsinaohhhh ok11:50
ralsinagot it. Question at will11:50
duanedesignrye: i remember having a conversation about conflicts happeniing from a single computer11:50
ryeduanedesign, uh-huh, facundobatista has found another thing that could have created this condition, fixable on the server side11:51
alecuralsina, first question has to do with layouts... I've been playing with qt designer, but have been unable to set the right layout for the custom widget that goes inside the main window.11:51
alecuralsina, in the branch it shows the problem as the notebook is not following the window while it resizes.11:52
duanedesignrye: i was asking because I was curious if any of the work would affect the issue this user is having  http://ubuntuforums.org/showthread.php?t=176414011:52
ralsinawhen you have the one you did on designer, does it stretch correctly when you resize the window?11:52
alecuralsina, yes, it does. And all the other widgets that go inside the tabs stretch fine too.11:53
ralsinaok11:53
ryeduanedesign, eeexactly11:53
ryeduanedesign, i spent a day working on a single document and in the end i was able to get a conflict11:53
ralsinaalecu: ok. What you have to do is set a layout in the tab, and add the "inner" widget to the layout11:53
duanedesignrye: ok11:54
ralsinaalecu: or... I can get the branch and see first. Give me 2'11:54
ralsinaalecu: how can I see the panel with the tabs loaded?11:58
alecuralsina, you have to "git clone" the qtreactor somewhere, and then PYTHONPATH=~/abc/:. ./bin/ubuntuone-control-panel-qt11:59
alecu(~/abc being the parent to the qtreactor checkout)11:59
ralsinaalecu: ok12:00
alecuralsina, git clone https://github.com/ghtdak/qtreactor.git12:00
mandel1ralsina, alecu: later I'll make the change to the txnamedpipe reactor with Qt integration, that is in lp and is under our control :)12:00
ralsinaalecu: of course this assumes I have git on windows ;-)12:01
alecumandel1, cool.12:01
ralsinaok, I do have it :-)12:01
alecuralsina, or you can just get this single file, and put it in a "qtreactor" folder with an empty __init__.py12:02
alecuhttps://github.com/ghtdak/qtreactor/raw/master/qt4reactor.py12:02
alecuralsina, or git for windows, right :-)12:02
ralsinaalecu, you are doing this on linux, right?12:03
alecuralsina, right12:03
ralsinaok, I get a missing qt.dbus.mainloop error12:03
ralsinaI' ll try it on linux now12:03
alecuralsina, yes, sorry. I decided to make this work on linux first, and then we can port it when we have the dbus replacement reactor working on windows.12:05
ralsinaok12:06
alecuralsina, so: I went ahead and did the layout in designer for all tabs in the "windows dashboard 2.5" spec. I also have some questions about icons, but we'll get to that after this.12:06
mandel1alecu: now that you mentoned icons, you had a question of why I has compiiling the .ui files right?12:10
ralsinaok, I' ll get this running in 1 minute12:10
mandel1alecu: did I ever answer it, my memory of last wekk is a little off :P12:10
alecumandel1, first it was "why", then I found out it was standard practice in pyqt. Then it morphed into "how", and I found out you were doing it in "setup.py build".12:11
alecumandel1, so consider that question solved :-)12:11
mandel1alecu:  ok :)12:11
mandel1alecu: there are some nice steps in the compilation if you are ever interested :)12:12
alecumandel1, I ended up stealing code from the setup.py in -sso for the -controlpanel12:12
ralsinathe other reason to compile them is that if we ever switch to pyside, loading them dynamically sucks on PySide12:12
alecuralsina, cool.12:12
ralsinagotta reboot the natty VM, has no network for some reason12:13
alecuralsina, mandel1: the way to compile here is just like in sso: "./setup.py build"12:13
mandel1alecu: cool, in that code, there is a way to just tell the setup.py to look for the icons in an generate a resource file with them using the correct prefix12:14
ralsinamandel1: we now have 5 applicants for the windows guy position12:14
mandel1ralsina: 5, hurray!12:14
ralsinawe should start interviewing this week12:14
mandel1ralsina: do you need me to give a hand?12:14
mandel1a least I can ask evil quetions ;)12:14
ralsinamandel1: I would like you to be around, yes12:14
alecumandel1, cool, I'm interested in icons right now... can you tell me more?12:15
ralsinaalecu: basically you create the resource file (trivial XML) and compile it to .py using pyrcc412:15
mandel1alecu: sure, I have like 15 min befor eI I go to srt some errands, mumble?12:16
mandel1is faster than typing :)12:16
alecumandel1, oh, sorry. I'm in a hotel room and the whole family is sleeping next to me... we can do irc now or mumble later.12:17
mandel1alecu: laters then, no problem12:17
mandel1just do the following, consider that icons will be added in ta folder somewhere in the project data/icons for example12:17
mandel1and add the icons there whenever you need them12:17
alecumandel1, got that.12:18
mandel1alecu: later when you need them use them as if they where in a resource file12:18
alecumandel1, ralsina: and how do I use the icons from designer?12:18
* alecu better check about resources in ralsina's tutorial.12:19
mandel1alecu: ;)12:19
ralsinaalecu: use any icon property and ask to "load a resource"12:19
mandel1alecu: just imaging you already have a resource12:19
ralsinain fact, you can use designer to create/edit the resource file12:19
mandel1ralsina: no no no, that is done by the setup.py12:20
ralsinamandel1: hahaha forgot about the magic bits ;-)12:20
mandel1ralsina: main reason, we might have diff icons according to lang etc.. we have to make sure we are nice with translators ;)12:20
mandel1ralsina: I'm really proud of that setup.py ;)12:20
ralsinaalecu: got it running12:23
mandel1alecu: the important thing is to tell the designer the correct resource path, although the designer wont show the icon, at runtime it will be there12:23
alecumandel1, oh, ok.12:24
alecuralsina, cool.12:24
ralsinaalecu: basically, the " notebook"  is not resizing, right?12:24
alecuralsina, right.12:24
ralsinalet me see the .ui file...12:24
* mandel1 goes to fix errands...12:25
alecumandel1, ralsina: and what widget should I use for the icons? I was guessing the "Graphics View", but somehow didn't sound right.12:25
alecufix em!12:25
ralsinaalecu: label12:25
ralsinaQLabel, that is :-)12:25
aleculabel!12:25
alecucool.12:25
mandel1ralsina: did you get my status mail?12:25
ralsinamandel1: yep, got it12:26
mandel1ok, I go then, wll be back asap!12:26
alecuralsina, qlabel + rich text inside it?12:26
ralsinaalecu: if you need to, yes12:26
ralsinaalecu: if it' s just an icon, set the pixmap property12:26
alecuok, great.12:27
ralsinaalecu: I see where you create the ControlPanel class that loads the controlpanel.ui12:27
ralsinawhere are you using that class?12:27
alecuralsina, inside "mainwindow.ui"12:27
ralsinaohhh ok, let me see that one ;-)12:28
alecuralsina, I have the centralwidget promoted to ControlPanel12:28
alecuralsina, perhaps I can get rid of that indirection.12:28
ralsinaok, you also have t set a layout12:28
ralsinaalecu: since we don' t have menus and whatnot, yeah12:29
alecuralsina, where should I set a layout?12:29
ralsinaoops, forget that, you can' t12:29
ralsinagive me 1' to see how that works12:30
alecuralsina, I'll try getting rid of that indirection.12:30
ralsinayeah, and this problem goes away12:31
ralsinathe solution is probably to add the promoted widget as a child of the central widget, but it' s weird, and it should work as is12:32
ralsinaalecu: yes, that I said abovr is the "solution"12:34
ralsinaat least it' s what everyone who ran into it before did ;-)12:35
alecuralsina, is there a way to do that from the designer, or should it be done manually from the code?12:36
ralsinaalecu: remove the promotion, drag a widget into the window, promote that one, then do a layout on the centralwidget12:36
ralsina" do a layout"  -> "right click on the central widget, layout, vertical"12:37
alecuright.12:38
alecuwell, I've tried the other route (putting the notebook directly inside the window) and it didn't work right. Plus I remembered why we better split the window from the notebook:12:39
alecuinstead of the window probably we would add the "welcome to u1, signup or login" screen and hide the notebook.12:40
ralsinayes. We can do that too by having a stackwidget that contains both things in two pages, but then you have a way too hard ui file12:40
alecu(some other phrasing probably would make more sense)12:40
alecuhmmm... that sounds even better I think.12:41
ralsinait's better to keep it separate, and this fix should work ok12:41
ralsinawe can even have a stackwidget that loads the widgets from ui files ;-)12:41
alecuralsina, btw: removing the promotion and adding a widget worked all right. I had a bit of a trouble because I forgot to compile the .ui all the time today :P13:06
ralsinaalecu: haha cool13:07
alecuralsina, I'm off to have breakfast, bbl13:20
ralsinaalecu: buen provecho13:20
* fagan back 13:34
ralsinaeveryone, standup in 11'13:49
faganme14:00
ralsiname14:02
ralsinaok, nessita has a doctor' s appintment, mandel is on errands, and alecu is having breakfast14:02
ralsinathisfred?14:02
ralsinadobey?14:02
thisfredme14:03
thisfredsry14:03
dobeyme14:04
faganDONE14:04
fagan* Finished learning twisted and got a client and server working and talking to each other \o/14:04
faganTODO14:04
fagan* Talk with Chipaca about going to the sprint14:04
fagan* Find a bug I can do14:04
fagan* Do a blog post about last week and how twisted works14:04
faganBlocked14:04
fagan* nope14:04
faganNOTE14:04
fagan* If you have any good bugs that can be handled by a noob send them my way14:04
faganralsina: go14:04
ralsinaDONE: reviews, canonicaladmin, read CVs for windows job, day off on friday14:05
ralsinaTODO: finish one big test formandel, not much else today14:05
ralsinaBLOCKED: no14:05
ralsinathisfred?14:05
thisfredDONE: reviewed https://code.launchpad.net/~alecu/ubuntuone-control-panel/tx-qt-mainloop/+merge/61652 | Looked at: Bug #781875, packaging qtreactor and making u1cp use u1lint14:05
thisfredTODO: finish Bug #781875, packaging qtreactor and making u1cp use u1lint, Bug #781119, Bug #78153814:05
thisfredBLOCKED: no14:05
thisfredLIKED: dogsitting http://www.flickr.com/photos/teensy/5748856887/lightbox/14:05
ubot4Launchpad bug 781875 in ubuntuone-control-panel "ERROR - ReplicationSettingsChangeError: args (<ubuntuone.controlpanel.dbus_service.ControlPanelBackend at /preferences (affects: 1) (heat: 17)" [Undecided,Confirmed] https://launchpad.net/bugs/78187514:05
thisfredNEXT: dobey14:05
ubot4Launchpad bug 781119 in ubuntuone-couch (Ubuntu) (and 1 other project) "Crashes if not logged into Ubuntu One (affects: 1) (heat: 6)" [Medium,Confirmed] https://launchpad.net/bugs/78111914:05
ubot4Launchpad bug 781538 in ubuntuone-couch (Ubuntu) (and 1 other project) "OAuth support doesn't handle query parameters (affects: 1) (heat: 469)" [Undecided,New] https://launchpad.net/bugs/78153814:05
dobeyλ DONE: Some more nightlies work14:05
dobeyλ TODO: Still some more nightlies work, reviews14:05
dobeyλ BLCK: None.14:05
ralsinadobey: mandel wants a review from you for https://code.launchpad.net/~mandel/ubuntuone-dev-tools/allow_txnamedpipes_reactor/+merge/6151514:06
dobeyyes i saw14:06
ralsinamandel' s report coming up...14:07
ralsinaDONE: We have got the txnamedpipes project to provde two dff ypes of reactors one with a plain IOCPReactor implementation and a second one with a ThreadedIOCPReactor. The diff is that the IOCPReactor does no use an external main loop while the Threaded can do. We also have the correct parts to use the Qt main loop. SSO has been ported to use the later so that we can show the UI.14:07
ralsinaTODO: Port sd to use the txnamedpipes code with a simple IOCPReactor. Do the same with control panel.14:07
ralsinaBLOCKED: no, there are no ciguaguas left to kill :)14:07
ralsinathat was madenl' s report ;-)14:08
nessitame!14:09
thisfredralsina: ah, mandel's report implies we'll not be using qtreactor?14:09
ralsinathisfred: good question14:09
dobeymandel1, ralsina: i wanted to discuss the implementation with you, because it doesn't make sense to me14:09
thisfredI'll wait for him before continuing packaging that14:09
nessitaDONE: reviews, QT learning, tested QT reactor branch from alecu14:09
ralsinathisfred: for which I have as answer "maybe"14:09
thisfredclaro ;)14:09
ralsinadobey: sure, as soon as mandel is back...14:09
dobeyright14:10
nessitaTODO: define tasks and assignees for control panel, catch up with ralsina, breathe14:10
nessitaBLOCKED: no14:10
nessitahello all!14:10
thisfredhi nessita!14:10
alecuhello nessita!14:10
thisfredkeep breathing, it's good for you ;)14:10
* nessita breaths in, breaths out14:10
nessitaI had to run, there was a traffic jam near my house14:11
dobeyralsina: your TODO seems short :)14:11
ralsinadobey: it's after 4PM here ;-)14:12
ralsinaand I have been here since 8AM14:12
nessitaralsina: what's your TODO?14:12
ralsinanessita: I have to test sso with the new reactor14:13
alecume14:13
alecuDONE: got twisted+qt branch merged; proposed a branch with the .ui files for all the dashboard 2.5 panels14:13
alecuTODO: a branch to rename fields in said panels; start connecting widgets with backend14:13
alecuBLOCKED: no!14:13
nessitaralsina: what is the "new reactor"?14:13
alecuthe iocp+qt reactor, right?14:13
dobeyralsina: oh, ok; i see you accepted my swap days and the national holiday now :)14:13
ralsinanessita: oops. with the namedpipes thingie.14:14
ralsinaI had firewall problems with the old tcp-based ipc14:14
nessitaralsina: I have no idea what you're talking about :-)14:14
faganOh add 2 more things to my standup Done * talked with Chipaca and going to the sprint TODO * book tickets14:14
nessitashall we mumble?14:14
ralsinanessita: here' s the short version ;-)14:14
ralsinawe are using twisted+TCP to do the SSO IPC14:14
dobeysome people mumble too much already, let's not encourage such behavior14:14
ralsinabuuuut windows complains when you open tcp ports. So, our contractor has done a namedpipes twisted thing (I think reactor, but maybe I am confused, my twisted-fu is weak)14:15
ralsinatherefore, I have to try SSO with the non-tcp ipc in place14:15
dobeyit is a twisted reactor, yes14:15
* ralsina was right all along ;-)14:16
dobeyhence the name "txnamedpipes"14:16
dobeywhich makes my stomach ache :)14:16
ralsinadobey: hahaha try raki, it will make it hurt differently14:16
nessitaralsina: so, how does this interacts with the QT control panel?14:16
dobeyralsina: i have had raki before :)14:16
ralsinanessita: the IPC between syncdaemon and the control panel will use this14:17
ralsinathe tricky part is interaction with the Qt main loop, which manuel was working on14:17
alecunessita, the namedpipes reactor == the iocp reactor14:17
dobeyi don't think it's tricky, i think we're just doing it totally wrong by using twisted14:17
nessitaralsina: right, but do we still need the qtreactor? it has given us quite some headhaches, specially when defining how to distribute it14:18
alecudobey, you mean on the control panel, right?14:18
ralsinanessita: I am pretty sure we won' t use it, if this actually works. Which I have to try ;-)14:18
dobeyalecu: i mean anywhere it is generally not a neccessity, yes (iow, anywhere outside of syncdaemon)14:18
ralsinaManuel14:18
ralsinaoops14:19
nessitaralsina: so, how/when are we knowing for sure if this awesome thing works?14:19
ralsinanessita: 2 hours14:19
nessitaralsina: great. Have we heard back from mandel1?14:19
ralsinanessita: we were working all day, he has gone to do an errand14:20
nessitaeven better news14:21
nessitaalecu: so, you mentioned you worked on all the screens?14:21
alecudobey, I agree that adding twisted to the control panel adds complexity, but I believe it's easier and faster than making a jsonrpc client going thru iocp that's async and integrates well with qt on windows.14:22
alecunessita, yes, I have a branch with all the screens, here: https://code.launchpad.net/~alecu/ubuntuone-control-panel/ui-scissors/+merge/6184514:23
ralsinaqt does give you all the needed pieces for the client, but it's all pretty low level14:23
dobeyalecu: i don't understand that comment about jsonrpc?14:23
nessitaalecu: looking14:24
alecudobey, we need to speak to syncdaemon from a windows explorer plugin to show emblems on it. The way we are doing it is by exporting jsonrpc over iocp in syncdaemon, replacing the sd dbus interfaces.14:25
dobeyalecu: i don't think it would be any more difficult to do that directly in qt, vs doing it inside twisted and trying to integrated a different twisted reactor into the qt main loop14:25
alecudobey, the thing is that we already have the iocp running and tested on twisted, and the xmlrpc layer as well. So integrating it with qt looks to me like the shorter route, and I believe both mandel and ralsina agree.14:33
ralsinadobey: yes, I think you may be underestimating how much work implementing this on Qt is.14:34
alecusorry, not xmlrpc but jsonrpc14:34
dobeyralsina: i don't think so. i think i am looking at the QLocalSocket API, and seeing that it looks fairly well documented and easy enough to implement such a thing on top of. and nobody is disputing that. the only responses i've gotten so far are "well someone already did some work on top of twisted" which seems to me to ignore the problem.14:37
ralsinaQLocalSocket is just a thin layer on top of a named pipe.14:38
ralsinaAnd yes, it integrates with the event loop, but we would still need to implement things like, say, callbacks.14:39
ralsinaor messages. Or signals, or everything else...14:39
dobeyyes i know that. you obviously still have to glue stuff together14:39
dobeyeh? QLocalSocket looked like it had stuff for doing that14:39
* ralsina actually read " you still have to sniff glue" 14:39
ralsinathe only signal you have is "there is stuf to be read"14:40
nessitaalecu: you added all the screens into a single .ui file?14:41
alecunessita, no: each screen is a separate .ui file14:42
nessitaalecu: ah, right, meld only shows diffs, no adds ;-)14:42
* nessita browses the diff in a different way14:42
dobeyi don't know; implementing signals/callbacks/delegates/whatever in an OO language doesn't seem like something that should have any impact on the development. make a sub-class and give it the signals you need.14:43
alecunessita, "cd data/qt" and "designer-qt4 *.ui"14:43
alecunessita, also, I'm pushing a fix to make the notebook follow the resizing of the main window.14:45
alecunessita, (revno 153)14:45
nessitaalecu: can I try it somehow?14:45
alecunessita, sure, just like the previous branch. git clone qtreactor in some folder, then PYTHONPATH=qtreactor-parent-folder:. ./bin/ubuntuone-control-panel-qt14:47
CardinalFangI only IRC'd and listened to the shoutcast, and I somehow got the UDS ubuflu.14:48
thisfrednessita: for me meld shows adds as well, in the tree view14:49
nessitathisfred: I'm running bzr diff --old=../trunk --using=meld14:50
thisfredah14:50
nessitathisfred: what do you run?14:50
thisfrednessita: then maybe the (interaction with) bzr diff is to blame. meld dir1 dir2 will definitely show new files.14:50
nessitathisfred: ah, yes14:51
thisfrednessita: I don't use meld in reviewing much14:51
thisfredI usually look at the diff in lp14:51
thisfredOf course I should have an emacs mode for it :D14:51
nessita0.014:52
ralsinaok, mandel's code seems to be working ok on windows, AFAICS14:52
ralsinaand.... I have to go away for a little while. I will be here for another hour around 4PM argentina time14:53
faganralsina: I just put up my blog post for last week's learning if you want to read it15:08
mandel1ralsina: does it work then?15:10
mandel1oh, and I'm back, sorry for the time I was out15:10
karniCardinalFang: ubuflu? wish you much health!15:13
CardinalFangkarni, I slept a long time.  At desk working, just feel bad.15:14
CardinalFangthanks.15:14
karniCardinalFang: oh man :(15:14
faganCardinalFang: if you have a laptop you can work from bed dude15:15
CardinalFangfagan, Tried it.  It won't make me feel better.  I'm waiting for medication to work.15:16
faganCardinalFang: :(15:17
dobeyhrmm15:28
* dobey ponders calling Novell support to ask where their project is hosted now, since they took down their project hosting service15:32
nessitadobey: is there any chance you do some follow up on bug #786560? is related with conflicts files and banshee15:34
ubot4Launchpad bug 786560 in ubuntuone-client (Ubuntu) "can't get rid of u1conflict files (affects: 1) (heat: 6)" [Undecided,New] https://launchpad.net/bugs/78656015:34
nessitaalecu: ping15:35
alecunessita, pong15:35
nessitaalecu: the window size need to be the one we discussed last cycle for the gtk control panel, I think. That size was... 525x728 I think15:35
dobeynessita: i don't think there is anything i can add to that. it sounds like something chicharros should look at?15:36
alecunessita, cool. I'll change it in the upcoming branch I'm finishing right now.15:36
nessitadobey: well, if you could add some input related to how banshee may modify files, that will surely help them15:36
nessitaalecu: ack15:36
nessitathisfred: did you meant to approve alecu's branch?15:37
dobeynessita: hrmm, it just changes the ID3 tags, as any music player may do15:37
dobeynothing special15:37
thisfrednessita: yeah, did I not?15:37
nessitathisfred: looks like not :-)15:37
thisfredoh sry15:37
alecunessita, 525x728 sounds weird in an "oblongo" sense.15:37
alecunessita, do you have a pointer to the right size?15:38
dobeygah15:38
nessitadobey: right, but the conflicts are being generated on the machine that, theoretically, is not modifying the files15:38
nessitaalecu: 728x525, sorry15:38
dobeytrying to force window size is a horrible idea15:38
nessitaalecu: bug #68316415:38
ubot4Launchpad bug 683164 in ubuntuone-control-panel (Ubuntu) (and 1 other project) "Maximum sizes for window and banner (affects: 1) (heat: 20)" [Medium,Fix released] https://launchpad.net/bugs/68316415:38
nessitaalecu:  736x525 is the correct size15:39
alecudobey, we are talking about the default window size, not a forced one.15:39
alecunessita, thanks.15:39
nessitadobey: is an initial windows size, that we need to use to ensure we show all the content in netbooks as well15:39
nessitaalecu: other than that, approved15:39
dobeynessita: it doesn't auto-resize properly though; which is why all the problems exist with translations in the control panel15:39
alecunessita, thanks. I'm making that change in a different branch though.15:40
thisfrednessita: hmm, which branch? https://code.launchpad.net/~alecu/ubuntuone-control-panel/tx-qt-mainloop/+merge/61652 I have approved15:40
alecuthisfred, https://code.launchpad.net/~alecu/ubuntuone-control-panel/ui-scissors/+merge/6184515:40
dobeymandel1: ping for when you return15:40
nessitathisfred: ui-scissors15:40
thisfrednessita: alecu: ah, I see. Done!!15:41
alecuthisfred, thanks for the review on a saturday :-)15:41
thisfredalecu: It's my new obsession with keeping my inbox at 0. It won't last ;)15:42
faganthisfred: wow you would be sick looking at my box15:42
mandel1dobey: pong I'm here :)15:42
mandel1dobey: tell me15:42
nessitamandel1: hey there, how is it going?15:42
faganthisfred: 10% of gmail's max storage in unread messages15:42
thisfredfagan: Well I just switched to notmuch, which makes it much easier to sort mail15:43
nessitaalecu: have another branch I can/should looko at? I keep trying to start a branch of my own but I still don't see how not to overlap with you15:43
dobeymandel1: hey. well, i'm worried that we're using twisted in places we really shouldn't be adding that complexity; but, what is the deal with this txnamedpipes project?15:43
faganthisfred: I was thinking of doing some changing in how I do email again but with all of the mess at the moment it makes it a little bit hard to switch15:43
dobeymandel1: do we own it? does it require (C) assignment? do i need to set it up under tarmac?15:43
mandel1nessita: much better than last week, I have come to realize the situation and ready to move on15:43
thisfredfagan: I'm at 55% and I'm sure most of that's unread. That's fine with me, I just don't want it in my inbox ;)15:44
faganthisfred: ahhh15:44
mandel1dobey: ok, so txnamedpipes is ours, it does require cython, but I dont know how we can set tarmac since is a windows only project15:44
dobeyrequire cython?15:45
alecunessita, I'm pushing the renaming branch, and now things should be more stable.15:45
mandel1dobey: it is an extension for twisted that uses namedpipes and that will be shared over all the project that use IPC and have to be ported to Windows, so it makes sense to have its own tests and project etc..15:45
mandel1dobey: http://cython.org/15:45
dobeymandel1: yeah, i'm not saying it shouldn't be its own project15:45
dobeyoh15:46
mandel1dobey: and I'm not understanding you are, I'm just stating the reason for anyone out there15:46
dobeyhmm15:46
nigelbfagan: :D15:47
dobeymandel1: have you looked at QLocalSocket at all?15:47
fagannigelb: dude that was more than fast15:47
fagannigelb: :D15:47
nigelbfagan: Just really really good timing.  I just refreshed FB right then ;)15:47
ralsinamandel1: indeed it worked15:48
fagannigelb: hah15:48
ralsinamandel1: and that is as far as I can go about it :-D15:48
mandel1dobey: how do you integrate that with twisted?15:48
mandel1dobey: and the issue is that in some machines (like ralsina laptop) have the local ports blocked15:49
faganralsina: hmmm can we start using the bytesize tag like unity15:49
dobeymandel1: QLocalSocket uses named pipes15:49
dobeymandel1: not TCP15:49
mandel1dobey: again, how do I add that to twsited?15:50
mandel1twisted15:50
faganralsina: it would be helpful to sort out the smaller bugs from the ones from the bigger ones15:50
ralsinafagan: we should, I will ask everyone to do that in tomorrow's standup15:50
faganralsina: cool15:50
* fagan is still looking for a bug that would be easy enough to get started on 15:50
ralsinafagan: and in london, I want to do a day of pair programming with you, I really owe you lots of training15:50
faganralsina: cool, np15:51
dobeymandel1: i am not suggesting using it in twisted; i think the twisted solution is ok for syncdaemon where we have to use twisted already, but i think using QLocalSocket/QLocalServer for the IPC in all the things where we don't use twisted already, would be better15:51
mandel1dooh, yes if we have no twsited we do not use twisted15:51
mandel1stupid keyboard...15:51
dobeymandel1: and i'm wondering if there are any real valid reasons for not doing that, which aren't "we're in a rush to get it out, so we're using junk that's already in development"15:51
faganralsina: I think im doing ok with doing some of it by myself like I handled twisted fine I think although it took me a few days to figure out all the little things15:51
dobeymandel1: but we're adding twisted just to do the IPC in SSO and control panel and such, no?15:52
mandel1dobey: control panel and sso were already using twisted, but not its main loop15:52
dobeymandel1: eh? no they weren't :)15:53
mandel1dobey: a beer?15:53
mandel1dobey: txsecrets uses deferred15:53
mandel1and control panel uses it somewhere, I cannot remember where15:53
dobeydeferred only15:53
dobeywhich doesn't have to be twisted, they could just use python-deferred now15:54
dobeybut they aren't using twisted for any sockets or loop related stuff15:54
mandel1dobey: I know but it was a dependency that was already there and that simplifies my life when packaging the diff projects on windows because the libs can be shared15:56
dobey:(15:57
mandel1dobey: what can I say, there are reason behind the idea, also twisted is not that much harder, is it?15:58
dobeymandel1: i'm not saying that writing the code is harder, but the complexity of the underlying code itself is significantly greater, and i think it will only casue us problems (like it's already done on linux)15:59
mandel1dobey: what kind of issues?16:00
dobeymandel1: we have had problems in the past with integrating twisted, gobject, dbus, gtk+, etc... all together16:01
nessitaalecu: can I globally approve https://code.launchpad.net/~alecu/ubuntuone-control-panel/ui-scissors/+merge/61845 so it lands?16:01
alecunessita, sure! I forgot16:02
dobeymandel1: and integrating named pipes into twisted, and its reactors, and then trying to integrate those into Qt main loop, seems like a long roundabout way to get it done, and only adds complexity, when we could just throw some code in a sub-class of an existing Qt object, and already have a working main loop setup.16:03
alecunessita, after that you may want to review https://code.launchpad.net/~alecu/ubuntuone-control-panel/ui-bigrename/+merge/6198516:03
nessitaalecu: yes, I do16:03
dobeyjust seems like using a rube goldberg machine to kill a mosquito, to me :)16:03
alecunessita, btw: I set the size you requested as the suggested window size, but it seems that qt is taking the size from elsewhere.16:03
nessitaalecu: can you check with ralsina?16:04
mandel1dobey: that is why we do have a twisted implementation for namedpipes, so that is easy to integrate, QApp main loop is ready, but they are certainly friction areas16:04
alecunessita, I'll play with it a bit more, then I'll yield to ralsina, but he's not returning till 4 hours from now.16:04
* ralsina kinda is here16:04
nessitaI saw him answering a few minutes ago :-)16:04
ralsinawhere is that size request?16:05
nessitaralsina: how can we set the initial main window size?16:06
alecuralsina, I have set the Width and Height in the outer Main Window, and also set its size policy to "preferred, preferred"16:07
alecuralsina, but it seems to get the size from the inner notebook. or something.16:08
ralsinaalecu: preferred is tricky16:08
ralsinabecause if something inside is larger, it does nothing :-)16:09
alecuralsina, it does not even enlarge the window so stuff inside fits?16:09
ralsinaalecu: it means it may be bigger or it may be smaller, as needed16:10
dobeysigh, here comes the storm16:10
ralsinacheck http://doc.qt.nokia.com/latest/qsizepolicy.html16:10
dobeyo/~ and the thunder rolls o/~16:10
alecuok.16:10
alecuralsina, the thing is that there's a button inside one of the panels that's being cropped.16:11
alecuralsina, so the window should be automatically bigger.16:11
dobeymandel1: few needsfixing comments on your devtools branch16:11
ralsinaset it t minimumExpanding, I think16:11
mandel1dobey: thx for taking a look, I'll fix them asap16:12
mandel1nessita: ping16:17
nessitamandel1: pong in 5 minutes16:18
faganflights booked \o/16:18
* fagan done that in quick time 16:18
mandel1nessita: ok :)16:19
* fagan takes a quick break to get some food16:19
ralsinaok, I will now be off a little while for real16:19
nessitamandel1: shoot16:22
mandel1nessita: can I get a super review from you for https://code.launchpad.net/~mandel/ubuntu-sso-client/cannot_shutdown_windows/+merge/5983316:23
mandel1please…. :D16:23
nessitamandel1: of course!16:24
mandel1thx!16:24
nessitamandel1: does it work? I mean, someone on windows has tested it?16:24
mandel1nessita: fagan did the windows test16:25
* fagan forgot about that :)16:25
nessitafagan: you forgot to test?16:25
mandel1nessita: I need one of those code reviews you can do16:25
fagannessita: no no I did the test but I forgot I did it16:25
nessitamandel1: can you please add a dostring for def shutdown(pipe_service): ?16:26
nessitamandel1: and the """Adds... should be """Add16:26
mandel1nessita: I saw that coming ;)16:26
nessitamandel1: those 2? ;-)16:28
mandel1nessita: only the missing one ;)16:29
nessitamandel1: question, why are you changing listener.getHost().port by 0?16:29
mandel1nessita: is a default value I add to state that the prot is not yet known, that namepipe exposes the port currently used, but we have to start it first so it is 0 while the listener starts16:30
mandel1nessita: that is one of the hacks we will get out when I land the txnamedpipes reactor port16:30
mandel1no need to use a port, we will use the named pipe which is way better to work with and cleaner16:31
nessitamandel1: ok16:31
nessitamandel1: with the lint fixes, approved16:31
mandel1nessita: ok, I'll fix them right now16:32
dobeyalright, i'm off to get lunch. bbiab16:32
nessitaalecu: did you manage to set the windows size?16:33
nessitaalecu: also, i would strongly advice we use names like greeting_label instead of greetingLabel16:33
alecunessita, how strongly?16:34
alecunessita, I'm following the Qt convention here.16:34
nessitaalecu: so the resulting code (our pys, not the autogenerated) are pep8 compliuant16:34
nessitaalecu: we don't write C++, but python, and our project is snake_case16:34
mandel1alecu: I follow the python name policy like nessita says when on python :)16:34
alecunessita, mandel1: ok, I'll follow that too.16:35
nessitaalecu: thanks!16:35
mandel1nessita: so, just the comments? I have no lint issues when I run it on maverick (please, please do not have stupid lint version issues)16:35
alecunessita, I'll ping you when I've changed all this.16:35
mandel1alecu: cool :)16:35
nessitaalecu: thanks16:35
nessitamandel1: no lint issues other the missing docstring and the "s" on Adds16:35
nessitamandel1: is only a 48 lines' diff, right?16:36
mandel1nessita: oh, coll I'll push it then16:36
mandel1yes, just 48 lines :)16:36
nessitaright, then it makes sense16:36
mandel1nessita: new version pushed :)16:40
mandel1I know I'll get merge conflicts with the txnamedpipes branch merge proposal, so if it lands, I'll fix that  one after :)16:40
mandel1nessita: can you review the other part of that change: https://code.launchpad.net/~mandel/ubuntu-sso-client/cannot_start_windows/+merge/5984816:41
nessitamandel1: I haven't seen the txnamedpipes branch :-)16:41
nessitamandel1: I can, yes, and I will16:41
mandel1I could not stop it, and asap I can stop it, I need to be able to start it16:41
mandel1nessita: when is ready, you are going to love it, is waaay cleaner :)16:42
mandel1is one of those that removes more code that it adds16:42
* nessita crosses fingers16:42
nessitamandel1: "it location" -> it should be "its location"16:44
nessitamandel1: is not a good practice to have that kinda of "complex" logic inside a try except. My advice is:16:45
mandel1move it to a method that states what it does?16:45
nessitanot necessarily16:45
nessitamandel1: becasue that method can fail the same16:45
nessitaso, you should do something like this:16:45
nessitatry:16:46
nessita    self._port = something16:46
nessitaexcept:16:46
nessita    self._port = None16:46
nessitaif self._port is None:16:46
nessita    comploex_logic16:46
nessitamandel1: otherwise, inside the except block, there are too many possibilities for a trace inside a trace, which is impossible to debug16:47
nessitamandel1: makes sense?16:47
mandel1nessita: ok, is not a hard change to make and does no look terrible :)16:47
mandel1so I'm on it16:47
nessitamandel1: thanks16:47
ryebeuno, given that user is not altering couchdb, how can "  IllegalKeyException: Mixing uuid-like keys and regular keys in a single dictionary is not allowed." appear?17:06
ryebeuno, that's in contacts17:07
beunorye, where are they seeing it?17:08
ryebeuno, well, that's from oops17:08
nessitamandel1: you let me know when is done?17:08
ryebeuno, 1963appserverZDAdCaAHDHaDEECfHbCbHaCaFeaHeFIAf23131217:08
mandel1nessita: yes, will do as soon as it is done :)17:08
ryebeuno, PATH_INFO: /contacts/17:08
beunorye, right, I know of the bug17:12
beunofile it please  :)17:12
ryebeuno, erm, but is it happening during the store or fetch?17:12
alecunessita, revno 155 with snake_case names for widgets.17:13
nessitaalecu: groso17:14
ralsinawhile I am (again) kinda around here: alecu, you and I are taking the 25th off, right? Nessita is taking the 30th17:14
mandel1nessita: I just pushed it, fixed the comment and moved the logic to an if clause17:15
alecuralsina, I'm taking the 25, yes. I've yet to canonicaladmin it.17:15
nessitaralsina: yes on my end17:15
ralsinacool17:15
nessitamandel1: I'll look as soon as I finish alecu's17:15
ralsinawe will have a "meeting" on the 27th with alecu, manuel, nessita and me to gauge our progress17:15
mandel1ralsina: when is the 27th?17:16
alecuralsina, sounds reasonable.17:16
ralsinafriday17:16
nessitaralsina: gauge?17:16
ralsinameasure17:16
alecunessita, as in "medir"17:16
nessitaralsina: I would like *a lot* a meeting before that, I still feel lost regarding the task list17:16
ralsinaI could easily have said that in spanish, of course ;-)17:16
nessitaralsina: and the plan to actually make this work17:16
mandel14 days… should I have everything that is no UI ready and mattias might have the shell extensions, sounds good17:16
ralsinanessita: ok, we can talk tomorrow early17:16
alecumandel1, ralsina, thisfred: can I get another review? https://code.launchpad.net/~alecu/ubuntuone-control-panel/ui-bigrename/+merge/6198517:17
nessitaralsina: what would be early? I would like alecu to be there as well17:17
* ralsina is kinda falling asleep right now17:17
nessitaralsina: 9am ART? alecu can you make it at that time, tomorrow?17:17
ralsinatomorrow 9AM ART?17:17
mandel1alecu: on it, you had to read lots of xml for me already ;)17:17
alecunessita, ralsina: I sure can.17:17
nessitamandel1, ralsina, alecu: I'll setup a meeting on calendar and invite you all17:18
alecumandel1, don't worry reading those xmls, do "designer-qt *" instead.17:18
ralsinanessita: cool17:18
mandel1alecu: I know ;)17:18
nessitasent17:19
mandel1alecu: one thing, in the usage_label you are using rich text, translator HATE that, the best thing to do there is to use plain text and later tell the css of the widget to set the font etc17:19
alecumandel1, cool.17:20
mandel1alecu: so feel free to remove it if you wanna :)17:20
mandel1but is not a merge stopper17:20
nessitamandel1: could you please set commit message for https://code.launchpad.net/~mandel/ubuntu-sso-client/cannot_shutdown_windows/+merge/59833 ?17:21
nessitamandel1: and, you sure this is a "logger.error", and not .info? logger.error('The ubuntu sso process is not running!')17:21
alecumandel1, the thing is that there's a bold part and a non-bold part in the same label.17:21
alecumandel1, anyway, I'm removing the bolding from that label anyway, we can set the style later.17:22
jderosethisfred: any thoughts on this error: ResourceNotFound: ('db_not_found', 'could not open https://couchdb.one.ubuntu.com/u%2F69b%2Fa53%2F210959%2Fdmedia/')17:22
jderosehttps://bugs.launchpad.net/ubuntu/+source/desktopcouch/+bug/78645617:22
ubot4Launchpad bug 786456 in desktopcouch (Ubuntu) "desktopcouch wont replicate "dmedia" DB (affects: 1) (heat: 6)" [Undecided,Incomplete]17:22
alecumandel1, (I we can't use two labels for that purpose, because some languages may have a different order)17:22
alecuhmmm17:23
alecumandel1, We can't use two labels for that purpose, because some languages may have a different order.17:23
mandel1nessita: where is that logging call?17:24
nessitamandel1: line 49 in the LP diff17:24
thisfredjderose: hi. Not off the top of my head no. The ResourceNotFound seems like it's masking the real error. Anything interesting in the couchdb logs?17:24
mandel1nessita: I mean branch? the cannot stop one?17:24
nessitahttps://code.launchpad.net/~mandel/ubuntu-sso-client/cannot_start_windows/+merge/5984817:25
alecumandel1, thanks for the review. I've pushed revno 156 removing the usage of rich text.17:25
jderosethisfred: not that i see, but i may not know what "interesting" is in this case :)17:25
alecu(btw this kind of rich text sucks when compared with pango markup :-)17:25
nessitaalecu: the main windows default size is, when opening the UI, 748 x 67117:25
mandel1nessita: try it has to be info17:25
alecunessita, on your monitor, with your dpi and font size, right?17:26
mandel1alecu: one more thing, line_edit and vertical_layout rather than verticallayout, do you agree?17:26
nessitaalecu: yes, which all are values from the "standard installation". And the GTK UI is exactly 736x52517:27
mandel1alecu: I think that <b> can be used in the QLabels without the crazy html heather17:27
jderosethisfred: http://paste.ubuntu.com/611919/17:27
thisfredjderose:  right. Couchdb logs are pretty hard to make sense of (at least to me). Can you paste some more context of where you got that error in the bug report? I.e. the full traceback and maybe related lines above and below17:27
thisfredah :)17:27
ryebeuno, is this the same bug as #783969? In this case that is an OOPS seen by the user, in your bug report that looks like contacts worker17:28
mandel1nessita: I've pushed the change of the logging level17:28
thisfredjderose: do you have ubuntuone-couch installed?17:28
jderosethisfred: that's pretty much all that's in desktop-couch-replication.log about "dmedia", other stuff is errors about say "gwibber_preferences" (which by the way, I can't seem to delete on U1 no matter how I try)17:28
alecunessita, I've told Qt to use the size you recommended as the minimum default, but it will choose whatever it wants. I do not want to work on specifying a given size till we have progressed more with the graphic design of the ui.17:28
jderosethisfred: what other logs should i paste in?17:29
alecumandel1, and using <b> is not so frowned upon by the translators?17:29
ryebeuno, and bug #73696217:29
ubot4rye: Bug 736962 on http://launchpad.net/bugs/736962 is private17:29
thisfredjderose: no this was what I meant17:29
alecumandel1, I guess the problem is the whole spurious Html markup that qt designer adds, right?17:29
mandel1alecu: probably it is, but is better than the crap added by the rich text editor ;)17:29
alecucool17:29
dobeyhrmm17:31
jderosethisfred: bunch of errors here too, but i don't know what it means - http://paste.ubuntu.com/611924/17:31
dobeyjderose: ooh, erlang crashes17:32
alecumandel1, revno 157 using <b>17:32
nessitaalecu: I see. Anyways, I as far as I understood, our UI should not be bigger (by default) than that, since we need to fit on smaller screens. So our window should have that size 726x525 and the only way of changing that is either by maximizing or explicitly resizing it (by hand). As per how is now, QT decides to make it bigger not sure why, since there is tons of free space in all tabs17:32
ralsinaare we compiling the .ui files with -x ?17:33
ralsinaIf we are, we could see if any of them tries to be large17:33
ralsinaby running the compiled files directly17:33
mandel1alecu: sweet, did you see my message about lineedit and horizontallayout and verticallayout, is not that is a big issue, so I'll approve and will trust you to do what you consider best :)17:34
thisfredjderose: the gwibber dbs are special: I think we block access to them on our servers, because they're not used anymore, and they grew to impossible sizes. But yeah the dmedia errors in there are Greek to me too.17:34
nessitaralsina: isn't there a way of setting a fixed size, without QT doing whatever he wants re: size?17:34
ralsinanessita: yes, set the size policy to fixed, and the same as minimum and maximum sizes17:34
alecumandel1, I chose to use lineedit instead of line_edit, because I like "checkbox" more than "check_box" and all.17:34
alecumandel1, what do you think?17:34
ralsinacheckbox is one word, lineedit is not :-)17:35
nessitaralsina: will that allow manual resizing and maximizing?17:35
ralsinanessita: nope17:35
ralsinabut you can reset the policy in code17:35
alecuralsina, not according to qt designer.17:35
alecuralsina, it's CheckBox17:35
ralsinaalecu: ok, then you win ;-)17:35
jderosethisfred: problem is, they still get created from U1... i get empty "gwibber_preferences" on all my machines, but i can't delete it from U1... and desktopcouch still tries to replicate them over and over17:35
mandel1ralsina, alecu: itsounds like two, but someplaces is written as one, not a big deal anyway :)17:36
dobeythis whole "forcing the default by default" concept is causing us so much trouble in the UI17:36
ralsinahttp://dictionary.reference.com/browse/checkbox17:36
thisfredjderose: I would suggest installing ubuntuone-couch, so you could do some command line checks easily. But that seems to time out pretty consistently for me atm. A fix for the timeouts has been proposed by Michael Terry17:36
mandel1dobey: you mean the size?17:36
dobeymandel1: yes17:36
alecuok guys, I'm off for lunch. See you guys later!17:36
=== alecu is now known as alecu-lunch
thisfredjderose: hmm, that should not be happening. I'll ask the server people17:37
mandel1dobey: what is the problem, the size?17:37
mandel1that is what she said17:37
mandel1hehehe17:37
mandel1I'm stupid ;)17:37
ralsinain principle, it should nt be necessary, the problem is probably on having each page require a different size and things get pushed out17:37
dobeymandel1: haha17:37
ralsinaalecu: if it's not working tonight I will take a look early tomorrow17:37
mandel1dobey: I though you were ready to grab that one, I left it for you in a silver plate :)17:38
dobeymandel1: problem is that if we force the default size to always be that size when the window comes up, it breaks reflow and relayout of widgets if size needs to change due to translations or whatever17:38
ralsinadobey: there is a way to tell the window "tell me what size you want to be"17:38
ralsinabut yes, it's a problem if for example, the user has a small screen and large fonts, say17:39
mandel1dobey: yes, you are 100% right, germans should not use netbooks17:39
ralsinathey probably call them netsturmflugenbookzen, too17:39
mandel1nessita: did you have the time to approbe https://code.launchpad.net/~mandel/ubuntu-sso-client/cannot_start_windows/+merge/5984817:40
nessitamandel1: on it now17:40
mandel1cool17:40
mandel1I need to go, will probably back later to do some extra work17:40
mandel1lovely people, see you later!17:40
mandel1ralsina, see you later17:41
nessitamandel1: now is approved17:41
mandel1hahaha I'm such an ass17:41
faganlater mandel117:41
ralsinabye mandel1, have fun!17:41
mandel1will be back after the gym bye bye17:41
nessitaalecu-lunch: approving17:41
ralsinaAND YES, YOU ARE AN ASS ;-)17:41
dobeymandel1: that's what she said17:41
mandel1hahaha17:42
nessitaok, lunchtime!17:42
faganmandel1 is very nice :D17:42
ralsinaok, I am really going to be off now, as soon as I finish my mumbles... (sigh)17:42
* fagan will be back later 17:42
nessitaalecu-lunch: let me know when you return from lunch to coordinate our work18:06
nessitaralsina: ping?18:27
nessitamandel1: ping?18:29
dobeycan i have 2 reviews for https://code.launchpad.net/~dobey/ubuntuone-client/o-lawd/+merge/62004 please? with it, we should have client nightlies on O finally18:38
thisfreddobey I'll do one if you do one https://code.launchpad.net/~mterry/ubuntuone-couch/longer-timeout/+merge/6199318:40
thisfredor even if you don't ;)18:40
dobeythisfred: did you just overlook his other branch?18:42
thisfreddobey: huh?18:42
thisfredthat was merged right?18:43
dobeyhttps://code.launchpad.net/~mterry/ubuntuone-couch/queries/+merge/6165818:43
thisfredoh yet another18:43
dobeywell it's been up for 5 days :)18:43
dobeyso i guess, yes, you overlooked it :P18:43
thisfreddobey: guess I must have18:43
nessitaalecu-lunch: ping?18:44
thisfreddobey: shouldn't pep8 and python-mocker be dependencies of u1-dev-tools, now that we use them in several projects?19:10
dobeyno19:10
thisfreddobey nm already saw your answer19:11
nessitaalecu-lunch, and someone else: may I have reviews for https://code.launchpad.net/~nataliabidart/ubuntuone-control-panel/shutdown/+merge/6201319:28
=== alecu-lunch is now known as alecu
dobeynessita: https://code.launchpad.net/~dobey/ubuntuone-client/o-lawd/+merge/6200419:29
nessitadobey: you trading? :-D19:29
alecunessita, reviewing19:31
nessitaalecu: danke19:33
dobeynessita: if you're going to default self.close_callback to None in __init__, i think you need to do if close_callback is not None: or something before trying to call it19:33
nessitadobey: absolutely true19:33
* nessita adds test and code19:33
nessitadobey: fixed and pushed to revno 15119:37
nessitadobey: approved19:37
dobeythanks19:38
alecunessita, approved19:40
alecunessita, so: we should start connecting widgets to the backend19:42
nessitaalecu: yes, we should split the code19:43
nessitaalecu: so we can work on parallel19:43
alecunessita, should we split it "by panel" ?19:44
nessitaalecu: by panel and by "source of info", I'd say19:44
nessitafor example, account and services vs folders and preferences19:44
alecunessita, right, webservice vs. syncdaemon.19:45
nessitaalecu: we have no way of connecting to syncdaemon yet, right? nor with our web services?19:45
alecunessita, on linux we should keep using dbus.19:45
alecunessita, for a qt control panel on linux, I mean.19:45
nessitaalecu: dbus only for syncdaemon, you mean?19:46
nessitaso, there is 2 layers we can use19:46
alecunessita, right. Dbus only for syncdaemon.19:46
nessitaalecu: what about this:19:47
nessitaalecu: let's hook up the current QT ui with the current linux backend. We need nothing platform specific there19:47
alecuright19:47
nessitaalecu: the platform problems are when binding the backend with lower layers, we can "ignore" that until tomorrow's  call19:47
nessitaalecu: let's not use dbus between QT and backend, but plain deferreds19:48
nessitaalecu: what part do you prefer/19:48
nessita?19:48
alecunessita, don't understand what you mean by "platform problems"19:48
alecuI agree on using the backend importing the python modules directly.19:49
nessitaalecu: accessing syncdaemon from the backen will be different on linux than in window, same for webservices19:49
nessitathat is what I meant with "platform problems". And I should have said issues :-)19:49
dobeythe "backend" being a separate program on linux has always bothered me anyway19:50
alecuok, cool. I want to work on making the webservice client use qt-net instead of libsoup.19:50
nessitaalecu: so... you will not work on hooking QT with our current linux-only backend?19:50
nessitaalecu: I can take that ("hooking QT with our current linux-only backend")19:51
nessitadobey: I agree, I was planning on fixing that when I have a free Friday. Not sure when in the future though.19:51
alecunessita, cool, go ahead. And please let me know if I can be of help with that.19:51
nessitaalecu: you will read me cursing against QT enough :-P19:52
dobeynessita: do it tomorrow. i hear tomorrow is Friday on Neptune19:52
nessitadobey: we wish19:52
alecunessita, I've just set your -shutdown branch to approved.19:53
nessitaalecu: groxo19:54
dobeyhrmm, nightlies builds are pretty slow right now. "Starts: In 39 minutes..."19:57
alecunessita, have you started with "hooking QT with our current linux-only backend"?20:01
nessitaalecu: yes20:01
nessitawhy?20:01
alecunessita, because I depend on that to start using qt-net on the webclient.20:02
nessitaalecu: why?20:02
nessitalet's not blocked ourselves20:02
nessitaalecu: I will start binding info coming up from syncdaemon, you can do the 2 layers in your branch: bing (eg) account info plus use the qt-net stuff20:03
alecunessita, hmmm. ok.20:03
nessitaalecu: want to suggest something elsE? I'm open to suggestions20:04
alecunessita, not right now, I still need to read some code to have a better idea on how to do this.20:05
nessitaalecu: ok. I will stick to info coming up from syncdaemon, to avoid clashes with your potential work. If you later decide we need to take another route, let me know20:05
alecucool20:07
nessitaralsina: you around?20:55
dobeyWOOH20:57
dobeyubuntuone-client built on O20:57
nessitadobey: congrats!20:58
dobeycool, so most everything built now, and a few things have some errors21:01
nessitais alecu gone?21:25
=== alecu_ is now known as alecu
alecuok, guys and gals, I'm EODing today21:38
nessitaalecu: wait21:38
nessitaalecu: I need to talk to you... did you get my sms?21:38
alecunessita, tell me21:38
alecunessita, no, I didn't. I'm in colonia right now.21:38
nessitaalecu: ah... that's why :-)21:39
alecunessita, that's why I started so much earlier today.21:39
nessitaalecu: no problem, I'll ask tomorrow, have a safe trip back home21:39
alecunessita, because I have to catch the ferry in an hour or so.21:39
alecunessita, but tell me.21:39
nessitaalecu: I'll keep debugging myself, currently I'm not being able to use the ControlBackend from the QT UI since something in the import chain already installs a reactor21:40
nessitaI've narrowed it to from ubuntuone.platform.linux import dbus_interface as sd_dbus_iface21:40
nessitaI'll keep digging, I'll ask for help tomorrow if I couldn't fix it21:40
alecunessita, remember that some part of this is already using glib (for libsoup), and we'll need to get rid of it.21:41
nessitaalecu: right, but that should not require a reactor21:41
nessitaalecu: and neither syncdaemon should install one when using it as a lib21:42
dobeynessita: hrmm, i'm not sure sd_dbus_iface should be imported by things outside syncdaemon21:43
dobeyoh pylint21:44
alecunessita, I think our code should install the qt reactor (and qt dbus mainloop) before importing any of that.21:45
nessitaalecu: maybe, but that smeels21:45
nessitasmells21:45
nessitaif 2 pieces of code are installing a reactor, something is badly designed, I want to understand what and why21:46
nessitaand then maybe look for a workaround21:46
dobeynessita: isn't sd_dbus_iface the dbus server interface of sd?21:46
nessitadobey: yes21:47
dobeynessita: why would cp be importing that?21:47
nessitadobey: to access that service21:47
dobeynessita: in the tests to patch() it?21:47
nessitanopes, production code21:47
alecuok, I really need to run now.21:49
alecusee you guys tomorrow.21:49
nessitaalecu: ok, good luck21:49
dobeynessita: oh, for the DBUS_*_NAME constants?21:49
alecunessita, good luck to you :-)21:49
nessitadobey: yes21:49
nessitadobey: I know.21:49
dobeynessita: ugh, those are so totally in the wrong place21:50
nessitadobey: I know, would you please file a bug affecting both u1client and u1cp?21:50
nessitawe can move them and import them on the same file to not to break API21:51
nessitaactually, I think I need to do that now to avoid this issue of reactor already installed21:51
nessitadobey: would you file the bug for me while I fix this?21:51
dobeycan you file it? i am fixing logilab/pylint on O21:51
nessitadobey: ok21:52
nessitamandel: estás?21:53
mandelnessita:dime :)21:53
nessitamandel: why the heck am I getting a callback for a clicked() signal twice? this is the code:21:53
nessitamandel: http://pastebin.ubuntu.com/612047/21:54
nessitamandel: and I'm not connecting the signal anywhere else21:54
nessitamandel: I'm just using autoconnect21:54
mandelnessita: looking21:57
dobeysigh22:00
mandelnessita: can I see the code of the ui? the xml is enough for me22:01
dobeystupid logilab22:01
czajkowskimandel: you're on late22:01
nessitamandel: sure22:01
mandelczajkowski: well, I'm not working on u1 atm, just doing some 'secret' project hehehe22:02
mandelczajkowski: and now that I have as much time as I want, I take advantage :)22:02
dobeyque ella eso22:02
nessitamandel: http://pastebin.ubuntu.com/612050/22:03
dobeyi guess mandel is getting sleepy22:04
mandeldobey: that is what she said ;)22:04
thisfredhah!22:04
nessitamandel: so, any verdict?22:05
mandelnessita: give me a sec to look at it22:06
nessitamandel: I already gave you 5 secs :-P22:06
mandelnessita: prisas!22:06
mandelnessita: you are just allow to leave in 8 years, so you have to wait ;)22:07
nessitamandel: oh dude, this break up thing has really gotten into you... let me hug you22:08
* fagan hugs mandel 22:08
mandelnessita: hahah I was just joking, I' over it, she recogniced there is another guy, so closure was given and we can moveon with the port :)22:08
dobeylogilab makes me want to punch things22:11
dobey(people qualify as things)22:11
mandelnessita: can you check the args given to the callback?22:11
nessitamandel: yes, is called twice, once without args and once with a boolean22:11
mandelnessita: take a look of when clicked is provided: http://doc.qt.nokia.com/latest/qabstractbutton.html#clicked22:13
nessitamandel: I saw that already, but I don t know what it means, or how to get only one callback called22:13
mandelnessita: ok, lets start with something first, try not to use the autoconnect trick, call change_sync_status_button.clicked.connect(you_call_back)  22:15
nessitamandel: why? we want autoconnect :-)22:15
dobeyalright, i am off22:15
mandelnessita: I wanna see if the callback is registered twice,22:15
dobeygood evening all!22:16
mandelratehr that the button emiting the signal twice22:16
mandelnessita: I fear thatn line 80 in the xml is the reason, but I dont know22:17
nessitamandel: that is the name of the button, isn't it?22:18
mandelnessita: yes, and it tells that the label is the buddy of the button, which might be the problem22:20
nessitamandel: what's a buddy?22:20
mandelnessita: http://doc.qt.nokia.com/4.7/designer-buddy-mode.html22:21
mandelnessita: from the docs: A buddy widget accepts the input focus on behalf of a http://doc.qt.nokia.com/4.7/qlabel.html22:21
mandelare you doing something with the label when you see the problem?22:22
faganmandel: I know a great film for you baseketball :)22:22
* fagan is watching it and thinks it would appeal to mandel's sense of humor22:22
mandelfagan: whatched :)22:22
faganmandel: hah22:23
nessitamandel: I'm not doing anything with the label22:23
mandelfagan: is the one with the lazy-boy sofa, right?22:23
nessitamandel: the callback is called twice every single time I click the button22:23
faganmandel: dont know just started watching it, its from the makers of south park22:24
nessitamandel: using the connect statement I only get one callback called:22:26
nessitaself.ui.change_sync_status_button.clicked.connect(self.a)22:26
mandelnessita: ok, I know the issue :)22:26
mandelnessita: stupid python ;)22:26
nessitamandel: shoot22:26
nessitastupid QT, only a couple of hours with him and is driving me crazy with nonsenses22:27
mandelnessita: http://www.riverbankcomputing.com/pipermail/pyqt/2006-January/012172.html22:27
nessitamandel: so, how can we fix?22:28
mandelnessita: you either do not use autoconnect, or you ignore the one that does not have the bool,22:28
nessita-.-22:29
mandelyes, I know22:29
mandelnessita: I never use autoconnect, but that is because I use an extra class which I call the controller that has the logic22:29
mandelso autoconnect does not know what to do22:29
mandel:P22:29
nessitamandel: ok, next question22:30
nessitamandel: why if I move the qt4reactor install to the bin script the main QT window will not be shown?22:30
mandelnessita: ok, are you creating an instance of QApplication?22:31
thisfredk, girls and boys, I have to walk the dog, bbiab22:31
nessitamandel: yes, when it works the instance is created before installing the rector22:31
mandelnessita: and when it does not work?22:31
nessitamandel: when it does not work, the reactor is being installed before22:31
mandelnessita: oh that is easy, one sec22:32
mandelnessita: one sec22:32
mandelnessita: https://github.com/ghtdak/qtreactor22:33
mandel= Using the Qt4Reactor =22:33
nessitamandel: crap, that makes all the import chain a mees22:33
nessitato be a mess*22:33
mandelnessita: why? what is the issue?22:34
nessitaok, I know what I'll do. Kill myself.22:34
nessitabye cruel workd22:34
nessitaworld22:34
mandelnessita: well, dont worry to much about that, we are moving to the txnamedpipes reactor using the QApplication main loop22:35
nessitamandel: any ideas when we're doing that?22:35
mandelnessita: I was planning to do it tom :P22:35
nessitamandel: ok, let us know22:36
mandelnessita: we can do it together so that you know what is going on, but you can find and example in the sso brach I proposed22:36
mandelnessita: let me find it, one sec22:36
nessitamandel: for the control panel as well?22:36
mandelnessita: not yet, control panel is after sd which I will finish early tom morning22:37
mandelnessita: take a look at the diff: https://code.launchpad.net/~mandel/ubuntu-sso-client/use_txnamedpipes/+merge/6193522:37
mandelnessita: you can even do control panel directly with that, right? why would you use qtreactor and sockets when we can do it with named pipes directly22:38
nessitamandel: becasue that's what we have until today, at least22:38
mandelnessita: true, we have had a race condition22:39
nessitamandel: is that branch missing the txnamedpipes.py file?22:40
mandellp:txnamedpipes22:40
mandelnessita: ^ is not simple coe and we will reuse it everywhere22:40
mandelalso, keeping all the crazy win crap in a separate project makes sense22:41
mandelnessita: I need  review for the Qt integration, you can take a look if you want: https://code.launchpad.net/~mandel/txnamedpipes/add_qt_integration/+merge/6192322:43
nessitamandel: I will, tomorrow. I'm eoding right now22:43
mandelnessita: has qt really killed you spirit ;)22:44
nessitayes22:44
mandelhahah, buenas noches entoces22:44
nessitamandel: good night to you too. Bye all!22:45
mandela222:45
thisfredmandel so we're not gonna use qtreactor? :)23:59
thisfredin that case I won't bother packaging it23:59

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