[00:47] <karni> on one hand, Python beauty lies in dynamic typing, on the other hand, it's such a pain to port pieces of that to statically typed language
[01:02] <kklimonda> karni: but then that's not really python's fault that it's more flexible than Java :)
[01:02] <karni> kklimonda: I know. I didn't say it's 'fault of Python'
[01:03] <karni> :)
[01:35] <lifeless> Jython!
[01:35] <lifeless> proving that python is not more flexible since 1999 (or something)
[01:54] <AJenbo> videoen vare over 3 minutter så jeg skulle have set dit indlæg inden for 25 sec :)
[01:56] <kklimonda> lifeless: it doesn't work on Android afair :/
[01:59] <lifeless> kklimonda: thats cause android isn't Java™
[12:28] <ralsina> good morning!
[13:00] <alecu> nk
[13:00] <alecu> I mean, hola
[13:09] <alecu> hola nessita!
[13:10] <nessita> hola alecu
[13:10] <nessita> a quarter of Córdoba is out of electricity
[13:10] <alecu> oh, ouch!
[13:10] <alecu> where are you working from?
[13:11] <nessita> right now, my mother and father in law's
[13:11] <nessita> but they were out of power as well, until just now
[13:11] <nessita> ayways, I'm here, let's do some hacking!
[13:12] <alecu> catch a bus, I have some office space here!
[13:14] <nessita> hehehe
[13:31] <duanedesign> hello alecu nessita
[13:31] <alecu> hi duane!
[13:31] <alecu> nessita, I have a question regarding testing the import of modules...
[13:32] <alecu> nessita, I have to test a conditional module import, but .patch will not patch things that have not been imported yet...
[13:32] <nessita> alecu: shoot
[13:32] <alecu> let me find an url to the code...
[13:32] <nessita> alecu: right, I did that by using sys.modules, let me point you to the example
[13:33] <alecu> cool
[13:33] <nessita> alecu: ubuntuone/controlpanel/tests/test_utils.py
[13:33] <alecu> looking, thanks!
[13:33] <duanedesign> cordoba...Argentina, right?
[13:33] <nessita> yeah
[13:33] <nessita> alecu: I said that by heart, I'll confirm in a few minutes
[13:34] <nessita> (i'm in the middle of a syncdaemn bug report)
[13:34] <alecu> I trust your heart
[13:38] <nessita> alecu: yeah, that file, for example: sys.modules[CONSTANTS_MODULE] = None  # force ImportError
[13:58] <alecu> CardinalFang, dobey, mandel, nessita, ralsina, thisfred, vds: standup in 2'
[13:58] <thisfred> yo!
[13:58] <ralsina> oh, right, ack!
[13:58]  * ralsina has no notes!
[13:58] <alecu> hey thisfred! how are you today?
[13:58] <thisfred> alecu: better
[13:58] <vds> ack
[13:58] <thisfred> alecu: ah, I just saw your mail to neil: I spoke to him yesterday
[13:59] <alecu> thisfred, oh, you did?
[13:59] <alecu> :P
[13:59] <thisfred> alecu: the progress bar API is unlikely to land before alpha 2
[13:59] <alecu> ouch
[13:59] <thisfred> which may mean we won't have it in time for natty at all
[13:59] <thisfred> alecu: I already spoke with ralsina about it briefly and meant to discuss it with you too
[14:00] <thisfred> alecu: the best idea seems to build all the infrastructure anyway
[14:00] <thisfred> so when it does land, we only have have to hook up the new api calls
[14:00] <alecu> thisfred, should I send another email to neil saying "sorry!"
[14:01] <nessita> me
[14:01] <thisfred> alecu: I'll reply, it's no big deal, my communication fail
[14:02] <alecu> thisfred, no problem, I already replied with a "sorry" :-)
[14:02] <alecu> me
[14:02] <ralsina> me
[14:03] <mandel> n
[14:03] <CardinalFang> me
[14:03] <mandel> me
[14:04]  * ralsina looks fordobey's homephone number
[14:04] <dobey> me
[14:04] <ralsina> hi dobey :-)
[14:04] <ralsina> vds ping?
[14:04] <vds> me
[14:04] <ralsina> thisfred, say me
[14:05] <thisfred> me
[14:05] <thisfred> sry was typing a mail
[14:05] <ralsina> cool, nessita start
[14:05] <ralsina> hha
[14:05] <nessita> DONE: packaging of u1cp, ussoc, landed string tweaks and added support and
[14:05] <nessita> follow us buttons, several chats with tons of people, reported chicharra bugs
[14:05] <nessita> TODO: start with shares subscription functionaility
[14:05] <nessita> BLOCKED: power outages all over Córdoba
[14:05] <nessita> NEXT: alecu
[14:05] <alecu> thisfred, even if this lands after alpha2 we should be able to track their branches to make sure we talk to that api by alpha 3, even if it's not working
[14:05] <alecu> DONE: found bug in twisted, submitted patch: http://twistedmatrix.com/trac/ticket/4823 Also found a (slow....) workaround for us in the branch up for review: lp:~alecu/ubuntuone-client/aggregate-file-events
[14:05] <alecu> TODO: work on new udf/shares events
[14:07] <mandel> CardinalFang: you or me?
[14:07] <ralsina> me, but alecu is not finished? ;-)
[14:07] <alecu> I am!
[14:08] <ralsina> ok, then me
[14:08] <ralsina> DONE: reviews, team leads call, did my canonicaladmin work, read code.
[14:08] <ralsina> TODO: reviews, management stuff, someday actual coding ;-)
[14:08] <ralsina> BLOCKED: no
[14:08] <ralsina> LOVE: rain
[14:08] <ralsina> HATES: heat
[14:08] <ralsina> CardinalFang!
[14:08] <CardinalFang> DONE: Landed fix for #705448.  Prematurely proposed another branch for merging.  (Sorry.)  Worked on tests.  Looked over upstream changes to Subsonic client.
[14:08] <CardinalFang> TODO: Fix tests and land fix for #706939.
[14:08] <CardinalFang> BLOCKED: Can't get mocker.replace() to work.  Harrassing niemeyer.
[14:08] <CardinalFang> mandel, please.
[14:08] <mandel> DONE:Fixed multithreading bug in my branch which lead to a bug of tritcask on windows in which you get a exceptions.IOError: [Errno 0] Error when trying to write to the file. Seek on python 2.x is buggy on windows, hurray! Made a branch to fix it.
[14:08] <mandel> TODO: Fix the above, help to set up env for people in chicarra for windows testing. Need to talk with alecu about pyflakes error. Try to get all tests pass on windows
[14:08] <mandel> BLOCKED: no
[14:08] <mandel> HATE: dog throwing up on the sofa
[14:08] <mandel> dobey, please
[14:08] <dobey> λ DONE: rbox plug-in nightlies fixes, ubuntuone-client release, triage
[14:08] <dobey> λ TODO: 3rd party apis?, evaluate SRUs for maverick, lucid bugs
[14:08] <dobey> λ BLCK: None.
[14:08] <thisfred> DONE: mostly  out with a cold | talked to Neil Patel about progress bar api ETA TODO: finish messaging, build progress infrastructure in the aggregator (even if the PB API is not there yet) BLOCKED: sinuses
[14:09] <dobey> vds: you're up
[14:09] <vds> DONE: second branch for #701029 landed third will be proposed after running tests
[14:09] <vds> TODO: again and again...continuing with the views and keep checking that the back end does what it is supposed to do
[14:09] <vds> BLOCKED: no
[14:09] <vds> thisfred: please
[14:09] <dobey> thisfred was impatient
[14:09] <ralsina> So, that's everyone.Comments?
[14:10] <ralsina> vds: I don't know if you saw it , but sorry but I can't review your branch. beuno said he would take a look.
[14:11] <vds> ralsina, yup, no problem, the branch landed
[14:11] <ralsina> I have only natty nowadays and server+natty = fail it seems
[14:11] <ralsina> vds: cool.
[14:11] <ralsina> eom?
[14:11] <nessita> everyone: please use the word 'bug' when referencing a bug # so the bot can show the link here (#123456 is not enough for it)
[14:11] <ralsina> If anyone needs reviews, please tell me
[14:12] <alecu> ralsina, https://code.launchpad.net/~alecu/ubuntuone-client/aggregate-file-events/+merge/47492
[14:12] <alecu> mandel, pyflakes!
[14:12] <ralsina> alecu: looking!
[14:12] <nessita> nothing more on my end
[14:12] <alecu> ralsina, I'm adding a note on how to test it.
[14:12] <mandel> alecu: so, I  fixed the issues you mentioned except some that I have not clue of how to do properly, I was wondering if you could take a look
[14:12] <ralsina> one last thing: congrats on the release, it seems to be working well for everyone trying it :-)
[14:13] <mandel> alecu: maybe you know how to get around it
[14:13] <nessita> ralsina: yey!
[14:13] <alecu> mandel, I'll give it a look in 5'
[14:13] <ralsina> eom!
[14:14]  * ralsina points in the direction of the salt mines and waves dismissively
[14:14] <mandel> alecu: thx
[14:15] <alecu> ralsina, comment added to the proposal
[14:16] <ralsina> alecu: cool
[14:16]  * thisfred whistles hi-ho hi-ho, it's off to work we go
[14:16] <alecu> thisfred, I can sure use your review on that branch: https://code.launchpad.net/~alecu/ubuntuone-client/aggregate-file-events/+merge/47492
[14:16] <thisfred> alecu: I'm on it!
[14:18] <mandel> ralsina: if you have time for a quick review: https://code.launchpad.net/~mandel/desktopcouch/fix_pep8_from_windows/+merge/47433
[14:19] <mandel> vds: youcan do that one too if you want ^
[14:19] <nessita> CardinalFang: how's the desktpocouch deadlock fic going?
[14:19] <vds> mandel, sure
[14:20] <mandel> vds: thx!
[14:24] <ralsina> mandel: yes
[14:25] <mandel> ralsina: I thin vds was faster :)
[14:25] <ralsina> mandel: approved. Didn't actually run pep8 on it, but I am trusting you did ;-)
[14:25] <CardinalFang> nessita, I'm trapped in tests.  migration, u1 pairing, both use functions that try to connect to a couchdb after using DBus to discover the port.  I hope to have it fixed before half this day is over.
[14:25] <mandel> ralsina: but this one will also be very welcome: https://code.launchpad.net/~mandel/ubuntuone-client/fix_tritcask_windows/+merge/47532
[14:26] <ralsina> this is one of those branches where I have to test it on windows?
[14:26] <thisfred> In meaningless news: it's day 15000 of most computer clocks today
[14:26] <ralsina> vds: ddon't worry with mandel's branch, it's approved already :-)
[14:27] <CardinalFang> thisfred, base ten?  P'shaw.
[14:27] <vds> ralsina, ok
[14:27] <mandel> ralsina: mmm yes, and no, you should but it cannot be done since the code in trunk cannot run the tests on windows
[14:27] <ralsina> mandel: so it's a branch to fix a bug on windows that can't be testd on windows. Tricky!
[14:27] <mandel> ralsina: I've ask also in #chicharra for a review
[14:27] <ralsina> mandel: I suppose I could test that it doesn't break on Linux at least
[14:27] <thisfred> CardinalFang: well, days themselves are a pretty meaningless measure, so base 10 or base 2 does not make a whole lot of difference ;)
[14:28] <mandel> ralsina: yes, otherwhise you will have lots of extra code to look at too
[14:28] <ralsina> mandel: the patch sure seems harmless anyway
[14:29] <mandel> ralsina: all my back doors look like that :)
[14:32] <ralsina> mandel: ok, on Linux that should be a noop, so I'm approving
[14:33] <ralsina> why SEEK_END and not SEEK_CUR?
[14:33]  * ralsina lacks a bit of context on that file
[14:35] <alecu> mandel, perhaps the code at ubuntuone/platform/__init__.py will be of use?
[14:35] <alecu> mandel, a comment in that file: "very hackish way to avoid "import *" to satisfy pyflakes"
[14:37] <mandel> alecu: I have tried that and it bring and interesting problem, if you do that, then u1trial will not be able to load the tests, so not only you have to do that, but youalso have to write code that looks under tests/platform to add the test to the module
[14:37] <mandel> alecu: it would be very ugly, right?
[14:37] <alecu> mandel, yup
[14:38] <mandel> alecu: so, the issue here is that I do not want to write some horrible code to avoid a pyflake error on the tests
[14:39] <alecu> mandel, agree
[14:39] <ralsina> mandel: ^
[14:40] <mandel> ralsina: the answer is that we append to the end, probably SEEK_CUR would wok too
[14:40] <ralsina> I asked because if on Linux we were not doing a seek, then the behaviour may have changed
[14:41] <ralsina> And because I have no idea about what that code is supposed to do ;-)
[14:42] <alecu> nessita, do you have any idea why are we using pyflakes on ubuntuone-client and not pylint?
[14:43] <mandel> ralsina: the file was open on append mode, that is why CUR and END should both work, right?
[14:43] <ralsina> mandel: in an ideal world yes. But in that world you would not have to do the seek ;-) I just approved it anyway.
[14:44] <nessita> alecu: I think is because there are too many pylint errors, which from my POV we should fix instead of hide
[14:44] <nessita> alecu: but I think that dobey knows more accurate info
[14:44] <mandel> ralsina: yes.. in and ideal world we would not have to deal with windows ;)
[14:45] <alecu> nessita, now we have pyflakes failing on weird imports and no way to silence it.
[14:45] <dobey> alecu: we switched a long time ago due to weird issues in pylint, and haven't switched back. there are some other issues with pylint now that we can't solve easily though.
[14:45] <nessita> alecu: yeah, I don't know how to silence pyflakes either. dobey, can you give alecu and mandel a hand, please?
[14:46] <dobey> pyflakes doesn't have disable comments like pylint does
[14:46] <nessita> dobey: which issues, on u1client? (I would like to help fixing them)
[14:46] <dobey> what warnings are from pyflakes that you can't fix?
[14:46] <nessita> I know in u1sp we have the thing you emailed to the list
[14:46] <mandel> alecu, nessita: I though that using pylint comments work, but I failed miserably
[14:47] <dobey> nessita: well, the same issues as storage protocol. dealing with the metaclass issues
[14:47] <mandel> dobey: this merge proposal: https://code.launchpad.net/~mandel/ubuntuone-client/fix_runner/+merge/46275
[14:47] <nessita> dobey: which class introduces the same issue in the client?
[14:47] <dobey> nessita: twisted does, for one
[14:48] <mandel> dobey: if you do make check you will see the warnings we want to remove
[14:48] <dobey> nessita: and i would presume that it has the same issues from protobuf as well, given it's using storage-protocol
[14:49] <nessita> dobey: right, we could ignore the whole storageprotocol dir for that case
[14:49] <dobey> nessita: if you want to try to fix some issues, you can just run u1lint without setting USE_PYFLAKES=true, in the client
[14:49] <nessita> dobey: I'll give it a quick try
[14:49] <nessita> alecu: ^
[14:50] <dobey> nessita: there is no storageprotocol dir in client. but syncdaemon imports from storageprotocol
[14:50] <thisfred> alecu: approved, with two questions that are not really related to this branch.
[14:50] <alecu> dobey, isn't that the same as "make lint"?
[14:50] <dobey> alecu: no, 'make lint' does USE_PYFLAKES="true" to make u1lint use pyflakes instead of pylint
[14:52] <alecu> dobey, ack. nessita: then using that is for making u1-client use pylint, not for fixing mandel's bug with pyflakes
[14:52] <mandel> alecu: if you use u1lint on ubuntuone-client you could go bananas, there are waaay to many warnings
[14:52] <alecu> and dobey, nessita: "<mandel> the issue here is that I do not want to write some horrible code to avoid a pyflake error on the tests". And I agree
[14:52] <nessita> alecu: if we switch to pylint mandel can disable whatever he needs
[14:53] <dobey> what horrible code?
[14:53] <nessita> alecu: what's the problem in particular?
[14:53] <alecu> nessita, I agree we should switch to pylint as a medium term plan.
[14:53] <alecu> but what we need right now is a way of disabling files from being processed by pyflakes.
[14:53] <mandel> dobey: similar to the code that was added to ubuntuone/platform/__init.py with the extra work of loading the tests and not only the code from the module, if you do not do that u1trial will fail to load the tests
[14:54] <alecu> nessita, dobey: https://code.launchpad.net/~mandel/ubuntuone-client/fix_runner/+merge/46275
[14:54] <alecu> tests/platform/__init__.py
[14:54] <ralsina> alecu: had a problem with the aggregate-file-events branch
[14:54] <mandel> and using something similar to  ubuntuone/platform/__init.py will create issues with u1trial
[14:55] <alecu> ralsina, tell me.
[14:55] <ralsina> Got a bunch of these: Traceback (most recent call last):
[14:55] <ralsina>   File "/usr/lib/python2.7/logging/handlers.py", line 77, in emit
[14:55] <ralsina>     if self.shouldRollover(record):
[14:55] <ralsina>   File "/home/ralsina/canonical/ubuntuone/alecu/ubuntuone/logger.py", line 101, in shouldRollover
[14:55] <ralsina>     msg = "%s\n" % self.format(record)
[14:55] <ralsina>   File "/usr/lib/python2.7/logging/__init__.py", line 719, in format
[14:55] <ralsina>     return fmt.format(record)
[14:55] <ralsina>   File "/usr/lib/python2.7/logging/__init__.py", line 464, in format
[14:55] <ralsina>     record.message = record.getMessage()
[14:55] <ralsina>   File "/usr/lib/python2.7/logging/__init__.py", line 328, in getMessage
[14:55] <ralsina>     msg = msg % self.args
[14:55] <dobey> mandel: so add tests/platform/__init__.py to the ignore list in pylintrc
[14:55] <ralsina> TypeError: float argument required, not unicode
[14:55] <ralsina> Logged from file sync.py, line 274
[14:55] <ralsina> https://pastebin.canonical.com/42354O/
[14:55] <ralsina> Oops :-(
[14:55] <nessita> dobey: u1lint on a random file (ubuntuone/syncdaemon/action_queue.py) will not end
[14:56] <alecu> thisfred, thanks for the review, I'm replying to the threading ideas.
[14:56] <dobey> nessita: huh?
[14:56] <mandel> dobey: ok, if that is the best thing to do, I'll go for it
[14:56] <ralsina> sorry about the text wall, channel
[14:56] <nessita> dobey: yeah, is running using 100% cpu and does not finish
[14:56] <dobey> nessita: u1lint has no arguments. it lints everything in the tree
[14:56] <nessita> dobey: argh!
[14:56] <mandel> dobey: I was hoping for some very smart answer instead ;)
[14:56] <nessita> dobey: ok, I'll use pylint then
[14:57] <dobey> ralsina: also that pastebin is 404
[14:58] <ralsina> https://pastebin.canonical.com/42354/
[14:58]  * ralsina is having a bad keyboard day
[14:58] <ralsina> alecu: ^
[14:58] <dobey> ah
[14:59]  * dobey uploads the ftbfs fix for u1client
[14:59] <dobey> stupid gir file
[15:01] <ralsina> alecu: other than that, the notifications popup nicely
[15:02] <alecu> ralsina, nice!
[15:02] <alecu> ralsina, do you have that same issue on trunk?
[15:03] <ralsina> alecu: haven't tried this on trunk. Let me do it.
[15:03] <alecu> doh
[15:03] <alecu> ralsina, no, it's my branch....
[15:03] <alecu> let me check.
[15:03] <ralsina> alecu: ok
[15:04] <gord> hey, the Share this folder button doesn't seem to work in firefox 4 beta 9 (what we have in natty), just thought i'd mention it - works okay when i press in chromium
[15:05] <nessita> gord: yes, we're having some issues on FF4
[15:05] <alecu> ralsina, hmm... I don't recall touching anything of that in my branch...
[15:06] <alecu> ralsina, it seems unrelated to my branch. Would you mind trying it on trunk?
[15:06] <ralsina> alecu: np, I'll check it now
[15:06] <gord> nessita, ahh okay then, if we already know then no worries
[15:09] <nessita> dobey: ok, after a quick try, we should disable (only for u1client), E1101 an E1103, and the rest are pretty much valid complaints from pylint
[15:09] <nessita> anyways, this doesn't help mandel in the immediate term
[15:10] <nessita> mandel: what are the errors you're having right now?
[15:10] <ralsina> alecu: yup, same error on trunk
[15:11] <nessita> ralsina: file a bug report and assign to ubuntuone-foundations+
[15:11] <ralsina> nessita: ok
[15:11] <nessita> I think is just ubuntuone-foundations
[15:12] <ralsina> alecu: approved
[15:14] <ralsina> nessita: and it's a bug on what? syncdaemon?
[15:14] <alecu> ralsina, thanks!
[15:15] <nessita> ralsina: ubuntuone-client project
[15:15] <ralsina> nessita: ok
[15:17] <nessita> mandel: you have trialing spaces on platform/__init__.py
[15:18] <dobey> yeah running pep8 on u1client is scary
[15:18] <nessita> alecu: the fix for that seems simple, and clean, from my POV, let me show you
[15:20] <alecu> nessita, the fix for mandel's issue?
[15:22] <nessita> yeah, one sec, running make lint now
[15:23] <nessita> hey didrocks and evilt twin brother didrocks1!
[15:24] <didrocks1> hey nessita :)
[15:24] <nessita> mandel, alecu: http://paste.ubuntu.com/558582/
[15:25] <nessita> we can even make that a nice function, to avoid code dup
[15:27] <didrocks1> nessita: btw, are all the credential dbus interface in natty now? (I should miss a package IMHO)
[15:28] <nessita> didrocks1: they are, yes. I haven't add the fix to support the window_id yet, but they are
[15:28] <nessita> didrocks1: for the u1.credentials one you need ubuntuone-client package installed
[15:30] <didrocks1> nessita: weird, I have the latest version and d-feet just show me com.ubuntuone.SyncDaemon*
[15:31] <nessita> didrocks1: well yes, those services are not running all the time, like syncdaemon is
[15:31] <nessita> you have to 'start' them using dbus activation
[15:31] <nessita> wanna an example?
[15:32] <nessita> didrocks1: let me link you to an example
[15:32] <alecu> mandel, if you fix it like nessita says, let me know so I can review.
[15:32] <nessita> alecu: I know is not optimun, but is simple and can make us move forwards
[15:34] <nessita> didrocks1: http://bazaar.launchpad.net/~ubuntuone-control-tower/ubuntuone-client/trunk/view/head:/ubuntuone/platform/linux/dbus_interface.py#L1919
[15:34] <nessita> didrocks1: that comment is old, so '# call ubuntu sso' should read '#call ubuntuone credentials'
[15:34]  * nessita will fix
[15:34] <nessita> ok, I need to do some real hacking now for adding subcription to shares. I'll be away from IRC for a while
[15:35] <didrocks1> nessita: oh excellent, I was thinking the dbus service was already running, thanks :)
[15:35] <nessita> prego!
[15:35] <didrocks1> nessita: ok, I have all what I need, then, thanks ! :)
[15:42] <hv> is there a plan to offer VPS (openvz or xen) in ubuntuone ?
[15:43] <beuno> hv, not really, no
[15:43] <hv> I see
[15:44] <CardinalFang> hv, maybe we don't understand.  VPS in Ubuntu One?  What do you mean?
[15:47] <hv> Currently there is the storage plan, I thought application hosting might be coming in the future. probably not.
[15:48] <hv> afterall, many of us ubuntu users might know a hint of [web-] programming. so it wasn't that stupid to expect.
[15:49] <CardinalFang> Er, like holding and running virulal machines?  We have no plans for that.  Ubuntu One isn't aimed at programmers at all, but at the grandfathers and daughters of people likely to be programmers.  :)
[15:50] <hv> hmm, fair enough.
[15:51] <hv> should have asked in launchpad ...
[15:52] <CardinalFang> hv, perhaps #ubuntu-cloud ?
[15:54] <dobey> sigh, need to fix my server i guess
[16:03] <mandel> alecu: nessitas code works, but I feel like we are playing the system… should we be doing this things just to avoid complains from pyflakes?
[16:05] <alecu> mandel, I don't like it either, but it sounds reasonable for the time being. We should really convince ralsina to let us fix all pylint warnings in order to be able to drop pyflakes
[16:05] <alecu> mandel, but not right now
[16:05] <mandel> alecu: indeed not now
[16:05] <ralsina> do I need convincing? N, what we need is 2 more weeks in january ;-)
[16:06] <mandel> alecu: I'm uploaded the branch, will ping when done
[16:06] <mandel> ralsina: and Feb :)
[16:07] <karni> hi guys
[16:19] <mandel> alecu: feel fre to take a look at that pyflake branch :)
[16:21] <dobey> lunch time, bbiab
[16:21] <alecu> mandel, ack
[16:23] <alecu> vds, would you mind reviewing this, and testing on lucid to see if it solves that bug? https://code.launchpad.net/~alecu/ubuntuone-client/disable-zg-on-lucid/+merge/47549
[16:23] <alecu> nessita, the code to test module import was very useful, thanks!
[16:23] <nessita> alecu: prego!
[16:24] <alecu> nessita, in that branch I added a "patch_module" method, that we may move to a utils place somewhere.
[16:24] <nessita> very nice!
[16:24] <vds> alecu, I'll need some help to test it
[16:25] <alecu> vds, just run the tests and then start syncdaemon on lucid.
[16:25] <alecu> vds, it should just not show the error that you found today.
[16:49] <alecu> vds, please let me know if you need any more help with that. thanks!
[16:52] <vds> alecu, sure
[16:52] <alecu> mandel, pyflakes seems to be happy now
[16:53] <alecu> mandel, I'm running all the tests right now, I'll approve in a few minutes
[16:53] <mandel> alecu: superb, thx
[16:53] <mandel> alecu: that would be the first windows code landing, form there more is to come with green lights on the tests :)
[16:54] <alecu> cool!
[16:54] <CardinalFang> mandel, high-five!
[16:54] <mandel> CardinalFang: :)
[16:55] <alecu> thisfred, I'm about to start on the backend code for new UDFs/shares... any ideas on how we should define the interfaces for that?
[16:56] <alecu> thisfred, I'm mostly interested on which classes/methods your code will provide for that...
[16:57] <thisfred> alecu, right, it's very similar to how the notifications work.
[16:57] <thisfred> except one has to provide callbacks
[16:58] <thisfred> alecu: method signature for now looks like this:
[16:58] <thisfred>     def show_message(self, subtype, sender, body, callback, message_time=None):
[16:59] <thisfred> but I'm unhappy about the subtype, which is very Ubuntu specific, and will be the same for all our messages, I assume, so I may factor that out into the __init__ of the specific implementation
[17:00] <alecu> thisfred, ok about subtype. sender is the person sending the share, right?
[17:00] <thisfred> yep
[17:00] <alecu> body... is the line of text on the menu
[17:00] <alecu> and callback?
[17:00] <thisfred> body will be the message, and time is the time it was sent
[17:00] <thisfred> callback will be whatever happens if you click on the message
[17:00] <thisfred> i.e. open u1controlpanel to the right tab
[17:01] <alecu> thisfred, nice!
[17:01] <thisfred> message time will be what causes "1m" "2h" etc. to show in the menu
[17:01] <alecu> right
[17:02] <alecu> thisfred, in the messaging menu mockups I see that there's an app icon and contact photos as well... do you know if that is implemented at all?
[17:02] <alecu> thisfred, also, is there a limit on the amount of lines we add to that menu?
[17:03] <thisfred> AFAIK, no limits. I'm not sure about sender icons/avatars, app icons work in maverick already
[17:04] <thisfred> I think they are discovered through the .desktop file
[17:04] <alecu> nice
[17:06] <thisfred> I'm still thinking a little bit about what to set up when: The application line is supposed to be there always, even when 0 messages are there
[17:06] <alecu> thisfred, has that method landed already, or is it part of "dammit-janet" ?
[17:06] <thisfred> so we can't do that in show_message obviously
[17:06] <karni> bbiab
[17:06] <thisfred> it's in there, which is nearing completion
[17:06] <alecu> nice
[17:08] <alecu> thisfred, we might be able to do it on startup. Just add a method to put the u1 icon and I'll make sure it gets called when the listener is created.
[17:09] <alecu> thisfred, also, what about cleanup? I might be able to set up something to be called when the twisted reactor is turned off.
[17:10] <thisfred> alecu: AFAIK for the messaging menu you don't remove stuff even when the app shuts down
[17:11] <thisfred> clicking the message should just open the application again
[17:12] <alecu> thisfred, oh, right.
[17:13] <alecu> thisfred, and how are we supposed to remove the "new shares" icons when they are clicked or when they are shown in the control panel?
[17:13] <thisfred> so we actually need to register the application only once
[17:14] <thisfred> not 100% sure, I think they actually remove themselves when clicked, and I don't think they persist across sessions
[17:15] <alecu> thisfred, right. But (ideally) we need some way to remove them all at once when one of them is clicked
[17:15] <thisfred> but maybe this needs to happen as part of the callback, I'll investigate that
[17:15] <alecu> thisfred, because we show them all together in the control panel...
[17:15] <thisfred> right
[17:15] <alecu> thisfred, right, making that part of the event handler makes sense
[17:15] <thisfred> I'll look into that
[17:16] <DanRabbit> clarita: ping
[17:16] <alecu> mandel, approved
[17:17] <alecu> mandel, good luck finding another reviewer :-)
[17:17]  * alecu goes to have some lunch!
[17:26] <ralsina> guys I am not feeling very well (stomach pain) so while I will stay here, I may not be paying much attention :-(
[17:27] <RoDiMuS-X> how do I delete files from my ubuntu one account?
[17:29] <ralsina> mandel: your pressure was successful ;-)
[17:30] <mandel> ralsina: hurray! thx :)
[17:35] <dobey> RoDiMuS-X: delete the file on your computer
[17:40] <RoDiMuS-X> i figured it out, just stopped syncing the folder
[20:08] <kees> is this the best place for questions about Ubuntu One Mobile (specifically music streaming)?
[20:08] <karni> kees: here it is
[20:10] <kees> I just got an HTC G2, and installed Ubuntu One Music, but nothing seems to work. after I log in to the browser, it wants me to pick my phone, but the HTC G2 is not available, and that's basically it.
[20:10] <beuno> kees, you may not have the mobile plan, let me check
[20:10] <beuno> kees, also, it doesn't matter what phone you pick
[20:11] <kees> beuno: ah-ha. I wasn't sure if that was included.
[20:12] <beuno> kees, it is now
[20:12] <beuno> you're ready to go
[20:12] <beuno> everything should work
[20:12]  * kees re-logs in...
[20:13] <kees> beuno: \o/
[20:14]  * beuno dances
[20:14] <kees> beuno: so, can I log out of Ubuntu SSO in the browser and remain logged in to Ubuntu One Music? (I assume so, if it follows the LP API stuff)
[20:14] <beuno> kees, yes, it stores the credentials to access music locally
[20:14] <beuno> (which is separate from accessing everything else)
[20:15] <kees> okay, cool. I thought so, but just wanted to double-check :)
[20:15]  * kees streams music! rock.
[20:15] <beuno> kees, let me know if you get any hiccups
[20:16] <kees> beuno: cool; I will. I need to haul a bunch of mp3s into the cloud now. I just have a few from the Music Store so far. :)
[20:17] <beuno> kees, you have an android phone?
[20:17] <beuno> if you do, I have secret features for you  :)
[20:17] <beuno> (everyone else close there eyes)
[20:17] <kees> beuno: yeah, HTC. T-Mobile calls it the "G2", but I can't figure out if it's the Vision, Dream, or something else
[20:18] <beuno> ah, right, you said G2
[20:21] <dobey> kees: google search seems to suggest dream
[20:22] <kees> dobey: yeah, though the G2 rooting app calls it vision, IIRC.
[20:22] <dobey> hmm
[20:22] <kees> oh! will I be able to see music that has been shared to me in U1?
[20:23] <beuno> kees, no, we explicitly leave out shares to avoid things getting out of control
[20:23] <kees> haha
[20:23] <beuno> but everything else is in
[20:23]  * kees nods
[20:25] <kees> oh, urm. "Error playing ... MediaPlayer error: -131 (0) (Exception)"
[20:26] <beuno> that's not nice
[20:26] <beuno> is this an mp3?
[20:26] <kees> oh! no. it was playing for about 5 minutes and died. it was oga. sorry, that's still not all the way done.
[20:26] <beuno> aha
[20:27] <beuno> kees, still, it's interesting to see the logs for that
[20:27] <beuno> could you install alogcat and send them to me?
[20:27] <kees> beuno: sure, one sec
[20:27] <beuno> well, install, reproduce, send
[20:27] <beuno> thanks
[20:31] <kees> insane idea: sync photos and videos from phone to U1
[20:34] <karni> kees: not insane, we're working on it
[20:36] <kees> \o/
[20:36] <karni> kees: :)
[20:37] <karni> kees: in the mean time, you can google AndroidU1 if you haven't seen it before. the new version is/will be much better than that.
[20:38] <karni> beuno: I had to rest a little from the syncdaemon stuff, so I'm working on publishing ATM.
[20:38] <beuno> karni, awesome.
[20:50] <karni> vds: nessita: are there any docs on the publishing API apart from the syncdaemon/action_queue.py ?
[20:51] <nessita> karni: not that I know of :-/
[20:51] <karni> nessita: ack
[20:52] <karni> maybe you guys can tell me if -- dict(is_public=bool(self.is_public)) -- means that the value of 'is_public' key is something sort of 'True' and 'False', am I right?
[20:53] <beuno> karni, right
[20:53] <karni> beuno: thanks :)
[20:54] <nessita> karni: not sure if you're talking dbus here, but if you are, True is 'True' and False is ´
[20:54] <nessita> ''
[20:55] <karni> nessita: no, just an http request, but thanks!
[20:56] <nessita> karni: ok. Anyway, take into account that bool('False') is True
[20:56] <karni> nessita: will remember that :)
[20:56] <karni> nessita: oh, that's Python you mean? good, that's important.
[20:56] <nessita> :-)
[20:56] <dobey> karni: i don't remember if it's 1/0 or True/False
[20:57] <nessita> karni: ah! you're doing java, right
[20:57] <karni> dobey: right.. that's exactly what I'm wondering
[20:57] <karni> nessita: uhm :)
[20:57] <dobey> karni: but if you're looking at the code it should be obvious what it does
[20:58] <karni> dobey: dict(is_public=bool(self.is_public)) -- bool(sth_here) as a value to 'is_public' key. not that obvious either from C/C++ nor Java perspective ;)
[20:58] <karni> dobey: but I do know Python has 'True' and 'False'
[20:59] <karni> however, bool('False') is True (like nessita said) is something I'm happy to know.
[20:59] <dobey> hmm, oh, yeah, that is a bit confusing i guess
[21:00] <karni> anyway, Python is reeeeally cool. it's definitely my next language.
[21:02] <ralsina> karni: 'False' isTrue because non-empty strings (and lists,and other  stuff) are True.
[21:02] <karni> ralsina: definitely makes sense, yes :)
[21:02] <karni> ralsina: like any non-zero value in C/C++
[21:02] <ralsina> But I can see how it can be a surprise :-)
[21:03] <karni> Java is pretty stupid here ;) (can't say if !5 is true)
[21:03] <karni> ralsina: yup
[21:03] <ralsina> karni: pretty much, yeah. except things like True=0 can really mess up your day ;-)
[21:03] <dobey> karni: so because str(bool(1)) gives you "True", it's foo=True when the urlencode() happens
[21:03] <karni> ralsina: hahaha right
[21:04] <karni> dobey: great
[21:04] <dobey> ralsina: /bin/true && echo $?
[21:04] <ralsina> dobey: nope,you can actually changethe meaningof True and False in python, in a way.
[21:05] <karni> #define TRUE FALSE // C/C++ ;)
[21:05] <ralsina> karni: like that,but even more messed up :-)
[21:06] <ralsina> karni:  because the non-bool stuff will work right, most ofthe time. Only when you use boolean literals your program gets confusing :-)
[21:06] <ralsina> karni: but that's just a personal gripe with python, you willnot run into it ever
[21:07] <karni> ralsina: right. :)
[21:07] <ralsina> at least I hope so ;-)
[21:07] <dobey> ralsina: yes, i know, you can do it in any language, really.
[21:08] <ralsina> dobey: well... not Java, I think.
[21:09] <ralsina> But then again, in java Boolean("true") is true and Boolean("false") is false so what can I say
[21:28] <kees> alright, next up... how do I force U1 to notice file I've added to my ~/Ubuntu One/ directory?
[21:28] <kees> u1sdtool -q  u1sdtool -c   doesn't seem to help
[21:35] <ralsina> kees: it should do it automatically
[21:36] <kees> ah, nm, seems to be going now. weird. maybe I'm misunderstanding something in u1sdtool -s's output, but it looks idle
[21:36] <kees> or rather, looked
[21:36] <ralsina> kees: check the logs.It may take a while to start uploading if you added many files at once
[21:36] <kees> ralsina: yeah, that's likely it.
[21:37] <ralsina> Unless you have the latest version, metadata takes a while.The good news are, lastest versions areabout 100x faster at that :-)
[21:40] <kees> cool!
[21:41] <kees> ralsina: what in u1sdtool -s would show that?
[21:41] <ralsina> kees: let me check
[21:41] <kees> ralsina: e.g. I see "description: processing queues" but --current-transfers shows 0
[21:41] <kees> I figure there must be something I should be checking besides -s and --current-transfers
[21:42] <ralsina> kees: not really
[21:43] <ralsina> kees: at least I don't think you can *see* when it's stuckwith the metadata
[21:43] <ralsina> kees: what version of ubuntu are you on?
[21:43] <kees> ralsina: okay, that explains my confusion, then. I'm running natty
[21:44] <ralsina> ok, we did a *great* release for natty yesterday ;-)
[21:44] <kees> I'm on 1.5.2-0ubuntu1
[21:44] <kees> I'll update :)
[21:45] <ralsina> Latest is 1.5.3
[21:46] <ralsina> also check the cool new control panel
[21:49] <dobey> cheers all
[21:58]  * nessita -> eods
[21:59] <karni> I must have just generated a ridiculous oops, don't read it :D !
[21:59]  * karni laughs
[22:21] <karni> CardinalFang: You ever included a jar into android project and encounter NoSuchMethodException?  java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString
[22:22] <karni> I can definitely see it's there.. Hmm. I'll try ant, maybe eclipse is playing with me.
[22:25] <CardinalFang> karni, Hrm.  Is the signature the same?  Watch the log on installation, too.
[22:26] <karni> CardinalFang: Yes, it compiles and builds nicely.. I'll watch the log carefully.
[22:29] <karni> CardinalFang: right, I/dalvikvm( 4909): DexOpt: not resolving ambiguous class 'Lorg/apache/commons/codec/binary/Base64;' -- looks like a conflict.
[22:31] <CardinalFang> Mmm.  karni, I think I remember reading something about something like this.
[22:33] <CardinalFang> karni, I don't know what, though.  Sorry.
[22:33] <karni> CardinalFang: http://stackoverflow.com/questions/2047706/apache-commons-codec-with-android-could-not-find-method
[22:33] <karni> CardinalFang: np, solved :)
[22:34] <karni> CardinalFang: thanks for heads up
[22:34] <CardinalFang> karni, Yep, that was it.  Hah.
[22:34] <CardinalFang> Okay, Zzz now.
[22:34] <karni> :)
[22:35] <CardinalFang> thisfred, if you're still on for a bit, please run my proposed d-c branch to see if tests work for you.
[22:36] <thisfred> CardinalFang: sure thang, beats banging my head against lib indicate
[22:36] <CardinalFang> Ick.
[22:37] <CardinalFang> Okay, AFK, at least for 30 minutes.  Checking back after that.
[22:47] <thisfred> CardinalFang: when you're back, branch approval from me
[22:48] <thisfred> and with that I'm going to EOD medicinally
[23:11] <karni> beuno: could you feed me back with OOPS-ID-1852appserverZBeEcGbfddAecEbdBbbJJCeFFaJDbGcDA212973 ?
[23:11] <ubot4> https://lp-oops.canonical.com/oops.py/?oopsid=ID
[23:18] <CardinalFang> thisfred, yay!
[23:20] <karni> Anyone with OOPS access :) ?
[23:20] <karni> ah, found the problem
[23:30] <arch_is_awesome> Hey, anyone know how to upload from url?
[23:31] <karni> arch_is_awesome: you can't. but you certainly ca: cd ~/Ubuntu\ One && wget url_here
[23:31] <karni> :D
[23:31] <karni> *can
[23:31] <karni> arch_is_awesome: there's no possibility to upload a file directly from a url, afaik
[23:31] <arch_is_awesome> My internet is super duper slow
[23:31] <karni> arch_is_awesome: I see
[23:33] <arch_is_awesome> I have a web server
[23:33] <arch_is_awesome> Which has fast internet
[23:34] <arch_is_awesome> (Slicehost)
[23:34] <arch_is_awesome> so... any way to speed up a 200 mb upload?
[23:36] <karni> HTTP/1.1 200 OK {"is_public":false,"public_url":null} -- I'm doing something wrong..
[23:36] <karni> arch_is_awesome: no idea, sorry
[23:36] <arch_is_awesome> does lynx do uploads?
[23:37] <karni> arch_is_awesome: not sure what you are asking. does a webbrowser do uploads?
[23:38] <arch_is_awesome> Like could I install lynx on my server, do a wget then upload through lynx?
[23:38] <karni> arch_is_awesome: if you have shell on your cerver, that should be possible. just log in first and try to upload a small .txt file to ubuntu. if it works, go for it.
[23:39] <karni> arch_is_awesome: by 'if it works' I mean, if you manage with the UI in text based lynx
[23:39] <arch_is_awesome> ubuntu one seems to hate text-based browsers
[23:40] <karni> arch_is_awesome: haven't checked, but that's possible :(
[23:52] <karni> __lucio__: Chipaca: hey guys. as authors of action_queue.py, could you tell me please how should the publish http request look like? https://one.ubuntu.com/files/api/set_public/[base64 encoded volumeId]:[base64 encoded nodeId]?is_public=True ?
[23:53] <karni> __lucio__: Chipaca: I'm asking, because I'm getting HTTP/1.1 200 OK {"is_public":false,"public_url":null} whatever I try
[23:54] <karni> __lucio__: Chipaca: btw sorry don't look at the url. is_public='True' is a POST pair, not a GET pair. just asking whether it should be 'True' or 'true' or something else