/srv/irclogs.ubuntu.com/2012/10/16/#ubuntuone.txt

mmccback, looking at those branches now03:41
mmcchad to mess with how the tests were run, but managed to get u1-client tests running on win705:06
mmccwas complaining about not finding comtypes, but 'python' on the command line found it OK05:06
mmccended up running 'python ..\..\bin\u1trial-script.py blah'05:07
mmccplenty of failures05:07
mmccand slow enough to type a running commentary. here come the ActionQueue tests05:07
mmccnever mind, only a small number of failures05:13
mmcctests OK, but still not working IRL for me, cp is not starting ubuntu-sso-login correctly. tracking through to the popen call05:35
mmccoh right, the sync_menu dummy problem is probably killing my syncdaemon05:38
mmccthat's at least part of what's going wrong here05:38
mmccfixed that, and my syncdaemon log shows this error now: http://paste.ubuntu.com/1282529/ -- maybe I don't have the syncdaemon.conf file in the right place?05:44
mmccI'm going to defer this to tomorrow now05:44
JamesTaitGood morning all! :)08:39
mandelalecu, mmcc, ralsina, I have found a very annoying thing in the control panel. we have two different requests to the account info, one in the account tab and a diff one in the main controlpanel widget (controlpanel.py) I think we should have a single one10:09
ralsinamandel: yes, that was mentioned yesterday, that we have two calls to most things on startup10:10
ralsinamandel: so yes, if you see it easy to clean, go ahead10:10
mandelralsina, yes, and that makes it slower, the interesting thing is that if we have a single one we will be able to at least update the data (name and usage) in the main widget when we update the accounts tab10:11
mandelralsina, and if that is made a looping call even better10:11
ralsinamandel: looping call is better10:11
mandelralsina, yes, that will mean that the tab and the top bar will be update all the time, but that should be a diff bug10:12
ralsinabut we must make sure it doesn't block. And then the accounts tab doesn't need to block at all either10:12
ralsinaso that tab becomes "fast"10:12
mandelralsina, exactly, account info tab does not longer need to do a request every time, just when really needed10:12
mandelI mean, is not longer needed10:12
mandelralsina, but that is a diff bug which I can also fix10:13
mandelin a diff branch better :)10:13
mandelralsina, I have noticed that we are using our widgets wit the qtdesigner generated file, how is that done with the ubuntuone-control-panel?10:55
ralsinamandel: I don't understand the question10:59
mandelralsina, you know when you create custom PyQT widgets and later used them in the qtdesigner, well, I forgot how to do that..10:59
ralsinaoh11:00
ralsinaok, right click on the widget, then "promote"11:00
ralsinalet me rephrase11:00
ralsinayou put a placeholder widget, then you right click and promote it. But are you doing a custom widget?11:00
mandelralsina, yes, a want to add a custom tabwidget so that it control the overlays of the inner widgets correctly11:02
mandelralsina, are you suer is with promote?11:02
ralsinamandel: totally sure11:02
mandelralsina, I mean, it needs the imports etc.. from the python code11:02
ralsinamandel: yes11:02
ralsinamandel: look at how it's done where we are using it :-)11:02
ralsinayou can tell it the "include file" which is really an import11:02
mandelralsina, oh, ok then11:03
ralsinamandel: but you probably don't need one, really11:03
ralsinamandel: can you talk this with gatox when he starts?11:04
mandelralsina, sure, but I think we need one to do things properly11:04
mandelralsina, we have a lot of overlays that are doing things in the wrong way..11:05
ralsinamandel: yes, but properly means many things :-)11:05
ralsinamandel: for an example on how it's done, check mainwindow.ui11:05
ralsinamandel: keep in mind that the overlay of a tab should not block the tab widget, just the contents of the tab11:05
ralsinawhich is why currently all tabs inherit from something that has the overlay11:05
mandelralsina, yes, that is what I'm doing, but I want to be able to do the following: tab_widget.show_overlay = false and doe the right thing, I of course can do the same (loop over the tabs and don't show the overlay) but that means that the controlpanel.py code is doing more than it should11:06
mandelralsina, ideally the tabwidget should deal with that, not the controlpanel code11:07
gatoxgood morning!11:25
mandelgatox, ralsina: fix => lp:~mandel/ubuntuone-control-panel/double-gathering can you try it on a mac or a windows machine to see how it works?11:34
gatoxmandel, checking on windows11:35
mandelralsina, gatox, I also fixed the bug in which the overlay is removed before we have the username in the label, is there a bug number for that?11:37
mandelit really really got me annoyed :P11:38
gatoxmandel, no that i am aware of11:38
mandeljoshuahoover, rye ^11:38
gatoxmandel, do you want me to run the tests or execute control panel with your branch?11:39
mandelgatox, just run control panel with it11:39
mandelgatox, the following should happen, you just see on overlay, as soon as the user account info is there you can switch the tabs and you will see the correct overlay per tab11:39
ryemandel: hm, i don't think I've seen a bug for that, it used to be this way from the beginning and (i guess) nobody thought that was a bug11:40
mandelrye, hehe I'll make one then :)11:41
mandelralsina, gatox, we should not show the overlay if we got the result very fast from the backend, I find it very annoying to see it for a nanosecond11:43
mandelgatox, does it work?11:47
gatoxmandel, i'm seeing the single overlay..... but for some reason i'm not getting the info to show.... so the overlay never goes away.... but the same is happening in trunk for me on windows11:48
mandelgatox, hum.. that is annoying..11:48
gatoxmandel, but is working for you?11:48
mandelgatox, on mac does work11:48
mandelralsina, gatox, alecu, I have a very simple way to fix the issue with the acocunt info being outdated12:01
mandelwaht about to connect to the upload done and then ask for the account info then?12:01
mandelis not a looping call so you will be as close as the truth as possible without using to many resources or adding anything to sd12:02
alecumandel: sounds like half of the perfect solution12:12
alecumandel: what if another computer is doing the uploads?12:12
alecumandel: or a phone12:12
mandelalecu, true, we would have an issue there12:12
mandelalecu, although, we can also connect to the downloads ;)12:13
alecumandel: right :-)12:13
alecumandel: anyway, we should only call this operation say, a maximum of once per minute.12:13
mandelalecu, then you have nearly a perfect solution with a small development investment12:13
mandelalecu, agreed, we have to have an upperbound of some kind12:14
alecumandel: so, if too many uploads and downloads are happening at the same time, the quota webapi is only called once per minute still.12:14
mandelalecu, ues, makes perfect sense, else with 1000000 small files you are performing a dos attack to the rest api12:15
alecumandel: also, we should split the "quota call" and "account call" at the control panel backend level.12:15
mandelalecu, 100% agree, that delay in the username stuff is probably due to that quota info12:15
alecumandel: anyway, we would be performing a smaller scale DDOS on our api, if we call it once per minute from every connected computer :-)12:15
alecumandel: no, I've checked it yesterday, and the quota is the fastest part.12:16
mandelalecu, really? weird!12:16
alecumandel: here's the timing on a sample control panel startup:12:16
alecuaccount call: 1.940618991851806612:17
alecuaccount call: 2.448563098907470712:17
alecuquota call: 0.2843420505523681612:17
alecuquota call: 0.315200090408325212:17
mandelalecu, I think that is why I dont like the looping call, connecting to upload and download should be ok if we make an uper bound, similar to what we do with the notifications, right?12:17
mandelwow, the account call is very slow!12:17
alecumandel: it's probably touching a lot of db tables12:17
alecumandel: also, we are calling each api twice on every u1cp startup.12:17
alecumandel: luckily, both account calls are done at the same time.12:18
alecudon't know if it's good or bad luck, though :-)12:18
mandelalecu, yes, no problem for that, I have a fix :)12:18
mandelalecu, let the account tab do the call and tell the controlpanel it got the data12:19
mandelalecu, which also means we could update the usage every time the user opens the account tab12:19
alecumandel: yes... but I don't like that as much :)12:19
mandelalecu, is not nice, I know, else we can do the opposite, let the contorl panel tell the tab it got the info12:20
mandelalecu, but I don't see how bad is the first idea...12:20
alecumandel: no, I meant I don't like: "we could update the usage every time the user opens the account tab"12:21
mandelalecu, oh, well, we are already doing the request, we might as well use the data everywhere, right?12:22
alecumandel: oh, so it won't be exclusive to that! you mean, we use the info there, and we use the info after downloads and uploads too.12:23
mandelalecu, yes12:23
mandelalecu, is to improve the smartness at boot time, not to fix the other problem :)12:23
mandelralsina, gatox, can you review: https://code.launchpad.net/~mandel/ubuntuone-control-panel/double-gathering/+merge/129871 it fixes the double overlay problem and a other small bug12:45
gatoxmandel, ack12:46
mandelgatox, I preferred to create a new widget rather than adding more logic to the controlpanel.py12:47
ralsinamandel: looking12:53
mandelgatox, ralsina, I'm also going to reduce the number of calls we do to the account info which is a simple fix and might make the app faster on mac os x and windows12:53
ralsinamandel: right, it's just deleting stuff and getting from the parent12:54
mandelralsina, kinda :)12:54
mandelralsina, also, read the backlog, maybe connecting to download and upload to update the quota info is a better idea12:55
mandelralsina, less development and will get good enough results12:55
mandelok, off to have lunch12:56
=== mandel is now known as mandel|lunch
gatoxmandel|lunch, +112:59
ralsinaofficially good morning!13:07
gatoxralsina, officially hi13:07
ralsinamandel|lunch: in lines 53+ of the diff, you are setting "is_processing" which sets the overlay, *after* you do the API request, so while the request is done, the UI looks unblocked, is that intentional? Why are we bloking there for?13:13
gatoxralsina, dobey i've fixed the qthread problem..... if you can, please take a look at: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/u1-cp-qthread/+merge/12972213:13
ralsinagatox: sure!13:14
gatoxralsina, thx13:14
ralsinagatox: oh, so, basically not use a thread in the tests?13:15
ralsinagatox: doesn't that make the test cover less?13:15
gatoxralsina, we are using the qthread..... but running run directly instead of start().... so it doesn't run as a thread, but like a normal function call...... to avoid the race condition13:16
ralsinagatox: yes, right, so we block on it13:17
ralsinagatox: so, I am just wondering if we are leaving something untested13:17
ralsinagatox: but I guess for what this tests, it's ok13:17
gatoxralsina, yes, but only for the tests...... because to test that the info is being generated correctly.... we need to wait until the info is processed13:17
alecuralsina, gatox: we are using the qtreactor to run these tests on linux, right?13:18
dobeyalecu: yes13:18
gatoxalecu, yes.13:18
alecugatox: perhaps we should be using python's thread instead of qt? to be compatible with the reactor, I mean.13:19
ralsinaalecu: the thing is, the test has to wait for the thread anyway13:19
gatoxalecu, i'm using qthread to be able to emit a signal13:19
dobeyalecu: control-panel doesn't use twisted on linux though, i don't think?13:20
dobeyalecu: the only reason we're using twisted in the tests on linux, is because it's the test runner we have to work with13:20
dobeyof course, we'd still have this issue on win/osx13:21
alecudobey: right.13:21
gatoxdobey, which issue? (this fixes the problem in win and osx too)13:21
dobeygatox: the issue of the problem that using qthread was meant to solve13:21
gatoxah13:22
ralsinaI think gatox solution is good, but we could think of a way to do this without threads. It just seemed simpler at the time.13:22
dobeyand thus, having to wait on a thread in the tests13:22
ralsinagatox: why not start the thread and just join() it?13:22
dobeyand using threads and twisted together can get complicated13:23
gatoxralsina, i wanted to avoid the threading part for the tests.... but if you think is best13:23
alecudobey: why is it different when using twisted? threads get complicated anyways13:24
ralsinagatox: well... I am +0 there really13:24
ralsinagatox: but running it in a thread means we can't do things in the function that don't work on threads :-)13:24
dobeyalecu: using pure python threads with twisted is a bit more complicated than say, using twisted's deferreds/callLater/etc stuff13:24
ralsinagatox: and that if we do, it will crash the test13:24
dobeyalecu: we ran into some issues early on with twisted+glib+dbus+threads (don't remember if you were here for that or not)13:25
ralsinagatox: let me think it 5' and I'll have an opinion :-)13:25
gatoxralsina, i can wait() (qt way) for it if you want..... no problem13:26
gatoxjust a couple of lines more13:26
dobeyalso, trial at least doesn't make testing things that use threads easy, outside of twisted's deferreds/callLater/etc stuff13:26
alecudobey: yes, I saw some of those. iirc, they were related to the static gnome keyring bindings.13:26
ralsinaI vaguely remember thread-related crashes in the gtk preferences thing at some point?13:27
dobeyalecu: no, this was before that13:28
dobeyralsina: that was a different issue, if there were any such crashes13:28
gatoxralsina, do you want me to change it to wait() or do you want to think about it?13:28
ralsinagatox: think13:28
gatoxack13:28
ralsinaok, mgmt call coming, gatox +113:29
dobeythe issues i'm talking about, i think were at a point when we were even using plain twisted reactor, and not even the glib reactor13:29
gatoxralsina, +1 to what?.....13:29
* gatox is confused13:29
ralsinagatox: your branch :-)13:29
gatoxralsina, ahhhh... i thought you were going to request a change maybe13:29
ralsinagatox: I was thinking about asking for one, but then I stopped :-)13:30
gatoxok, so i only need dobey approval now13:30
gatoxneed to restart...... unity crashed badly..... brb13:32
=== yofel_ is now known as yofel
=== m_conley_away is now known as m_conley
gatoxdobey, it fails again!13:44
gatoxok..... this just doesn't make any sense......13:45
chaselivingstonping mmcc: can you ping me when you login for the day?13:45
dobeygatox: makes perfect sense to me13:46
gatoxdobey, why? explain to me please13:46
dobeygatox: it seems like the start() call is being called before everything is fully initialized; probably some yields need to be added or removed13:49
grammoboyhi, iam uploading a 3.8 gb file13:50
grammoboyloading please wait ..13:51
grammoboyany chance it will succeed?13:51
gatoxdobey, mmmmm.. yes..... it seems that _get_volumes_info is being executed..... and it shouldn't...... that is being patched before creating the instance..... but.... why this doesn't fail here? i can't understand how to reproduce it13:51
dobeygrammoboy: it will eventually succeed; might take quite a while though13:52
grammoboyk13:52
dobeygatox: i have no idea why it's not failing outside of tarmac13:52
gatoxdobey, mmmm i think i have an idea13:53
gatoxlet me try something13:54
=== mandel|lunch is now known as mandel
mandelralsina, line 53?14:05
mandelralsina, you mean this =>  self.is_processing = False14:05
mandel59+        self.ui.tab_widget.show_overlay = True14:05
mandelralsina, is being set to false, which removes the overlay, and that is because loading the data takes some nano seconds and is a little annoying14:06
=== gatox_ is now known as gatox
gatoxdobey, i'm pretty sure i've just fix the thing..... if i'm wrong, i'll buy you a beer! jeje https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/u1-cp-qthread/+merge/12972214:23
dobeyhttps://code.launchpad.net/~dobey/ubuntuone-client/grrrr-gir-4-0/+merge/129904 could use a couple reviews14:28
dobeyhrmm, we need to fix the tests to not use so much memory in u1-client14:28
gatoxdobey, reviewing14:30
mandeldobey, will review asap14:31
gatoxdobey, your branch has some conflicts with trunk14:35
gatoxdobey, ahhhhh sorry14:36
gatoxstable14:36
gatoxdobey, +114:48
alecuhey all, I'm missing the standup: thanks to a friend's wife that's a heart doctor I just got an out of schedule appointment for an extra checkup I need before my vacations.14:49
alecuso, I'll be back in a few hours.14:49
alecuralsina, gatox ^14:49
mandelalecu, much better than if he is a gynecologist :)14:51
gatoxalecu, ack ack!14:51
dobeygatox: hey, your branch merged14:52
gatoxdobey, \o/ i don't have to buy you a beer! jejeeee14:52
gatoxfinally.....14:53
dobeyfixing pyflakes is hard :-/14:54
mandelralsina, alecu, gatox, we seem to call account_info from several places, I think the best is to do what alecu already mentioned, split the call between quota and account info14:55
gatoxdobey, i know....14:55
gatoxbeen there14:55
gatoxmandel, sounds reasonable14:55
mandelgatox, never ever tell people you like coldplay..14:59
gatoxmandel, why?15:00
gatoxmandel, it's a good band!15:00
dobeyme15:00
thisfredme15:00
mandelgatox, told you over twitter :)15:00
mandelme15:00
briancurtinme15:00
gatoxme15:00
mmccme15:00
ralsinago ahead, am on the phone15:03
dobeyDONE: catch up, bug #1066943 (trunk, 4-0), partial fix for false positive redefinition of unused import in pyflakes15:03
ubot5Launchpad bug 1066943 in ubuntuone-client (Ubuntu Quantal) "CredentialsError starting UbuntuOne for Ubuntu 12.04" [Medium,In progress] https://launchpad.net/bugs/106694315:03
dobeyTODO: bug triage, fix bugs, move off pylint, investigate packaging u1db-client/u1db-serve scripts15:03
dobeyBLCK: None.15:03
dobeythisfred: go15:03
thisfredDONE: plan u1db handover/wrap (not much) TODO: u1db handover/wrap BLOCKED: no NEXT: mandel15:03
mandelDONE: Booked flight to CPH. Fixed bug 1065513 bug 1067329 bug Look at why we all sooo many times account_info15:03
mandelTODO: Fix some code in the unity branch I proposed to be merged. Do paper work on canonical admin15:03
mandelBLOCKED: no15:03
mandelbriancurtin, please15:03
ubot5Launchpad bug 1065513 in Ubuntu One Control Panel "Double gathering info screen " [Medium,In progress] https://launchpad.net/bugs/106551315:03
ubot5Launchpad bug 1067329 in Ubuntu One Control Panel "Username is not shown once the loading overlay is removed" [Low,In progress] https://launchpad.net/bugs/106732915:03
briancurtinDONE: rebuilt the jenkins setup on ec2-windows so now everything is operational. started hacking up a plan to remove windows batch files from everywhere in favor of python scripts. pushed two stupid fixes i forgot about.15:03
briancurtinTODO: reviews, installer, figure out why client tests are failing on my machine but not jenkins15:03
briancurtinNEXT: gatox15:03
gatoxDONE:15:04
gatoxFinally figure it out what was the problem with the qthread bouncing branch and fixed... AND MERGE! Couple of reviews.15:04
gatoxTODO:15:04
gatoxKeep fixing u1-cp related issues.15:04
gatoxBLOCKED:15:04
gatoxNo15:04
gatoxmmcc, go15:04
mmccDONE: more pyobjc menu, review path stuff, bug fix in sync_menu15:04
mmccTODO: more pyobjc menu, your reviews15:04
mmccBLOCK: no15:04
mmcccomments? EOM? bueller?15:05
ralsinaEOM15:09
ralsinasorry guys I am so intermittent, but... busy.15:09
dobeytime for lunch break15:11
dobeybbiab15:11
* gatox lunch!15:19
=== gatox is now known as gatox_lunch
mmccdoes anyone have a link to a picture or video of how the sync menu looks on ubuntu (not the systray.py Qt one, but the one we don't own that will actually get used)15:31
ralsinammcc: gatox_lunch does15:35
ralsinammcc: I must have it somewhere, but not a recent one15:35
mmccralsina: I figured, but didn't' ping him 'cause you know, lunch :) it's not super urgent. do you remember if it draws progress bars for the uploads?15:35
ralsinammcc: it does, yes15:37
ralsinammcc: and really ugy ones (they have the length of the text)15:38
mmccralsina hm. well, I guess I'd have to see that since the ones I'm drawing have the same length as the text too…15:40
ralsinammcc: hey, ugly yet portable ;-)15:43
mmccok, I was testing with filenames all the same length. the prog bars don't shrink to match the text, so the bars are always a certain size… need to test the corner cases here15:45
mmccralsina: here's what the cocoa sync menu looks like now: http://ubuntuone.com/2LEI6YG79vXCxhhWrhDIbq15:47
ralsinathat looks good15:49
mmccyeah, not bad - I'd like the progress bars to be less visually heavy. It'd be nice if the rows were the same size as the recent transfer rows15:51
mmccsame height15:51
ralsinammcc: yes, but... 1stworldproblems15:54
ralsinait's about 10px taller, but there is a whole progressbar there... is the bar height tweakable?15:55
ralsinammcc: you could go for the skinny-bar look like safari scrollbars. Also, a less shiny color15:56
ralsinammcc: but I have no idea of platform expectations there15:57
mmccsorry, afk for a sec15:57
mmccralsina: the bar height is tweak able a bit, but it's set at the smallest that interface builder lets you set. I think maybe I can squeeze it more in code though15:58
mmccalso I need to check the color, since half the time I try it it's a disabled grey color15:58
ralsinammcc: ack16:01
mandelok, EOD for me catch you tom!16:16
karnibye mandel16:25
briancurtinmmcc: https://code.launchpad.net/~mikemc/ubuntuone-control-panel/remote-folders-fix/+merge/126037 is now confliced on trunk (because you had to wait so long for my review, sorry)16:29
ralsinaelopio: lunchtlunchtime!16:30
mmccbrb. briancurtin yes, I knew that'd happen. I'll fix it16:31
dobeyhmm16:33
dobeydoes anyone know anything about _ast?16:33
=== gatox_lunch is now known as gatox
gatoxmmcc, ralsina do you still need the video?16:35
elopioralsina: ¡buen provecho!16:35
mmccgatox: sure if it's just a link16:36
gatoxmmcc, yes......16:36
mmccbriancurtin: that reminds me, I tried to review your bin-finding branches last night but ran into some problems launching syncdaemon. did you happen to see what I said in the scroll back?16:40
mmccbriancurtin: I think it might be related to not finding the right conf files when running from source? here's the SD trace back: http://paste.ubuntu.com/1282529/16:40
briancurtinmmcc: i didnt get anything. i just close my IRC when im done16:41
mmccoh one of those16:41
gatoxmmcc, this one? http://youtu.be/qOmaBCayQAo16:41
mmccbriancurtin: here's what I wrote last night, not too much more enlightening, but: http://paste.ubuntu.com/1283397/16:43
mmccgatox: yep, that's good - thanks!16:44
* mmcc goes to see what happens with a super long file name on my code16:44
briancurtinmmcc: on the comtypes problem, setting up a proper buildout requires some manual intervention because of the [windows] section doesnt play nicely with the rest. im hopefully done fiddling with buildout for the rest of my life, and the manual step is pretty easy (just add the comtypes path to sys.path in python-script.py)16:45
briancurtinmmcc: any of those u1trial-script.py and python-script.py files are out of whack on windows depending on what buildout commands you run. i just insert whatever ends up missing when i run16:46
mmccbriancurtin: hmm. in my buildout, comtypes is just in the eggs/ directory as you'd expect, and 'import comtypes' works when I run 'python' or 'python.exe'16:46
mmccjust u1trial doesn't seem to have it for some reason16:46
briancurtinexactly16:47
mmccright16:47
briancurtinthats part of what was confusing me for so long because i could import comtypes (thanks to python-script.py) but running the tests would fail (thanks to u1trial-script.py)16:47
mmccaha. let's see if I can stare at the buildout cfg and suss this16:47
mmccif you feel me pull the air hose, PULL ME UP16:48
briancurtini wouldnt spend too much time on it. it's already nicer than it used to be, and you only need to do those manual steps when setting up the first time of an env (which isn't often)16:48
mmccI know what's up - comtypes is only in the 'windows' section, which builds its own interpreter, so that's why python sees comtypes. all the other sections that build a script only have development:eggs in their eggs dependency16:50
mmccI think we just need to add comtypes to the development eggs16:50
mmcctesting…16:50
briancurtinmmcc: it might work because comtypes is just pure python, but it depends on pywin32 so if it ever comes up that it tries to import it, it'll fail there16:53
briancurtinim pretty sure thats why we have the split. we used to just have it in development but commented out for non-windows16:54
mmccyeah, it solves the problem on windows but if I try to do it on darwin, it has some problems installing comtypes16:55
mmccbut just this: "error: comtypes\__init__.py: No such file or directory" -- weird16:55
mmccyeah, easy_install horks on comtypes for some reason16:57
ralsinammcc: we may have to do an egg and install from there16:58
mmccok, so the manual fix is either edit your u1trial / u1lint / pyflakes and pylint scripts or edit buildout.cfg on windows to add comtypes to the development section :\16:58
briancurtinmmcc: i'd rather just leave it as-is and do the minimal edit to get it going. it's not too bad, just tricky until we've now gone through it16:59
briancurtinnext time i complain about comtypes not importing, it *should* take 2 seconds to realize16:59
ralsinaput it in the README I guess16:59
mmccbriancurtin: yeah. FWIW, I think the minimal edit is editing buildout.cfg -- one script vs four16:59
briancurtinmmcc: but doesnt it screw *you* up on mac if it goes in development? it'll work for me17:00
mmccbriancurtin: it does screw me up, yes. but as long as you're hand-editing files to hack it to work, hand-editing buildout.cfg and re-generating the other four scripts seems easier17:02
mmccI know, let's write a script to generate buildout.cfg based on the platform!17:03
mmccbonus points if it uses autotools17:03
ralsinammcc: wellllllll17:03
briancurtinralsina: 1-1? irc or mumble?17:04
ralsinabriancurtin: in 5' please, I am finishing another call17:04
briancurtinnp17:04
mmccyou know, when I was reading up on buildout, I was wondering why they didn't just use makefiles. I decided it made sense but argh, half-assed dependency and substitution rules17:04
ralsinammcc, briancurtin: the solution to all problems http://davidjb.com/blog/tag/buildout17:08
ralsinausing mr.scripty you can use conditionals inside buildout.cfg :-)17:08
mmccwhat a great hack17:09
ralsinaexamples here https://github.com/collective/mr.scripty/tree/master/mr/scripty17:09
ralsinait's deeply evil17:10
mmccyep, just add dots to get around blind ini parser. :D17:10
mmccnot sure this helps us with the present problem though :\17:11
ralsinammcc: yes, you can change the egg list when the platform changes17:11
ralsinammcc: so you only add comtypes on windows17:11
mmccralsina: aha! I didn't know they exposed the buildout section objects to those script tags. I'd only seen them used as code to be inserted into a generated executable17:13
ralsinaof course this means we would have to install mr.scripty manually before running our buildout, which is more work that just installing comtypes manually in windows ;-)17:13
mmccdoes it? buildout can find mr.scripty if it's in a few well known places17:14
ralsinain any case, it was just an idea :-)17:15
mmccyeah, that totally works. it found mr.scripty17:16
ralsinateam, go read your email now ;-)17:16
mmccralsina: ALL OF IT? ohgodno17:16
ralsinano, just the one from the big boss17:17
ralsinammcc, dobey; get tickets17:27
ralsinagatox: you too if you read this :-)17:28
gatoxralsina, what?17:28
ralsinagatox: sprint tickets17:28
gatoxralsina, ahhhh..... reading17:28
dobeyhmm17:31
* mmcc reaches for hipmunk.com…17:40
briancurtinmmcc: back to your comment on the branches - with current trunk (now including your sync menu fixes) and my two bin-finding branches to SSO and U1C, everything works. i'm looking into why you might not have that conf file. have you ran the tests on the branches? i believe setup may move that file into the right spot IIRC?17:41
mmccsetup… hmmm. setup sounds like a good idea17:42
ralsinammcc: never tried hipmunk.com "sort by agony" looks interesting!17:44
mmccralsina: it's very accurate. I've never disagreed with their agony sortings. although I was always searching with other people's money, so maybe my agony weights would change…17:44
mmccbriancurtin - no setup for u1-client, but run-tests.bat copies the conf files into data/… I'm not totally sure that's what is going on though17:45
ralsinammcc: IIRC, the files are copied by "setup.py prepare"17:48
ralsinammcc: as well as by run-tests17:49
mmccralsina: u1-client has no setup.py17:49
mmcchrm, it looks like it's just not seeing logging.conf17:51
ralsinammcc: the one from -installer does it17:53
mmccwell good news, running ubuntuone-syndaemon directly seems to work :\17:53
ralsinammcc: usually, to run from sources, we have to copy that by hand17:54
mmccralsina: copy it to where?17:54
ralsinammcc: into data17:54
mmccwell, I have a copy in ubuntuone-client/data/logging.conf. I think run-tests.bat put it there, it has that command17:54
ralsinawindows/clientdefs.py has to be copied into ubuntuone and windows/logging.conf has to be copied to data17:55
mmccyes, run-tests.bat does both of those17:55
dobey_ast is hard.17:57
ralsinadobey: you said that yesterday. So, still hard? ;-)18:15
dobeythe documentation doesn't really tell you how to get the information you want out of the api18:16
dobeyand the api itself is not obvious18:16
gatoxdobey, if you need help with ast let me know.... i've playing A LOT with that, pyflakes, etc18:16
dobeyand i think pyflakes is doing some stuff fairly wrong, so it's not a great example, and it doesn't show me how to do what i want to do, since it's not already doing it18:16
gatoxand yes.... the doc is awful18:17
dobeygatox: of course i need help :)18:17
dobeyi also need a resurrection ship that has a continuous supply of bodies to encapsulate my consciousness into18:17
gatoxdobey, ejejejeje18:20
mmccdobey: beware, after a few copies the clones get messy18:20
dobeymmcc: no more than 3 active at once. keeps it nice and sane18:21
dobeyoh i guess mandel didn't review my branch18:22
dobeymmcc: want to take a poke at it? :) https://code.launchpad.net/~dobey/ubuntuone-client/grrrr-gir-4-0/+merge/12990418:22
mmccdobey: since it might be obscure-ish, I'm thinking of "MOON", which is pretty good: http://www.imdb.com/title/tt1182345/18:22
mmccdobey: sure I will poke away18:22
dobeymmcc: that is a great film18:23
mmcca good soundtrack for working too, if you can work with anxiety and creeping dread18:24
dobeyhow can you work without it?18:25
ralsinaI thought of http://www.imdb.com/title/tt0117108/ which is a very not great film18:26
mmccdobey: just avoid twisted, cross-language bridges, and under-documented macro languages. Zero dread!18:26
mmccralsina: come on, that's classic michael keaton! Pride of Pittsburgh!18:27
dobeylawl18:28
briancurtinhahah18:28
ralsinaHey, Michael keaton was great in ... that one with Jennifer Lopez and George Clooney? ;-)18:29
dobeyralsina: Batman?18:29
ralsinadobey: no, different batman18:30
ralsina;-)18:30
dobeyheh18:32
dobeyMr. Mom18:32
dobeyalright, need to run for a few, brb18:33
mmcc_briancurtin: when you run from source on windows and it works, are you still doing the thing with three separate console windows?18:50
=== mmcc_ is now known as mmcc
ralsinaSo, the new team has a Mike, a Michael and a Michal18:55
ralsinaInteresting phone calls ahead.18:55
gatoxjeje18:56
chaselivingstonralsina: just call everyone by their irc name :)18:56
ralsinaI also have a call with Roberto Roberta and Robert. Life is evil.18:58
briancurtinmmcc: i can do it that way, but in order to test all this stuff i've been just starting U1CP and letting it do its thing19:02
=== mmcc_ is now known as mmcc
mmccbriancurtin: interesting. do you have a logging.conf in ubuntuone-control-panel/data by any chance?19:03
briancurtinmmcc: i do not. i'll try to find where that lives19:05
mmccbriancurtin: it should live in ubuntuone-client/data after run-tests puts it there19:05
gatoxalecu, ping19:06
briancurtinmmcc: ah, i do have a ubuntuone-client/logging.conf but not control-panel19:06
mmccbut syncdaemon/config.py looks for it in a relative directory so when I run u1-cp from the cp directory, it will find syncdaemon.conf but not logging.conf19:06
mmccthis is why I can run syncdaemon from the u1-client dir but not from the u1-cp dir19:06
mmcchowever, I don't know why it's working for you :)19:06
mmcclook at get_config_files in ubuntuone/syncdaemon/config.py - it gets the path to syncdaemon.conf relative to __file__ but does not do the same for logging.conf19:07
dobeydamn19:08
dobeythis is not the fun-dip i remember19:08
mmccbriancurtin: I think we must be launching cp differently somehow. if I change get_config_files to look for  __file__/../../data/logging.conf, everything works great19:10
briancurtinmmcc: where are you launching CP from? the CP top level dir of the checkout or within bin?19:10
mmccbriancurtin: I'm launching from the CP top level, with 'python bin\ubuntuone-control-panel-qt'19:11
mmccbriancurtin: where are *you* launching from?19:11
briancurtinsame19:11
mmccbut… but…19:12
briancurtinmmcc: and PYTHONPATH=..\ubuntu-sso-client;..\ubuntuone-client;.19:12
mmccbriancurtin: yeah, me too19:12
mmccO WAIT I KNOW. you've actually installed this thing on your system so you are probably getting logging.conf from the installed location19:13
karniralsina: haha. Feel free to call me karni :) That makes one Mike/Michael/Michal less.19:13
briancurtinmmcc: ah, correct19:13
mmccbriancurtin: so, this is probably still a bug. I'll look at the logs to see if there's a good reason for it, but it should really run without being installed first. *whew*19:14
mmccgood news is I already know how to fix it19:14
briancurtinnice19:15
dobeyhmm, i sense i may run into a problem having this much fun dip in such a close proximity to myself, and my equipment19:19
dobeygatox: do you know how to get more info from ExceptHandler in _ast? or also the full info for Import and ImportFrom?19:20
gatoxdobey, what do you mean with the whole info from import..... for example if you have: import bla.bla.foo..... or from bla.bla import foo....... get: "bla.bla.foo"?19:21
dobeygatox: i mean, for example, 'import foo as bar' to always be able to directly point at a variable that contains the foo, and another that contains the bar (and similar for from imports)19:22
gatoxdobey, i think i undeerstand..... let me create an example and i'll show you19:23
gatoxdobey, i'll take me a couple of mins19:23
dobeyfor example, pyflakes currently treats "import foo as bar, baz as bar" and "try: import bar except: bar = None" as the same error, when they aren't the same thing at all19:23
dobeysure, thanks19:24
gatoxdobey, let me know if this is what you need or i can keep improving this: http://paste.ubuntu.com/1283735/19:38
gatoxdobey, if that isn't what you need... i'll need an example to understand better the problem please19:39
dobeyhmm19:40
gatoxnop?19:40
dobeywell there are a couple problems. while trying to fix the annoying for us, i found a few more weird corner cases where it's wrong19:40
dobeygatox: do you know anything about TryExec/ExceptHandler also?19:42
gatoxdobey, never play with that specific part.... but if you explain me what you need, i can take a look... most of ast is the same, with just a few different attributes and how they combine19:43
dobeygatox: well, i was just thinking that try/except ImportError needs to be special cased for the "redefinition of unused 'foo'" errors we keep hitting19:44
gatoxdobey, and you want to detect if we are importing the same thing inside a try/except code..... i can do that..... the problem is..... that i'll give you some ast way to figure it out..... but pyflakes has some crazy structures, so i don't know how difficult will be to integrate that into pyflakes19:45
dobeypyflakes is rather simple really. it's just that the ast structures are crazy19:46
dobeyis ast different from _ast btw?19:46
gatoxdobey, _ast is a more low level module..... i only use it to compare some data type in one particular case returned by ast.... but you can do almost anything with just ast (more high level module)19:47
dobeyah, pyflakes seems to mostly use _ast19:48
dobeymaybe making things harder than it should be19:48
gatoxdobey, i can code something to try to detect name collision or not inside try/except and send that to you.... play with ast is actually really fun for me :D19:48
dobeyok19:48
gatoxdobey, ok.... i'll work on that and let you know when i have something to see if that is what you need19:49
ralsinadobey, gatox: according to the docs, _ast is not meant to be used directly :-(19:50
dobeygatox: if i just knew how to get at the exception type that's being trapped with "except ImportError" for example, i could probably figure out the rest19:50
ralsinaall its API is private19:50
gatoxdobey, yes.... that's not difficult19:50
gatoxralsina, yes.... that's way i use always ast.... and i only needed _ast one time in the past for somethign reallyyyyyyyy particular19:51
dobeyralsina: lol "private" :)19:51
ralsinadobey: well, it's ... discreet? slightly embarrasing? ;-)19:54
dobeyi still wonder how contributions to pyflakes are actually supposed to work, in terms of process19:54
dobeyoh, "ast" was added in 2.6; and pyflakes probably still works on 2.519:58
dobeybut _ast just has the various Node classes anyway it seems19:59
gatoxdobey, almost have it..... just a couple of mins20:14
ralsinagotta go pick up the kid!20:24
gatoxdobey, take a look at this and let me know if it's helpful: http://paste.ubuntu.com/1283850/20:33
dobeyhrmm20:40
briancurtinanyone besides mmcc around for a quick review? https://code.launchpad.net/~brian.curtin/ubuntu-sso-client/correct-subprocess-args/+merge/129442 its mostly the same as another branch that a few of you reviewed for u1client20:40
gatoxdobey, nop?20:42
=== chaseliv` is now known as chaselivingston
dobeygatox: not exactly, but i figured out what i need in pyflakes20:45
dobeygatox: so a few lines helped :)20:45
gatoxdobey, good..... so, can i eod? :P20:45
gatoxor do you need anything else?20:45
dobeyyou can eod. if i need more help at this point it will have to happen tomorrow anyway :)20:46
gatoxdobey, ok...... see you tomorrow!20:47
gatoxeod here...... bye people!20:47
briancurtinthanks dobey20:49
dobeysure20:52
=== chaselivingston_ is now known as chaselivingston
dobeyin other news21:13
dobeyHOORAY21:13
briancurtinast or fun-dip related?21:14
dobeyboth?21:15
dobeyi have a patch to pyflakes which successfully gets rid of the RedefinedWhileUnused which has been so annoying for us21:15
dobeynow to figure out how to get it upstream21:15
briancurtinnice. pyflakes is a project by divmod (the twisted people) IIRC21:16
dobeyyeah21:18
dobeybut i seem some weird branches on lp named "pyflakes-ng" and i don't really know what they're for, or how different they are21:18
dobeyand i haven't received any replies to my pyflakes inquiries in #twisted :(21:18
dobeyand then there's the whole licensing/copyright issue21:19
mmccwell that's interesting. the test for get_config_files is testing a patched get_config_files21:37
mmccor rather, a test that should be testing the real function is testing the patched fake. there's more than one test for get_config_files21:38
=== m_conley is now known as m_conley_away
dobeybriancurtin: looks like you need to fix a test in that sso branch21:41
briancurtindobey: i got it. there was a test for the special case, but since we removed the special case i removed the test. it got lost in the shuffle of other failing tests i'm seeing21:42
dobeyah21:42
mmccbrb…21:43
dobeyneed to run, later all21:43
mmccok, going to do lunch then EOD and work more tonight so my wife can go to the DMV22:11
=== mmccphone_ is now known as mmccphone
grammoboyhm maybe torrent works better to share  files with your friends22:31
grammoboylarge files that is22:32
grammoboyubuntuone is stll busy with my 3.6 gb files, now for 12h already22:32
* briancurtin heads to dinner, bye everyone22:46
mareklughi there.  I run Mac OS X 10.8.2 natively, and just tried Ubuntu One, and purchased one song.  It's been 5 hours, and it still has not synced locally (in ~/.ubuntuone/Purchased for Ubunto One)23:26
mareklugPurchased from Ubuntu One *23:26

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