/srv/irclogs.ubuntu.com/2012/11/02/#ubuntuone.txt

=== eu is now known as Guest40961
=== Guest40961 is now known as adorilson
wilee-nileeHello channel, so when I fire up ubuntuone in ubuntu it asks for my password, is there any way to have it login into ubuntuone automatically with out using my password on the OS there also?04:32
gatoxgood morning11:22
JoseExpositoHi! Someone can say me where the source code of u1sdtool please?12:35
gatoxJoseExposito, it's part of the ubuntuone-client project12:39
JoseExpositogatox, can you say me what class(es) please?12:39
gatoxJoseExposito, but i'm having problems with launchpad at this moment, you can do: bzr branch lp:ubuntuone-client12:39
gatoxJoseExposito, u1sdtool is a script inside the bin folder12:40
JoseExpositoI'm looking for a simple example to add a python utility tool to get the state of the files to the finder plugin12:40
JoseExpositogatox, ok, thank you very much!!12:41
dobeyu1sdtool as a script doesn't really do anything though13:36
dobeyyou need to look at the SyncDaemonTool API that it uses13:36
dobeygah stupid hurricane. it is too cold here for an anime convention14:12
gatoxnuuuuuuuu14:13
dobeyheh14:22
JoseExpositodobey: I'm sorry, I was eating. Where can I check the available calls to the SyncdaemonTool? Is there any documentation?14:28
gatoxdobey, could you review this trivial branch? https://code.launchpad.net/~diegosarmentero/ubuntuone-client/case-insensitive-search/+merge/13270314:38
dobeyJoseExposito: u1sdtool does make those calls; and they should be documented in the module so you can read the docs with pydoc, but i don't recall the exact module import path right now14:41
mmccJoseExposito, the SyncDaemonTool class is defined in ubuntuone-client/ubuntuone/platform/tools/__init__.py — there are two implementations of the SyncDaemonToolProxy IPC proxy that it uses , and the one we use on os x is in perspective_broker.py14:43
mmccyou don't really need to look at the perspective_broker proxy, I only mention it to explain the other files in that directory14:44
JoseExpositommcc, ok thank you very much, I'll check this module and I'll try to do something14:45
gatoxmmcc, hi, when you have sometime please: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/socket-communication/+merge/132409 i think you have been already reviewing this14:46
dobeyhrmm14:49
dobeyeven for dummy data, i don't really like seeing '/path/to/foo' in it; because in the tests there is no 100% obvious "this is completely useless dummy data" separation from "this actually touches the disk somewhere"14:50
mmccJoseExposito you're welcome - I think you will want the 'get_metadata' call. to save you hours of figuring out the IPC, if you want to know what that actually returns, the function that ends up getting called is get_metadata in the SyncdaemonFileSystem class in ubuntuone/syncdaemon/interaction_interfaces.py14:50
mmccJoseExposito and you can play around with u1sdtool --info to see what that call returns14:51
gatoxdobey, we actually have that in a lot of places14:51
mmccJoseExposito, unfortunately it's not super user friendly, but you can always ask here if something's not obvious. good luck!14:52
dobeygatox: dummy data with '/foo/' you mean?14:52
gatoxyes14:52
JoseExpositommcc, thanks! I think that get_metadata and change_public_access is all that I need14:52
dobeygatox: yes, mostly due to historical reasons.14:53
mmccgatox, yes I'm reviewing that now.14:53
JoseExpositommcc, but I don't see any field with the status of the file (uploading or uploaded)14:53
mmccJoseExposito yep, that's what I meant by not user friendly :) it might require some understanding of the syncdaemon internals14:54
dobeyJoseExposito: you should probably connect to syncdaemon via IPC and actually connect to the necessary signals, rather than trying to poll for status of individual files14:55
mmccJoseExposito actually there's other SDTool API that might be more useful. look at get_current_uploads and get_current_downloads, for example14:56
mmccand dobey is right, you will want to register for updates as well, so you don't have to poll… let me see if there's a good example of that14:57
JoseExpositodobey, the problem is that the Finder plugin must be wrote in objective-c, and it doesn't has a twisted API (as I know)14:57
dobeyit's too bad libsyncdaemon is a) not great, and b) not cross-platform14:57
dobeyJoseExposito: you can't use pyobjc?14:58
JoseExpositommcc, yes, it looks more easy14:58
JoseExpositodobey, I don't try it, but I think that no14:58
mmccyou could, but it wouldn't be easy14:58
JoseExpositodobey, think that Finder doesn't allow plugins, is all reversing & code injection14:59
dobeyJoseExposito: if it's not a plug-in, then i see no reason it would need to be in ObjC :)14:59
rockstarme15:00
gatoxme15:00
JoseExpositodobey, could be possible, but I think that inject python code in a objc process is not possible15:00
briancurtin,e15:00
briancurtinme15:00
mmccdobey it is much easier to inject objc code into the finder than arbitrary C code…15:00
mmccme15:00
dobeyme15:01
mmccJoseExposito , we're just doing a quick meeting, will get noisy for a sec15:01
JoseExpositook15:01
dobeymmcc: i understand objc is obviously easier. we're doing python on mac, so basically nothing is 'easy' :)15:01
rockstarDONE: Track down support App store problem (bug in App store). Catch up with outstanding tasks from urbanape.15:02
rockstarTODO: Split up this branch work into reviewable pieces (it's a mega-branch currently, and still isn't quite finished)15:02
rockstarBLOCKED: Nope15:02
rockstarNEXT: gatox15:02
gatoxDONE:15:02
gatoxFixed some branches, fix case insensitive search, trying to get u1-cp running on windows to check a bug (not possible yet), working in a u1-cp related bug. Complete the canonical survey.15:02
gatoxTODO:15:02
gatoxFinish and propose the branch, keep fixing u1-cp, u1-client bugs.15:02
gatoxBLOCKED:15:02
gatoxNo15:02
gatoxbriancurtin, go15:02
briancurtinDONE: tiny branch to fix ubuntu_sso.constants, installer rebuilding. tested new installer with cert branch on XP, Vista, 7, and 8, and it works15:02
briancurtinTODO: send build to QA, keep on testing, reviewing what needs to be done in order to do final release. need to look where we version log files, i believe that needs to be done by hand as of right now on windows15:02
briancurtinNEXT: mmcc15:02
mmccDONE: pyobjc menu integration15:02
mmccTODO: same15:02
mmccBLOK: no15:02
mmccNEXT: dobey15:02
dobeyONE: reviews of diego's branches, discussion about terminology, team call15:03
dobeyTODO: reviews, tarmac updates15:03
dobeyBLCK: None.15:03
mmccnext dobey15:03
mmccum15:03
dobeys/ONE/DONE/15:03
mmccsorry15:03
dobeyand done.15:03
rockstarnext dobey15:03
rockstar:)15:03
* mmcc dislikes my irc client15:03
mmccit stopped scrolling the text…15:03
chaselivingstonmmcc: what are you using?15:03
mmccchaselivingston - Linkinus for the last couple weeks. I was using Colloquy but it was annoying for other reasons15:04
rockstarUse textual. Don't look back.15:04
chaselivingstonmmcc: yeah, I've found textual is probably the best15:04
mmccok, I'll take another look. that's the only one I haven't tried yet…15:05
dobeyjust run irssi on a server somewhere under screen/tmux15:06
mmcc"a server somewhere" :(15:06
briancurtinthe cloud15:06
mmccthe moon!15:06
chaselivingstoni'm setup on the team's bip server, so i can just connect my client when i want to read what's been going on15:07
dobeynah, the king of the moon can be moody15:07
dobeyso he might cut off your connection/head15:08
mmccI knew moon computing was hype15:08
mmccto call back into the patched finder and make your changes. It's all possible, but a bit messy, and every interaction with the finder code is unsupported and fragile…15:11
dobeybah; that clip isn't on youtube :-/15:13
briancurtindobey: stable 4.2 is what i should be releasing out of, correct?15:13
dobeybriancurtin: not yet; afaik you should release what's in stable-4-0 for a windows release15:14
=== m_conley_away is now known as m_conley
dobeyok, need to get lunch. bbiab15:40
* gatox lunch15:47
=== gatox is now known as gatox_lunch
JoseExpositommcc, I'm looking how to connect objc with twisted, that I think that is the better option: http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server15:57
JoseExpositowhere can I found the protocol definition? (and the sync daemon port)15:58
=== francisco is now known as Guest96840
mmccJoseExposito, the protocol that it uses is the twisted "perspective broker" RPC protocol. if you want to write an objc-only client for the IPC, you would have to re-implement that protocol in objc. Just a sec and I'll send you links to their docs.16:06
mmccJoseExposito here: http://twistedmatrix.com/documents/current/api/twisted.spread.pb.html16:10
briancurtini'm heading to lunch with some old coworkers. be back in a while, will stick around later.16:11
mmccI'm not sure if there's any docs on how to implement that in other languages, probably not. The best bet is looking at the source, and you're looking at a significant amount of work…16:11
JoseExpositommcc, mmmm it looks so difficult, not like the chat example xD I'll check it, but it looks more easy add a plain text based protocol to the sync daemon that implement this in objc :S16:13
mmccJoseExposito it might be less work to implement a separate python wrapper that uses the twisted perspective broker API to talk to syncdaemon and then a simpler custom RPC protocol to talk to your plugin.16:13
JoseExpositommcc, yes, I think that is a better idea16:13
mmccJoseExposito yes. I wouldn't want to reimplement the perspective broker stuff in C/objc. You'd need to fully understand the python implementation first, and twisted is large…16:15
JoseExpositommcc, Probably a python auxiliar script that receives some command line arguments and prints the output state in a JSON could be the easier way16:17
JoseExpositommcc, thank you so much for the support, I have to go, see you!16:20
mmccJoseExposito you're welcome, feel free to ask any more questions over email too. bye!16:21
=== gatox_lunch is now known as gatox
chaselivingstonmmcc: will the mac app run on 10.5?16:41
mmccchaselivingston nope.16:41
chaselivingstonmmcc: ok cool, thanks16:41
mmccchaselivingston no problem, that was an easy one :)16:42
chaselivingstonmmcc: yep, you're welcome :)16:42
ryeralsina_: do you recall andy DeadReferenceError bug report?16:58
dobeyrye: ralsina_ is on holiday17:05
ryedobey: ah, thanks17:05
dobeyrye: but i don't recall seeing DeadReferenceError in any reports17:06
gatoxmmcc, dobey when you have a moment: https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/x-button/+merge/13272917:18
dobeywhy is that bug private+security?17:20
gatoxdobey, i don't know17:20
mmccand why do I sometimes get a new CP instance and sometimes not… :(17:21
gatoxmmcc, that is for me?17:21
mmccgatox not really. It's about your branch but I don't know how to reproduce it yet so I don't want to bother you. sorry about the moaning17:23
gatoxmmcc, the only reason i can think of why sometimes it's open a new cp....... it's because for some reason the socket process fail..... and because of that the exit is not being executed.... but it should..... that's why the part that send the message via socket is inside a try-except17:24
mmccgatox, right. well, there was some strangeness about the args that I noticed yesterday. I thought it was fixed with the try, though. I guess not17:25
gatoxmmcc, about the args?17:25
mmccspecifically, on darwin there are two extra args appended for the graphicssystem, or there should be, but I don't see them show up if I print the args in the socket message code…17:26
mmccso I'm not sure the assumptions about argv are necessarily going to work on darwin… I'm looking into it now17:26
dobeymmcc: i don't guess the socket message sending code, sends those as messages; but only sends the --switch-to for now17:27
gatoxyes17:28
dobeymmcc: so if you're printing in the process method, that's all you'll see. if you print argv in _send_messages (before the try) i'd guess you'd see them all17:29
mmccyeah, I'm printing in send_messages. I should see everything, but something's wacky17:30
dobeymmcc: perhaps we're adding them after we're calling send_messages then?17:30
mmccdobey they're added on the line before the UniqueApplication instance is created in main/__init__.py17:31
dobeymmcc: ah; i bet QUniqueApp or whatever it is, pops those args out17:34
gatoxmmcc, yes..... but send_messages is only taking care of what is defined in SOCKET_MESSAGES ..... should that be sent to the already running application?? are they really necessary if the app is already running?17:35
dobeymmcc: if you print right before _send_messages is called, i suspect they aren't there either17:35
dobeymmcc: no, it shouldn't be sent to the running app.17:35
gatoxright17:36
mmccok, QApplication does pop the -graphicssystem raster off.17:38
mmccso that's explained17:38
mmccyeah, it works from source but not from the wrapped .app . trying again with some debug prints, have to wait for build…17:39
mmccof course now it works fine17:47
mmccyep, can't reproduce. hooray computers18:01
gatoxmmcc, software is a collection of not deterministic code most of the time :P18:01
mmccbleh18:02
mmccbleh to software that is, you're right of course18:02
=== yofel_ is now known as yofel
dobeymaybe you should consult a doctor about that problem18:07
dobeyirc isn't really the place to discuss your personal issues ;)18:08
mmcc"I can't reproduce with this computer"18:09
dobeyugh; we need to move the certs i guess18:10
dobeynow my brain is stuck18:14
mmccnope, broke it again…18:20
gatoxbriancurtin, u1-cp is working for you from sources in windows?18:22
mmcc_othergatox: it does for me - what problems are you seeing?18:34
=== mmcc_other is now known as mmcc
gatoxmmcc, just getting stuck on the overlay when i open it18:36
mmccgatox: sounds familiar, check the syncdaemon logs to see if it has an exception. also make sure you've got the most recent trunk, since briancurtin fixed a few things18:37
gatoxmmcc, yap....... i'll do that18:37
dobeysomeone filed another bug about that today18:38
dobey3.0.2b getting stuck on the getting info for folders tab18:38
mmccok, I'm seeing a situation where the QLocalSocket is getting a connection refused error when connecting to the socket, even though there is a running instance already18:49
dobeyand you get a second instance in that case?18:52
mmccyeah, since the connection doesn't happen, it falls through to create its own new server and then runs along happily18:53
mmccI can create as many instances as I want once this happens18:53
gatoxmmcc, ahh but is it failing before the send_messages part then?18:53
mmccgatox: yes, it's apparently an old bug…18:54
* briancurtin back18:55
mmccoh hey that's useful, QLocalServer is now listening on fullServerName=''19:11
mmccsilly me was expecting a socket filename or something19:12
dobeydoes QLocalServer generally work on osx?19:14
mmccdobey: maybe not? this is the only time I've really tested it19:14
briancurtingatox: yeah, it works for me19:16
briancurtin(sorry for late response)19:16
mmccnow it's broken every time. Still not clear what breaks it. maybe it's leaving something timestamped in the filesystem somewhere. ugh.19:16
gatoxbriancurtin, yes, it's working now19:17
briancurtinmagic!19:17
gatoxbriancurtin, http://youtu.be/x0yQg8kHVcI19:18
briancurtinhahahhaha19:18
mmccso if I actually check the return value for qlocalserver.listen(), I see that it is failing because 'address in use'. So that explains things - one server died without cleaning up, and now the socket is broken for future servers. which means clients will try connecting to it and fail, and go on thinking they're the unique instance, attempt to start a server themselves, ignore that failure, and continue19:34
mmccwhee19:34
gatoxmakes sense.......19:34
gatoxmmmm something is really wrong with the regex and windows paths19:40
dobeymmcc: eep, that's not good19:41
mmccyeah, especially since I'm not sure how to get qt to tell me what socket it's trying to open :) qlocalserver only tells you its name if it's successfully listening19:41
mmccwell if I start a random server from the console with the name 'wtf', I get a file /var/folders/garbagestring/T/wtf — but there's no similar open file in lsof -U. and no file in /var/folders that 'find' can find named '*ubuntu*'19:55
mmccso why does a new QLocalServer still fail?19:56
dobeymagic?20:02
briancurtinmagic!20:02
briancurtindobey: i commented on that cert MP...i'm not totally happy with the whole thing myself, could use some guidance on the few questions there20:03
dobeybriancurtin: i'm thinking about how to deal with that; we can't move the cert files in stable-4-0; the stable branches/ubuntu arrangement makes this a bit harder to do 'the right way' everywhere20:04
mmcchmm, that's interesting, we're doing something that the Qt docs say we should "be careful to avoid" — calling removeServer without having closed the server20:04
mmccof course they don't say *why*20:05
dobeymmcc: because! that's why!20:05
mmccthat function deletes the socket file. I think in our case it's harmless, because we only do it on our way out the door and we're not trying to use the running server afterward20:06
briancurtindobey: i'm not opposed to doing something in a one-off way for windows. most releases i've done have required something a bit quirky20:06
gatoxok....... eod here!! see you people!20:14
mmccOK, I think my problem with the socket stuff was related to it crashing and leaving the socket file around. I'm going to suggest that we add one line to that branch that should make it more robust. And maybe some error checking and logging20:39
briancurtindobey: i think the cert MP is a bit more clean for the time being. using the function from storageprotocol, removed some lint21:02
dobeybriancurtin: cool; like i said on the MP, i think it's fine to ship it as a patch in the windows build to get it done and working with the 4.0.x code, but we need to do a bit more thinking on how best to manage it in runk21:04
briancurtindobey: cool, agreed. i'll move forward with the patched installer21:05
dobeygreat21:06
briancurtindobey: is there supposed to be a stable-4-0 for windows-installer, or should i take that out of trunk?21:06
dobeybriancurtin: no, there isn't one for that, as we were planning to rename it; but we never got around to the rename. i wonder if we should make the stable branches for it21:08
dobeythey will get renamed anyway, so i probably should make them for it as well21:08
dobeyman i love advertisements21:09
dobey"SAVE 80%" in REALLY BIG font, and then in really really tiny font between the two, it says 'up to'21:10
briancurtini'm guessing it's close to your EOD so i'll wait on creating the installer if there's going to be a stable branch for the project21:10
dobeynah, go ahead and do the release21:11
dobeyor the build at elast21:11
dobeyleast21:11
dobeyi can make the stable branches whenever21:11
briancurtinwith the installer out of trunk but the sso/client/etc branches from stable-4-0?21:11
dobeyyeah21:11
briancurtinok, cool21:12
=== m_conley is now known as m_conley_away
dobeyand with that, i'll be off.21:20
dobeyhave a good weekend all!21:20
briancurtinyou too21:20
=== yofel_ is now known as yofel
mmccwow. I think this thing finally works.22:22
briancurtinmmcc:  which thing?22:22
mmccthe whole burrito — the pyobjc menu launched from within the main app, quitting and relaunching CP, remotely switching CP tabs, progress bars22:24
briancurtinnice22:24
mmccno, I forgot a couple todo's22:24
mmccbut still, progress!22:24
=== eu is now known as Guest30381
=== Guest30381 is now known as adorilson
mmccok, will be back later tonight to wrap up23:10

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