[03:04] o/ and good $daytime to everybody present ;) [07:00] good morning [07:01] morning dholbach [07:11] hwy dpm [07:13] good good, happy friday [07:14] yes :) [07:44] Morning all o/ [07:46] salut davidcalle [07:48] dholbach, hey, do you mind having a look at the translations dashboard screenshot on the sprint5 board? It's just a first shot at it, but I'd like to have your feedback. [07:51] sure [08:04] davidcalle, I noticed you're using connection.cursor() [08:04] davidcalle, was there no way around it? [08:05] if possible, I'd always use https://docs.djangoproject.com/en/1.8/ref/models/querysets/ as django's usually much better at figuring out which SQL bits to use [08:05] dholbach, I've spent the whole day on that and haven't found one. [08:08] dholbach, hmm, I'm looking at your link and I'm starting to reconsider... [08:09] davidcalle, for example: [08:09] >>> from cms import models [08:09] >>> models.CMSPlugin.objects.order_by('changed_date') [08:09] [, , , , , , , , , , , , , , , , , , , , '...(remaining elements truncated)...'] [08:10] playing around with Django's queryset API and other ORM features was one the few revelations in my life [08:11] ok, maybe not quite, but still - it's good fun and quite rewarding [08:11] if you want me to have a look at changing it in the code, let me know [08:12] dholbach, well, if you can find queries matching the three I'm doing, please have a go at it :) [08:12] sure [08:18] Here is the point of each query : the first one looks for recently changed plugins: this provides the date, the lang of the edit, and a "placeholder" id. The second one looks in the plugins revisions history to see if it's an actual manual content change. The third one uses the placeholder id to find which page contains the changed plugin. [08:19] ok cool [08:19] it'll take a bit longer as it's not just the queries but also the arguments you pass later on [08:19] basically instead of an array you can pass use attributes of an object [08:20] which will be a bit more readable as well [08:20] I'll let you know when I'm done [08:22] dholbach, awesome. If you find better ways of collating language changes to a page id, please share, I was honestly a bit out of order when I finished that :) [08:24] I'll cycle over to the office real quick then dive back into it [08:24] * dholbach hugs davidcalle [08:24] see you in a bit [08:24] wow, dashboard looking good davidcalle! [08:24] * davidcalle hugs dholbach back [08:25] dpm, glad you like it :) Daniel is having a look at if it can be simplified, with his djangodb experience from the store data work. [08:26] yeah, saw the conversation, good work everyone [08:26] dpm, unrelated but worth knowing, we now have a page to document aggregator scopes : https://developer.ubuntu.com/en/scopes/guides/integration-aggregator-scope [08:27] * dpm looks [08:28] davidcalle, I think it might require hitting the "Publish" button :) [08:28] noooooo [08:28] it has nice secretive mystery in it this way [08:28] :) [08:28] dpm, hey no, that was private documentation! :p [08:29] I remember one of my most-visited blog posts was one that I had set to private because I wanted to show the draft to someone, and landed accidentally on Planet Ubuntu as a private post :-) [08:30] dpm, hehe [08:30] davidcalle, do you mind if I add some feedback regarding the dashboard view on the card? [08:30] dpm, sure, it's here for that reason :) [08:31] cool [08:35] hello all [08:42] hi MooDoo [08:43] davidcalle, done, added some feedback [08:44] davidcalle, on the QML/C++ tutorial card, would you mind adding a link to the tutorial and marking the bug as fix released? [08:44] dpm, yep reading it, and +1 on everything [08:45] great [08:45] dpm, I haven't marked the bug as released, because I think there is a second requirement (/me looks for it) [08:45] davidcalle, I think he'd need to file a separate bug for that, but neither Pat or I thought it would be something we need to focus on [08:45] as it seemed a bit of a corner case [08:46] dpm, ok [08:47] I'll add a note myself [08:49] gooooooood morning [08:49] dpm, I've commented for liuxg to create a second one, and I've marked this one as released. [08:50] Hello czajkowski [08:50] davidcalle, seems we commented at the same time :) [08:50] hey czajkowski, happy Friday to you too ;) [08:50] dpm, at least their are not conflicting :) [08:51] indeed :) [08:51] davidcalle, also, do you think you could write the brief blog entry as usual, to point folks to the new tutorial? [08:53] dpm, +1 [08:53] \o/ [09:05] it's Friday it's a good day people! [09:49] davidcalle, what do you use 'all_pages' for? [09:50] dholbach, leftover cruft [09:50] afaict :) [09:50] ok [09:52] davidcalle, https://code.launchpad.net/~dholbach/developer-ubuntu-com/translations-dashboard/+merge/263080 [09:56] dholbach, lovely, it's much better! Thanks :) [09:58] Merged [10:03] davidcalle, the template says /tblody - not sure that was supposed to indicate your thoughts about the project at the time ;-) [10:03] apart from that: +1 from me on the branch [10:03] dholbach, :D [10:03] the query could probably be a bit faster still [10:04] but I'm not sure how to do that as I still don't get 100% of the model structure :) [10:05] dholbach, I still want to add a few things, visually, to make the table a bit nicer. Yeah, the model structure is painful, I had to spend a lot of time exploring the db with sqlitebrowser to figure out where the info was. [10:07] good work! [10:07] mhall119, I'd appreciate another review of https://code.launchpad.net/~dholbach/developer-ubuntu-com/store-data/+merge/262684 [10:08] and maybe we can talk about how to make use of the data in a custom plugin or whatever it takes to display it somewhere :) [10:15] anyone here goig to OSCON, which hotels are you staying at ? [11:06] popey, works for you? (you need to log in to see the page) [11:06] davidcalle: hmm? [11:06] popey, better with the link https://developer.ubuntu.com/en/community/coreapps/music/ [11:08] hm, how do i login again? [11:08] wish there was a handy link [11:08] popey, /openid/login [11:08] i tried variations on that, thanks :) [11:09] davidcalle: it says it doesn't exist. [11:09] nvm, found it via the menu [11:10] * popey skips [11:10] \o/ thanks davidcalle [11:11] popey, yw :) [11:36] happy friday everyone! [11:37] yes [12:02] :) [12:39] popey: please kick the server :) [12:43] its busy [13:00] nice name [13:00] for the episode [13:09] heh [13:57] hey mhall119 [13:57] mhall119, how's life? [13:57] hey dholbach [13:57] dholbach: it gives and it takes [13:57] * dholbach hugs mhall119 [13:58] new washer and dryer are being delivered today,so I get to do laundry agian [13:58] mhall119, can you maybe take a bit of time and explain to me a bit more about the importer and the api site? [13:58] it's a bit hard for me to review your MP otherwise :) [13:58] dholbach: ah, yes, you want to do it on a hangout? [13:58] and I'd also need some help to figure out what the next steps with https://code.launchpad.net/~dholbach/developer-ubuntu-com/store-data/+merge/262684 are [13:58] right now it's just "get data" [13:58] sure [14:34] mhall119, one thing I haven't quite figured out as well is "CSRF verification failed. Request aborted." [14:35] mhall119, after having set up everything according to the README file and navigating to /admin that's what I get [14:37] dholbach: you shouldn't need to go to /admin/ [14:38] dholbach: go to /openid/login and then you'll have the djangocms admin bar at the top [14:38] oooooooooooh ok [14:39] thanks [14:50] mhall119, I get http://pastebin.ubuntu.com/11778950/ [14:51] (running update_apidocs.sh) [14:51] dholbach: did you activate your virtualenv? [14:51] source ./env/bin/activate [14:52] otherwise update_apidocs.sh uses your system python, rather than the one in the virtualenv [14:52] sorry, yes - that fixes it [14:53] I think I did something wrong wrt putting language/topic/version into the admin interface [14:55] the data structure and what it's supposed to mean isn't quite clear to me and it looks like the structure is somewhat recursive(?) (topic → version → language → version, etc.) [14:55] let me go back and try again [14:56] dholbach: just topic -> language -> version [14:57] language has two version fields to store current and development aliases only [14:57] they aren't strictly necessary for doing the import though [14:58] ok [14:59] mhall119, if I get "api_docs.models.DoesNotExist: Topic matching query does not exist." I got something wrong, right? :) [15:01] dholbach: it means your database doesn't have Topic instance that matched the -t flag you've passed to the importer [15:01] dholbach: are you running all of update_apidocs.sh or just one specific import? [15:02] ah ok, I didn't know I could limit it [15:02] dholbach: you can pull out just the 2 or 3 lines for the specifc doc you want [15:03] and update_apidocs.sh actually does have comments :) [15:04] ok cool [15:08] mhall119, quick django question, how can I make sure AllPages() is instanced each time the page is reloaded? http://bazaar.launchpad.net/~davidc3/developer-ubuntu-com/translations-dashboard/view/head:/translations_dashboard/views.py [15:11] davidcalle, maybe something like this? [15:11] from django.views.decorators.cache import never_cache [15:11] @never_cache [15:11] def myview(request): [15:11] dholbach: Error: "never_cache" is not a valid command. [15:12] thanks meetingology [15:13] mhall119, does http://127.0.0.1:8000/en/api/autopilot/python/1.5.0/porting-porting/ show up in your case? it's mentioned as "Porting Autopilot Tests" on http://127.0.0.1:8000/api/autopilot/python/1.5.0/ [15:14] or is that taken care of by import_sphinx? [15:16] dholbach: it should not have /en/ in there [15:17] it shows up in production: https://developer.ubuntu.com/api/autopilot/python/1.5.0/porting-porting/ [15:18] davidcalle: is your concern with cache? [15:20] mhall119, it autoredirects me there [15:20] mhall119, I'm not sure it is, but the functions used from that class never run after the first page load, until the server is restarted. [15:20] dholbach, no luck with never_cache [15:20] davidcalle, ok - sorry... it was just something I picked up on the net :/ [15:21] mhall119, I just used the 3 added lines from update_apidocs.sh this time [15:21] dholbach: it would do that if it has a 404, which likely means that the porting-porting page wasn't imported [15:21] mhall119, not sure if I need to do anything else to import the guides [15:21] dholbach: what importer commands have you run? [15:22] just the three added lines from update_apidocs.sh [15:22] davidcalle: where is the function located? [15:23] dholbach: ah, then it's only imported the scope-harness docs, which isn't where porting-porting comes from [15:24] ok - I don't know how to import that then [15:24] mhall119, everything is in views.py, functions are outside my main class (but could be in) [15:25] mhall119, trying to run import_sphinx, I get http://pastebin.ubuntu.com/11779066/ [15:26] is there another thing I should register somewhere? [15:29] davidcalle: if it's in your view, then it should be executed every time unless the page is served from cache [15:30] ping jose [15:30] dholbach: you have to give import_sphinx all those various command-line options for it to work [15:30] dholbach: it's not smart enough to print out a help message or anything when they're missing [15:31] hum [15:31] ok [15:33] ok, then I don't quite know how to drive it [15:33] I guess it should be something like this? python ./manage.py import_sphinx -s autopilot -r 1.5.0 -t autopilot -l pytho [15:34] python [15:34] dholbach: you can just copy/paste all of the Autopilot section from update_apidocs.sh [15:34] so, line 85-95 [15:35] that should all "just work" [15:35] mhall119, working now -_-" [15:38] mhall119, I've turned the class into a function returning what I want and added the never_cache decorator [15:41] mhall119, great, now it works [15:41] thanks [15:41] dholbach: no problem [15:53] mhall119, approved [15:55] all rightie...... have a great rest of your day everyone and a great weekend! [15:55] hugs! [15:57] dholbach: thanks :) [16:00] dholbach: bye [16:02] bye :) [16:10] Enjoy your weekend everyone =) o/ === dpm is now known as dpm-afk === dpm-afk is now known as dpm