IRC Logs

2008 9
Mo Tu We Th Fr Sa So
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

06. 09 2008

[00:10:39] <s0undt3ch> ppl, can I get an instance of mercurial.hgweb.server from an instance of mercurial.hgweb.server._error_logger?
[00:11:12] * delroth has joined #pocoo
[00:17:25] <leche> dennda: or tux21b is it that bad to leave embedded mode?
[00:17:53] <apollo13> leche: yeah
[00:17:59] <apollo13> better use daemon mode
[00:18:06] <apollo13> unless you know what you are doing
[00:21:25] <leche> apollo13: ok, trying daemon mode, i get the following error
[00:21:29] <leche> Invalid command 'WSGIProcessGroup', perhaps misspelled or defined by a module not included in the server configuration
[00:22:42] <apollo13> show the whole apache conf
[00:23:23] <leche> ok, will last a min
[00:26:31] <leche> apollo13: http://rafb.net/p/EqOWco29.html
[00:30:54] <apollo13> no idea sry
[00:31:19] <leche> kk
[00:42:02] * Kaelten has quit IRC
[00:43:20] <asmodai> crap
[00:43:26] <asmodai> I needed to talk to kaelten
[00:53:08] <dennda> FAIL
[01:13:51] <asmodai> epic
[01:24:39] * grumpy has joined #pocoo
[01:25:39] <grumpy> leche: daemon mode will not work with kolab as prerequisites not present, this is why code originally failed to compile
[01:26:04] <grumpy> only other system which has same situation is Windows, although in that case can't work because no fork
[01:26:05] <leche> grumpy: theres no chance?
[01:26:22] <leche> whats needed for this?
[01:26:22] <grumpy> in kolan case, seems APR hasn't got APR_HAS_OTHER_CHILD defined.
[01:26:42] <grumpy> alternatively APR not compiled with thread support
[01:27:46] <grumpy> Find apr.h in Apache/APR installation and tell me what APR_HAS_OTHER_CHILD and APR_HAS_THREADS are set as.
[01:28:12] <dennda> What's the major disadvantage of using embedded mode? As said, some other blog here runs in that mode since quite some time without problems
[01:28:52] <dennda> oh actually that is a lie. I switched to daemon mode there too, but only two weeks ago or so
[01:28:59] <grumpy> daemon mode can run as different user and can restart application without restarting whole of Apache
[01:29:20] <dennda> ah ok but that may not be such a big issue in his case
[01:29:29] <grumpy> if box has lots of memory and application just runs all the time and no special user privilege issues then embedded mode okay
[01:29:55] <grumpy> grumpy wandering away for a while
[01:30:55] <leche> ok, thanks
[01:33:04] * M3ntor5 has quit IRC
[01:36:38] <grumpy> I'm still interested in the value settings as daemon mode only enabled if '#if APR_HAS_OTHER_CHILD && APR_HAS_THREADS && APR_HAS_FORK' is satisfied. Like to know how this kolab Apache is compiled.
[01:38:48] <dennda> grumpy: You aren't Graham, are you?
[01:39:21] <dennda> Just a weird thought. Graham Dumpleton
[01:42:35] <tux21b> dennda, exactly, he is ;)
[01:42:55] <dennda> wow call me sherlock
[01:43:02] <dennda> grumpy: Thanks for that piece of software :-)
[01:44:04] <tux21b> +1 (even when we are not using it atm)
[01:46:36] <grumpy> Oh no, my secret identity unmasked. I'll have to change my nickname to 'cranky' now. :-)
[01:50:09] <prencher> 'modwsgiguy'
[01:50:32] <dennda> HAHAH! The whole world will know by now
[01:50:35] <prencher> then when people ask, you can just reply in russian and they'll think you're that nginx modwsgi port dude
[01:51:35] <tux21b> then use `notthatngixmodwsgiportdude` as alternative
[01:51:56] <grumpy> Ah, no I can handle multiple requests and don't block when handling just one. ;-)
[01:52:03] <grumpy> Anyway, I gotta go do some housework.
[01:52:16] <prencher> owned by the GIL again grumpy?
[01:53:25] <grumpy> Wasn't thinking about GIL actually, but how nginx is event driven and so one active requests blocks out any others. I am multithreaded and multiprocess.
[01:53:39] <prencher> no i meant, you have to go to housework
[01:53:42] <prencher> your own personal GIL ;)
[01:58:08] <leche> grumpy: what do you want to know about kolab apache? ill try to give those infos
[02:01:40] * [diecast] has quit IRC
[02:03:13] <leche> tomorrow then, n8 guys
[02:06:52] * leche has quit IRC
[02:16:02] * highwaychile has quit IRC
[02:43:47] * izibi has quit IRC
[02:51:29] * aconbere_ has quit IRC
[07:18:40] * empty has quit IRC
[08:32:24] * empty has joined #pocoo
[08:32:45] * empty has left #pocoo
[09:11:05] * leche has joined #pocoo
[10:18:04] * highwaychile has joined #pocoo
[10:53:20] * Tik-Tok has quit IRC
[10:58:28] * EnTeQuAk has joined #pocoo
[11:16:17] * izibi has joined #pocoo
[11:16:52] * davidcramer has quit IRC
[11:21:08] * davidcramer has joined #pocoo
[11:25:41] * davidcramer has quit IRC
[11:44:50] * davidcramer has joined #pocoo
[11:49:47] * izibi has quit IRC
[12:03:48] * leche has quit IRC
[12:04:14] * M3ntor5 has joined #pocoo
[12:09:05] * izibi has joined #pocoo
[12:14:16] * M3ntor5 has left #pocoo
[13:32:49] * EnTeQuAk has quit IRC
[13:36:12] * grumpy has quit IRC
[14:13:41] * mitsuhiko has joined #pocoo
[14:14:29] <mitsuhiko> hi everybody
[14:14:33] <dennda> mitsuhiko: hi
[14:14:39] <dennda> mitsuhiko: I started the notification stuff
[14:15:56] <dennda> mitsuhiko: can you take a brief look if it somewhat resembles your idea? http://www.bitbucket.org/dennda/zine-dennda/
[14:16:07] <asmodai> mitsuhiko: OH NOES
[14:16:08] <asmodai> HE IZ BAK
[14:16:16] <asmodai> hide yer codes
[14:16:29] <mitsuhiko> asmodai: tataaaa
[14:16:44] <apollo13> mitsuhiko: you are still in greece, aren't you?
[14:17:00] <mitsuhiko> apollo13: no, back in austria now
[14:17:06] <apollo13> u short trip
[14:17:21] <mitsuhiko> well. 5 weeks of holidays are enough :)
[14:17:35] <apollo13> btw got my freerunner :)
[14:18:06] <mitsuhiko> apollo13: and what do you do with it
[14:18:11] <apollo13> play
[14:18:15] <CIA-49> Zine: mitsuhiko default * 475:30ac47218ea6 /zine/ (3 files in 3 dirs): Small changes on the db layer. sqlite paths are now given with two and three slashes rather than three and four
[14:18:15] <CIA-49> Zine: mitsuhiko default * 476:6430a14fca77 /zine/ (database.py views/admin.py websetup/__init__.py): Fixed new sqlite uri handling
[14:18:15] <apollo13> duke nukem 3d ;)
[14:18:15] <CIA-49> Zine: mitsuhiko default * 477:2d5c1b017a0a /zine/ (12 files in 6 dirs): Added theme settings
[14:18:17] <CIA-49> Zine: mitsuhiko default * 478:0410188608f5 / (5 files in 3 dirs): Various small improvements in scripts
[14:18:18] <CIA-49> Zine: mitsuhiko default * 479:329de498c956 /zine/ (17 files in 10 dirs): Added modular color scheme support to vessel theme and added an example colorscheme for it
[14:18:21] <CIA-49> Zine: mitsuhiko default * 480:652233343875 /zine/ (14 files in 12 dirs): More cleanup in admin panel and some themes
[14:18:24] <mitsuhiko> hehe
[14:18:26] <CIA-49> Zine: mitsuhiko default * 481:fb09f60ea81c /zine/ (14 files in 13 dirs): Some more changes I haven't committed yet (mostly style i think)
[14:18:29] <CIA-49> Zine: mitsuhiko default * 482:4a2900240cc2 /docs/ (5 files in 2 dirs): Automated merge with ssh://team@pocoo.org/zine-main
[14:18:45] <mitsuhiko> apollo13: anything new i should know about?
[14:18:54] <apollo13> not here
[14:19:02] <apollo13> uu-webteam
[14:19:46] <ronny> oh, color shemes
[14:20:00] <ronny> finally i can add dark to miniblog itself
[14:20:24] <dennda> wasn't that hard before, was it?
[14:20:46] <dennda> mitsuhiko: especially http://www.bitbucket.org/dennda/zine-dennda/changeset/84cd8f543ee6
[14:20:50] <mitsuhiko> ann: http://www.reddit.com/r/zine/
[14:21:15] <mitsuhiko> dennda: i'll play with it in a few minutes
[14:21:28] <mitsuhiko> just retrieving my mails and skimming the news
[14:21:52] <dennda> ok
[14:22:02] <asmodai> mitsuhiko: django 1 is released
[14:22:07] <asmodai> thought you wanted to know. :P
[14:22:08] <dennda> I don't think I committed my proof of concept jabber thing tho
[14:22:09] <mitsuhiko> o noes
[14:22:13] <dennda> i can do if you liek
[14:22:15] <mitsuhiko> objective j too
[14:36:03] <dennda> ok somewhat broke or is broken with comment names
[14:36:11] <mitsuhiko> great. 3.0 will ship with broken base classes
[14:36:34] <dennda> I just pulled your changes and now I got a comment from "$username" in my comment overview
[14:36:40] <dennda> dunno if that was before, too
[14:36:41] <ronny> mitsuhiko: wth?
[14:36:49] <asmodai> mitsuhiko: they ripped bsddb out of 3.0
[14:36:56] <ronny> mitsuhiko: what broken base classes?
[14:36:58] <mitsuhiko> asmodai: why?
[14:37:05] <asmodai> mitsuhiko: maintainability
[14:37:07] <mitsuhiko> ronny: MySet() | set("foo") -> works
[14:37:10] <mitsuhiko> but not the other way round
[14:37:13] <asmodai> mitsuhiko: was causing too many problems for too long
[14:37:25] <mitsuhiko> cool: http://dmsolutions.jp/wp/2008/08/31/python-wsgi-%E7%BF%BB%E8%A8%B3/
[14:37:42] <asmodai> mitsuhiko: Google released a browser
[14:37:43] <mitsuhiko> asmodai: maybe you could check if the text is correct :D
[14:37:49] <mitsuhiko> asmodai: ah yes. lame
[14:38:02] <asmodai> NO WAI
[14:38:09] <asmodai> I like it thus far
[14:39:38] <maze> mitsuhiko, what does it say :p
[14:40:10] <asmodai> it's a translation for all I see
[14:41:03] <mitsuhiko> it's a translation of an old article of mine
[14:50:33] <prencher> hey mitsuhiko
[14:50:42] <prencher> how was...whatever the hell you went this time?
[14:50:42] <mitsuhiko> hiho prencher
[14:51:46] * izibi has joined #pocoo
[14:59:41] <dennda> mitsuhiko: afaict you broke a bit of comment functionality with one of those changesets
[14:59:54] <mitsuhiko> prencher: greece :)
[15:00:00] <mitsuhiko> and nice :)
[15:00:15] <mitsuhiko> dennda: in what way?
[15:00:22] <dennda> (a logged in user doesn't need to provide his name when adding a comment, but it now shows up that it was written by "$username". after reverting your changesets it works correctly again)
[15:00:49] <dennda> if hg bisect worked I could tell you which revision I am talking about exactly, but it somewhat sucks a bit
[15:03:23] <dennda> mitsuhiko: nevermind. that bug is a bit weirder than I thought. if a logged in user other than me (me being the first superuser, the other user is an admin, too) adds a comment, the explained behaviour shows up
[15:08:09] <dennda> hm the latest comments widget is buggered, too
[15:08:16] <prencher> mitsuhiko - i want in on that pot of gold you posses
[15:08:41] <mitsuhiko> dennda: the widgets will go soon hopefully anyways for something better
[15:08:48] <mitsuhiko> the user but, i don't know. will look into that
[15:08:49] <dennda> oh
[15:08:56] <dennda> ok thanks
[15:09:04] <dennda> i'll just remove that widget for now
[15:34:53] * leche has joined #pocoo
[15:43:24] <birkenfeld> wb mitsuhiko
[15:43:31] <mitsuhiko> hiho birkenfeld :)
[15:54:24] <dennda> leche: hg pull -u
[15:55:29] <aa_> mitsuhiko: maybe accept a contrib/ for werkzeug which is a response that proxies an http request and response over urllib?
[16:04:08] <ronny> aa_: thats only painless if the server is async
[16:05:27] <mitsuhiko> grml. found a bug
[16:05:30] <leche> dennda: done
[16:05:39] <mitsuhiko> aa_: does that exist already?
[16:06:29] <dennda> leche: ok. hg tip should now report Automated merge with ssh://team@pocoo.org/zine-main
[16:06:40] <aa_> mitsuhiko: it will during the course of the afternoon. Something like "return RemoteHTTPResponse(url)"
[16:07:11] <apollo13> dennda: I don't think leche is a teammember
[16:07:24] <aa_> or actually (*args whatever is compatible with urllib2)
[16:07:28] <dennda> apollo13: ?
[16:07:33] <apollo13> ssh://team@pocoo.org/zine-main
[16:07:37] <dennda> so?
[16:07:37] <apollo13> can't be for him
[16:07:47] <dennda> apollo13: after he pulled in armins changes it can :-)
[16:07:55] <apollo13> arg nm
[16:09:27] <prencher> aa_ - whats the use of that?
[16:09:52] <leche> dennda: so, its automatically updated now?
[16:09:56] <dennda> leche: yes
[16:10:06] <dennda> you are bleeding edge now ;)
[16:10:27] <aa_> prencher: proxying
[16:10:40] <aa_> prencher: specifically nice for ajax requests
[16:10:59] <leche> oO dennda how often is it upated? do i have any controll?
[16:11:06] <TheSheep> leche: prepare to bleed a lot ;)
[16:11:23] <prencher> aa_ - i dont exactly see a response replacement proxy as being a common thing, and what's the point of ajax if it's just a full request?
[16:11:43] <prencher> nothing wrong with having it, just wondering what the use case is
[16:12:36] <dennda> leche: control about what? it's revision control. you can update each changeset individually if you like
[16:12:37] <aa_> it's what I just told you
[16:13:06] <aa_> and common and necessary are not the same thing. And I don't understand the second bit.
[16:13:09] <aa_> prencher: ^^
[16:13:10] <dennda> leche: hg pull gets all the changesets from the main repository, -u or hg update tells it to apply all those changesets to your local branch
[16:13:38] <leche> dennda: ok, ill ask you before if its riskless ;-)
[16:13:54] <dennda> leche: you can revert
[16:14:22] <prencher> aa_ - but you didn't give me any use case, you just said "it's useful for proxying".. such as? i dont see how it relates to ajax at all
[16:14:59] <aa_> prencher: well, say you have a json service on a different host to the web server...
[16:15:10] <aa_> prencher: and you want to make plain ajax requests...
[16:15:22] <dennda> leche: hg incoming tells you if there are any new changesets in main
[16:15:35] <leche> dennda: well, now i need a cool theme ;-)
[16:15:44] <prencher> aa_ - but what use is it to wrap the return in a response object as opposed to just using urllib? im just not seeing what that provides you
[16:15:44] <CIA-49> Jinja 2: mitsuhiko trunk * 557:dd27bd2dfae9 /jinja2/ (loaders.py runtime.py _ipysupport.py): More work on the ironpython support
[16:15:44] <CIA-49> Jinja 2: mitsuhiko trunk * 558:80ed3eaab7d3 / (CHANGES jinja2/ext.py tests/test_i18n.py): Fixed a bug in the i18n extension that caused the explicit pluralization block to look up the wrong variable.
[16:15:53] <mitsuhiko> aa_: sounds nice
[16:16:11] <aa_> prencher: actually it's a nice solution, since you can lock down the actual service with ssl certs, and only make it available from the web server, which proxies to the javascript client
[16:16:12] <dennda> leche: there should be something new if I read mitsuhikos commit message correctly
[16:16:30] <mitsuhiko> ironpython is sooo weird
[16:16:43] <mitsuhiko> does anyone want to rewrite the jinja parser so that it doesn't use re any more? :D
[16:16:46] <aa_> mitsuhiko: fuzzyman will be at pycon
[16:16:51] <leche> dennda: what about thememing it own my own? are there any guides?
[16:16:56] <leche> theming;
[16:17:00] <leche> themeing
[16:17:01] <aa_> mitsuhiko: you should come and talk to him about iron python
[16:17:03] <dennda> leche: it's ridiculously easy
[16:17:08] <dennda> if you know basic CSS
[16:17:15] <prencher> aa_ - you still haven't answered what wrapping the urllib in response gives you
[16:17:16] <leche> yeah, a bit
[16:17:33] <prencher> that's all im wondering, why you want it inside a response object
[16:17:36] <dennda> leche: just take a look at the themes in zine-main/zine/plugins
[16:17:57] <leche> dennda: so, you suggest modding one instead of starting from scratch?
[16:18:04] <aa_> prencher: a response is a wsgi application, a callable (etc) this will turn any url into a wsgi application, in it's broadest sense, and specifically will allow you to return the contents onf an arbitrary url from a view.
[16:18:09] <dennda> leche: copy and then modify
[16:18:21] <leche> mkay
[16:18:39] <dennda> if you modify one directly you may get conflicts when updating. if you don't know mercurial and how to resolve them, I advise you to copy first
[16:19:12] <mitsuhiko> prencher: could be cool for proxying arbitrary applications
[16:19:14] <mitsuhiko> (php cough)
[16:19:41] <prencher> good point
[16:19:43] <leche> dennda: ok, now i have to find an artist ^^
[16:20:39] <prencher> aa_ - that's a use case, not what it does.. that's all i was looking for
[16:20:52] <aa_> prencher: oh, sorry
[16:22:01] <prencher> anyway, i was just not seeing how it might be useful, but i can see it for e.g. proxying awstats or something
[16:23:47] <leche> dennda: ok, after that hp pull -u one theme does work no more...
[16:24:45] <dennda> leche: oh, blame mitsuhiko
[16:25:00] <leche> mitsuhiko: i blame you
[16:25:39] * mitsuhiko whistles the "it's not released yet tune"
[16:25:47] * mitsuhiko listens to fm4
[16:28:07] <dennda> leche: which one doesn't work?
[16:28:15] <leche> dennda: all except default
[16:28:24] <dennda> what exactly doesn't work?
[16:29:18] <leche> dennda: http://rafb.net/p/MKkYXi27.html
[16:31:09] <dennda> looks like mitsuhiko changed some name or something
[16:31:51] <leche> dennda: you mentioned something like revert?
[16:32:13] <dennda> yes lemme find the revision that causes the error
[16:32:15] <mitsuhiko> dennda: that looks like a new theme is used with an old zine installation
[16:32:35] <leche> TheSheep: i started bleeding allrdy ;-)
[16:32:36] <dennda> mitsuhiko: he checked out trunk two days ago
[16:33:09] <mitsuhiko> well. i introduced shared_url two days ago after a bike trip on a boat in greece and pushed that a few minutes ago
[16:33:26] <mitsuhiko> so something's definitively wrong here
[16:35:59] <dennda> leche: just use another theme for now, I will look into it later
[16:37:33] <leche> dennda: yeah, ill use the beautiful default ;-)
[16:37:48] * mikeyumatov has joined #pocoo
[16:38:07] <dennda> leche: I thought that one was b0rked?
[16:38:19] <leche> dennda: all except default...
[16:38:32] <dennda> ah that way
[16:38:33] <dennda> ok
[17:10:43] <CIA-49> Zine: mitsuhiko default * 483:c7baf7f5cee8 /zine/_ext/feedparser.py: Added feedparser as ext library
[17:10:43] <CIA-49> Zine: mitsuhiko default * 484:66d7b1fd5064 /zine/ (9 files in 8 dirs): Replaced unimplemented planet zine with the Zine reddit.
[17:11:08] <CIA-49> Zine: mitsuhiko default * 485:9914ed8eb762 /zine/utils/admin.py: r/programming -> r/zine (was proggit for testing purposes)
[17:20:20] * EnTeQuAk has joined #pocoo
[17:46:43] <davidcramer> mako isnt sandboxed right? (its super fast?)
[17:49:03] <mitsuhiko> davidcramer: faster than jinja2?
[17:49:19] <davidcramer> no clue
[17:49:27] <davidcramer> jinja2 can run outside of a sandbox?
[17:49:30] * mitsuhiko runs the benchmark again
[17:49:31] <davidcramer> if so ill use that as my example :)
[17:49:35] <mitsuhiko> davidcramer: it does it per default
[17:49:35] <davidcramer> give me your benchmark
[17:49:37] <davidcramer> ill put it on a slide :P
[17:49:54] <davidcramer> i wanted to do some, but i didnt have time
[17:50:21] <mitsuhiko> sec
[17:51:35] <mitsuhiko> davidcramer: http://paste.pocoo.org/show/vV5MMU0MY5MXbXCtTg2C/
[17:51:42] <mitsuhiko> (latest version of each library)
[17:51:58] <davidcramer> alright
[17:52:00] <mitsuhiko> but with a cached django template which gives django a fairer advantage
[17:52:15] <mitsuhiko> (even though django itself is not caching them)
[17:52:18] <davidcramer> ya
[17:52:51] <davidcramer> what's real-worldish example
[17:53:00] <xorAxAx> hi mitsuhiko
[17:53:03] <xorAxAx> back from greece?
[17:53:05] <mitsuhiko> hiho xorAxAx
[17:53:07] <mitsuhiko> yes.
[17:53:41] <davidcramer> what's raw throughput also
[17:53:52] <mitsuhiko> davidcramer: http://dev.pocoo.org/hg/jinja2-main/file/tip/examples/rwbench/
[17:53:56] <mitsuhiko> that's the real worldish example
[17:54:09] <mitsuhiko> the raw throughput is a looooong loop
[17:54:28] <mitsuhiko> it basically benchmarks the looping/stream-writing performance
[17:54:34] <davidcramer> ah
[17:54:53] <mitsuhiko> the real worldish is a more complex template situation implemented for each templating language slightly differently
[17:55:02] <mitsuhiko> eg: custom template tags for django
[17:55:10] <mitsuhiko> and macros in jinja
[17:56:38] <prencher> the only thing that matters is that django templates are sloooow. and genshi sloooooooooow.
[17:57:14] <prencher> until they ditch that piece of shit runtime they have it's never gonna come close to either jinja nor mako
[17:57:47] <prencher> hows your asp.net adventures coming mitsuhiko
[18:05:30] <asmodai> birkenfeld: ok, so Keeper is Urko
[18:05:47] <asmodai> Not Dassem as I though, which might mean Wanderer is Dassem Ultor
[18:06:15] <birkenfeld> hmm, wasn't Urko dead?
[18:06:18] <davidcramer> I'm hoping to actually get to try jinja2 in the next week or two
[18:06:31] <davidcramer> is it possible to do like {% set paging = paginate(blah) %} ?
[18:06:37] <davidcramer> (since you dont have a capture filter anymore)
[18:08:22] <asmodai> birkenfeld: Drowned.
[18:08:35] <asmodai> mitsuhiko: FIX SFINX SURCH K THX
[18:08:54] <asmodai> IT B MOAR BROKN DAN WEB2PY
[18:09:32] <birkenfeld> rofl
[18:09:44] <mitsuhiko> davidcramer: what's paginate? a block?
[18:09:54] <davidcramer> macro, or template tag
[18:10:09] <davidcramer> I just want to avoid generating it twice :)
[18:10:12] <davidcramer> (thats what i use capture() for)
[18:11:08] <mitsuhiko> yes that works
[18:11:18] <mitsuhiko> if you want to reference a block it's {% set foo = self.my_block() %}
[18:13:10] <birkenfeld> asmodai: I think the search would be fixed easily if it looked into the object inventory before looking into full text
[18:13:20] <birkenfeld> mitsuhiko: ping
[18:13:43] <mitsuhiko> birkenfeld: pong
[18:13:46] <davidcramer> interesting
[18:13:50] <davidcramer> ill make the switch soon then
[18:13:51] <davidcramer> gtg
[18:13:53] * davidcramer has quit IRC
[18:14:09] <birkenfeld> mitsuhiko: aside from the search thing, I've a question about i18n for JS
[18:14:20] <mitsuhiko> go ahead :)
[18:14:29] <birkenfeld> simply, the text generated by searchtools is not i18ned yet
[18:14:35] <birkenfeld> so how would you go about that?
[18:15:15] <mitsuhiko> birkenfeld: have you seen how the i18n for zine works?
[18:15:24] <mitsuhiko> that's basically the improved version of what i did at plurk
[18:15:24] <mitsuhiko> sec
[18:15:53] <mitsuhiko> birkenfeld: http://dev.pocoo.org/projects/zine/browser/scripts/compile-translations
[18:15:59] <mitsuhiko> that uses babel to extract strings from js and .py files
[18:16:02] <mitsuhiko> and generates a pickle
[18:16:20] <mitsuhiko> for sphinx we could directly generate .mo and .js files
[18:16:24] <birkenfeld> mitsuhiko: may be different situations, though
[18:16:35] <birkenfeld> since the text needs only be replaced at build time
[18:16:38] <birkenfeld> after that it's static
[18:16:55] <mitsuhiko> birkenfeld: you want to preprocess the js files?
[18:17:07] <mitsuhiko> i think that's way harder
[18:17:10] <birkenfeld> well, that's what I'd like to avoid
[18:17:35] <birkenfeld> is it ok to have an additional <script> for i18n strings?
[18:17:47] <mitsuhiko> basically zine finds _("yes") in a js files, notes down that this string is used by js and a .json file is generated that looks like {'yes': 'ja'}
[18:17:54] <mitsuhiko> i would say yes
[18:18:18] <birkenfeld> okay, so either put the translations in a separate js file or a json file
[18:19:34] * EnTeQuAk has quit IRC
[18:19:50] <mitsuhiko> i think it's the easiest
[18:21:36] <birkenfeld> which one? :)
[18:22:26] <mitsuhiko> birkenfeld: adding a separate translations.js file that does Sphinx.addStrings({"yes": "ja", "no": "nein", ...}) and the source uses _("yes")
[18:22:56] <birkenfeld> ok
[18:23:06] <mitsuhiko> if you really want to replace _("yes") with "ja" in the js files you could look for a js -> ast | ast -> js toolkit, but that will be hard to find :)
[18:23:15] <birkenfeld> nope, that's not necessary
[18:23:31] <birkenfeld> the remaining question is how to generate that js file from the message catalog
[18:23:34] <mitsuhiko> i can give you a hand in two hours or so. just walking the dog and eating first
[18:23:45] <mitsuhiko> birkenfeld: that's what that zine script does
[18:23:54] <mitsuhiko> babel adds the locations to the string. eg #: foo.js
[18:23:58] <birkenfeld> great, thanks
[18:24:13] <mitsuhiko> the .po -> .pickle script basically checks if a location ends with .js and adds it to a separate list
[18:24:21] <mitsuhiko> birkenfeld: you can use babel.catalog.mofile to write a mofile
[18:24:27] <mitsuhiko> or look at an older version of the script that does that
[18:24:51] <mitsuhiko> birkenfeld: http://dev.pocoo.org/projects/zine/browser/scripts/compile-translations?rev=444%3A3449b75a9a71
[18:24:57] <mitsuhiko> that's a version that writes a .mo and .js file
[18:28:00] <CIA-49> python-doctools: georg.brandl * r66251 /doctools/trunk/ (8 files in 7 dirs): Add polish locale, thanks to Michal Kandulski.
[18:29:05] <mitsuhiko> birkenfeld: are you using babel for sphinx already?
[18:29:10] <birkenfeld> mitsuhiko: yes
[18:29:14] <mitsuhiko> cool :)
[18:29:32] <birkenfeld> to extract strings and generate the .pot files
[18:29:37] <birkenfeld> and compile to .mo
[18:29:51] * EnTeQuAk has joined #pocoo
[18:38:56] * Tik-Tok has joined #pocoo
[18:52:44] * EnTeQuAk has quit IRC
[18:58:23] * davidcramer has joined #pocoo
[19:04:31] * EnTeQuAk has joined #pocoo
[19:09:23] * davidcramer has quit IRC
[19:15:27] * EnTeQuAk has quit IRC
[19:35:24] <CIA-49> python-doctools: georg.brandl * r66252 /doctools/branches/0.4.x/ (6 files in 2 dirs):
[19:35:25] <CIA-49> python-doctools: Properly call ``super()`` in overridden blocks in builtin templates,
[19:35:25] <CIA-49> python-doctools: even if the blocks are empty in the builtin layout.html they may contain
[19:35:25] <CIA-49> python-doctools: something in an overridden one.
[19:35:25] <CIA-49> python-doctools: georg.brandl * r66253 /doctools/trunk/sphinx/templates/ (4 files):
[19:35:25] <CIA-49> python-doctools: Properly call ``super()`` in overridden blocks in builtin templates,
[19:35:27] <CIA-49> python-doctools: even if the blocks are empty in the builtin layout.html they may contain
[19:35:29] <CIA-49> python-doctools: something in an overridden one.
[19:35:31] <CIA-49> python-doctools: georg.brandl * r66254 /doctools/trunk: (log message trimmed)
[19:35:33] <CIA-49> python-doctools: Blocked revisions 66252 via svnmerge
[19:35:35] <CIA-49> python-doctools: ........
[19:35:39] <CIA-49> python-doctools: r66252 | georg.brandl | 2008-09-06 18:38:19 +0200 (Sat, 06 Sep 2008) | 4 lines
[19:35:41] <CIA-49> python-doctools: Properly call ``super()`` in overridden blocks in builtin templates,
[19:35:43] <CIA-49> python-doctools: even if the blocks are empty in the builtin layout.html they may contain
[19:35:45] <CIA-49> python-doctools: something in an overridden one.
[19:35:47] <CIA-49> python-doctools: georg.brandl * r66256 /doctools/trunk/doc/config.rst: Add polish to language list.
[19:35:52] <CIA-49> python-doctools: georg.brandl * r66257 /doctools/trunk/sphinx/ (7 files in 2 dirs): Some pylint-found fixes and cleanups.
[19:35:58] <birkenfeld> huh
[19:36:03] <birkenfeld> you'd think this was a hg push
[19:38:47] <CIA-49> python-doctools: georg.brandl * r66258 /doctools/trunk/ (20 files in 9 dirs): Add translation of strings in JavaScript files.
[19:40:21] <CIA-49> python-doctools: georg.brandl * r66259 /doctools/trunk/setup.py: Fix warning when json is not available.
[19:42:38] <mitsuhiko> birkenfeld: haha :D
[19:44:18] <birkenfeld> mitsuhiko: thanks for the pointers
[19:44:24] <birkenfeld> it was quite easy to build on that :)
[19:44:45] <birkenfeld> now, the slightly harder issue of localizing the stemmer ;)
[19:44:58] <mitsuhiko> urks. the stemmer :)
[19:46:39] <birkenfeld> and in general, since the JS search is now widely used, also online, it should search object and module names first
[19:47:40] <birkenfeld> mitsuhiko: implementing that should be quite easy, since sphinx already writes an "objects.inv" file of all Python objects
[19:50:10] <mitsuhiko> we could port the snowball stemmer
[19:50:27] <birkenfeld> the other thing is more important though
[19:50:41] <mitsuhiko> yes
[19:50:56] <mitsuhiko> mq: ping
[19:53:28] * leche has quit IRC
[20:31:50] * mikeyumatov has quit IRC
[21:13:16] * EnTeQuAk has joined #pocoo
[21:36:09] * matt_good has joined #pocoo
[21:37:16] * matt_good has quit IRC
[21:42:54] * ronny has quit IRC
[21:44:37] * ronny has joined #pocoo
[21:50:33] <mitsuhiko> EnTeQuAk: ping
[21:51:07] <mitsuhiko> dennda: can you merge with tip?
[21:51:13] <mitsuhiko> zine-main tip that is
[21:51:21] <EnTeQuAk> mitsuhiko, pong
[21:51:32] <mitsuhiko> EnTeQuAk: you have implemented the dependency support for plugins in zine?
[21:51:43] <EnTeQuAk> i did, yea
[21:51:59] <mitsuhiko> EnTeQuAk: dependencies on plugin deactivation are not checked. can you fix that?
[21:52:28] * aconbere_ has joined #pocoo
[21:52:31] <EnTeQuAk> I'll put that on my todo list
[21:52:41] <EnTeQuAk> no time right now
[21:53:48] <mitsuhiko> thanks
[21:54:10] <EnTeQuAk> mitsuhiko, did you change something on the plugin interface?
[21:54:53] <mitsuhiko> EnTeQuAk: lately? don't think so
[21:54:56] <ronny> hmm
[21:55:04] <ronny> i managed to fsck xapian
[21:55:25] <EnTeQuAk> mitsuhiko, well, I'll have a look at it tomorrow
[21:58:00] <dennda> mitsuhiko: looked at my cs?
[21:58:28] * dennda prepares his blog for final unleashment
[22:00:26] <mitsuhiko> dennda: you can't call get_application() in the global space
[22:00:33] <mitsuhiko> (outside of plugins)
[22:00:49] <dennda> mitsuhiko: yah I should have added a XXX there
[22:00:58] <dennda> didn't check how to do it properly
[22:01:14] <mitsuhiko> i don't get what that code does anyways
[22:01:26] <dennda> :-)
[22:01:31] <dennda> Why do you want me to merge then?
[22:01:38] <dennda> did you read the docstring?
[22:02:03] <