Team Chat Logs

2006 11
Mo Tu We Th Fr Sa Su
        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 31

December 14, 2006

[00:05:25] * MachinaX^4 has joined #trac
[00:05:37] <MachinaX^4> hey all
[00:05:50] <MachinaX^4> Anyone responsible for the XMLRPC plugin around?
[00:06:17] <MachinaX^4> if not responsible then at least capable of helping me contact the people that can extend it in a rather minor way
[00:12:12] <coderanger> Alec wrote it
[00:12:32] <coderanger> The general channel for enhancement requests is a ticket
[00:16:39] <MachinaX^4> I filed one
[00:16:45] <MachinaX^4> http://trac-hacks.org/ticket/1001
[00:16:58] <MachinaX^4> I just need a way to get a user's email
[00:19:08] <coderanger> okay, I'm sure Alec will look at it as soon as he can
[00:19:10] <MachinaX^4> I'm writing an application that actually uses the xmlrpc bindings and it's pretty hard to assign people tickets without that
[00:19:13] <MachinaX^4> thanks
[00:19:26] <coderanger> Though I'm not sure why that needs to be part of the plugin
[00:19:29] <MachinaX^4> I'd do it myself cept I'd have to learn Ruby first
[00:19:33] <coderanger> just make your own plugin
[00:19:41] <MachinaX^4> well the info is in trac
[00:19:50] <MachinaX^4> Problem is I don't know Ruby
[00:19:53] <MachinaX^4> I'm writing a desktop app
[00:19:57] <coderanger> Its not written in Ruby ...
[00:20:05] <MachinaX^4> err... Python
[00:20:09] <coderanger> All of Trac is written in Python
[00:20:29] <MachinaX^4> sorry, been playing with all sorts of web apps all day
[00:21:39] <coderanger> I doubt Alec would implement it as part of the XmlRpcPlugin, as it opens possible disclosure problems
[00:22:32] <MachinaX^4> not for logged in users
[00:22:52] <MachinaX^4> plus I assume it would require the user have the necessary access key
[00:23:04] <coderanger> Trac currently doesn't expose your email address anywhere
[00:23:12] <coderanger> yes, but now you see this is becoming its own plugin
[00:23:42] <MachinaX^4> okay...
[00:24:21] <MachinaX^4> then if I had at least a users.getAll() and set a different user as the assignee for the ticket would trac still correctly send them an email?
[00:24:50] <MachinaX^4> I need at least some basic way of querying users
[00:25:12] <coderanger> There isn't currently a reliable way of doing that
[00:25:21] <MachinaX^4> otherwise I can't catch typos or nonexistant users
[00:25:22] <coderanger> Trac fakes it, but its not perfect
[00:25:26] <MachinaX^4> hmm...
[00:25:43] <MachinaX^4> Would the user account manager plugin be able to produce such a list?
[00:25:52] <coderanger> It only knows about users that have some settings set
[00:25:57] <coderanger> Not for all backends
[00:26:07] <MachinaX^4> hmm...
[00:26:12] <MachinaX^4> any ideas then?
[00:26:51] <coderanger> Implement a plugin tries querying both trac's list and account manager
[00:26:57] <MachinaX^4> because lets say I was accessing that particular ticket and wanted to assign it to you, my intended usage was that the user type your name or email and I'd look up what user corresponds to that
[00:27:18] <coderanger> what if two users have the same email
[00:27:31] <MachinaX^4> Wouldn't something disallow that?
[00:27:39] <MachinaX^4> and if they have the same email, I'd assume the users are the same
[00:27:40] <coderanger> No
[00:28:10] <MachinaX^4> So assigning the ticket to foo or bar wouldn't matter because foobar@bar.com would still get notification of the newly assigned ticket
[00:28:27] <coderanger> Unless those aren't a person
[00:28:36] * langenberg has joined #trac
[00:28:41] <coderanger> what if you have team1 and team2, both of whom point at dev@lists.blah
[00:29:03] <MachinaX^4> that's where being able to get user info would come in handy
[00:29:10] <MachinaX^4> since I could ask for a user's name and match that
[00:29:13] * langenberg has joined #trac
[00:29:15] <coderanger> i agress
[00:29:23] <coderanger> just saying it should be its own plugin probably
[00:29:26] <MachinaX^4> and for collisions show the list
[00:29:36] <MachinaX^4> yes adn no
[00:29:38] <MachinaX^4> *and
[00:29:47] <MachinaX^4> like it seems like something the user account manager should be able to do
[00:30:00] <coderanger> No, because then accoutnamanger would depend on XmlRpc
[00:30:04] <coderanger> which makes no sense
[00:30:13] <MachinaX^4> because in the case of a .htaccess would the only way of querying those users be to read the file?
[00:30:20] <MachinaX^4> no, it wouldn't
[00:30:22] * langenberg has quit IRC
[00:30:28] <MachinaX^4> I thought xmlrpc could be extended by plugins
[00:30:45] <MachinaX^4> at least that's what the docs said
[00:31:04] <coderanger> It can, but due to load order hazards and the fact that Trac doesn't support optional loading you can't do that
[00:31:23] <coderanger> you need to list you deps to ensure they are loaded before you
[00:31:45] <MachinaX^4> hmm...
[00:31:59] <coderanger> trust me on this one ;-)
[00:32:09] <MachinaX^4> I'm gonna have to, I have no idea of the internals
[00:32:28] <MachinaX^4> Does Python have a method notification type system that can be used?
[00:32:40] <coderanger> what do you mean
[00:32:44] <MachinaX^4> like Cocoa's NotificationCenter and glib's notifylist
[00:33:03] <MachinaX^4> basically it's an asynchronous event that objects can register for
[00:33:14] <MachinaX^4> and when it occurs they will be notified
[00:33:17] <coderanger> What is your specific goal
[00:33:22] <MachinaX^4> and a method mapped to it will be called
[00:33:24] <coderanger> Trac has such a system for its events
[00:33:47] <coderanger> if you are looking for more general things, look at stuff in Twisted for lots of async goodness
[00:34:23] <MachinaX^4> well, could xmlrpc use that to learn of supported xmlrpc methods?
[00:34:40] <coderanger> What do you mean
[00:34:47] <coderanger> it uses the Trac component system
[00:35:15] <coderanger> plugins declare that they implement the IRPCFunction (or something like that) interface
[00:35:34] <coderanger> and then define functions specified by that interface
[00:36:03] * s0undt3ch has joined #trac
[00:38:38] * axlotl99 has quit IRC
[00:46:11] <asmodai> and back again
[00:54:03] * cboos has joined #trac
[00:55:09] <cboos> hi everybody
[00:56:07] <pacopablo> hello
[00:56:26] <pacopablo> I had a question for you cboos
[00:56:34] <pacopablo> but it's your lucky day, I forgot what it was :)
[00:56:40] <cboos> good ;)
[00:56:47] <cboos> actually I have a question too...
[00:57:03] <cboos> I'd like to move some doc specific to Trac 0.9 and I'm looking for a prefix...
[00:57:29] <cboos> e.g. TracOnWindows -> Trac0.9/TracOnWindows
[00:57:31] <cboos> or
[00:57:39] <cboos> e.g. TracOnWindows -> DotNine/TracOnWindows
[00:57:45] <cboos> can't decide ...
[00:57:51] <cboos> what do you think?
[00:58:23] * dneary has joined #trac
[00:58:26] <dneary> Hi
[00:58:34] <cboos> (and actually we could even do that for all the TracGuide pages, not just TracOnWindows)
[00:58:38] <asmodai> CBOOSJE!
[00:58:53] <cboos> asmday!
[00:59:09] * MachinaX^4 returns
[00:59:17] <asmodai> cboos: Ça va?
[00:59:18] <MachinaX^4> coderanger: So any suggestions for a way to go about this?
[00:59:19] <asmodai> :P
[00:59:24] * cboos hope you were not discussing in a private channel behind my back ...
[00:59:42] * cboos (you'd have to publish the summary on #trac) ;)
[00:59:49] <dneary> In trac permissions, authenticated has a bunch of permissions, and I'd like to give extra permissions MILESTONE_ADMIN, ROADMAP_ADMIN to the group lead_devs
[01:00:17] <coderanger> MachinaX^4: wait until I finish this game of wesnoth and then I'll write it :P
[01:00:23] <MachinaX^4> thanks
[01:00:31] <dneary> Can I just do permission add lead_devs MILESTONE_ADMIN ROADMAP_ADMIN, or do I also have to add authenticated to lead_devs' permissions?
[01:00:50] <coderanger> dneary: It works the way you think it should
[01:00:55] <coderanger> they are layered on
[01:00:56] <cboos> so ...
[01:01:00] <cboos> nobody has a preference for the prefix?
[01:01:09] <cboos> everyone's ok with DotNine ?
[01:01:17] <dneary> coderanger: So everyone authenticated has all the authenticated permissions, plus their special perms?
[01:01:19] <coderanger> cboos: Trac0.9 I think
[01:01:35] <dneary> coderanger: I'm not sure how I think it should work :)
[01:01:55] <coderanger> cboos: Since doing it in english would screw up the sort order and whatnot
[01:01:58] <dneary> (I'm wondering if it's possible to do things like remove permissions from someone once they authenticate)
[01:02:04] <coderanger> dneary: Not currently
[01:02:29] <coderanger> its all additive
[01:02:56] <asmodai> addictive too?
[01:03:00] <asmodai> ;)
[01:03:09] <coderanger> I have no comment at this time
[01:03:28] <asmodai> aww shucks.
[01:03:35] * asmodai beats tooltip some more
[01:04:02] <dneary> coderanger: Thanks
[01:04:12] <cboos> anyone has seen alect lately?
[01:04:27] <coderanger> cboos: He is in India I think
[01:05:46] <coderanger> some work thing in Hyderbad
[01:06:02] <cboos> I would have liked to get his opinon on the PermissionPolicy rework ...
[01:06:04] <pacopablo> cboos: I afraid that you can't make official decisions in a channel that only has an unofficial log
[01:06:17] <asmodai> Hyderabad, ah yea, he mentioned that.
[01:07:21] <cboos> pacopablo: ;)
[01:07:48] <pacopablo> cboos: I remembered my question! :)
[01:07:59] <pacopablo> what's the state of mercurial intergration?
[01:08:00] <cboos> ok
[01:08:02] <cboos> ah
[01:08:16] <cboos> "could be better" ;)
[01:08:25] <pacopablo> I'm thinking of trying mercurial out, but I've got to have the trac browser ;)
[01:08:38] <pacopablo> hmm, doesn't sound promissing
[01:08:52] <cboos> Well, it works fine, but as I said, there's a lot of room for improvement
[01:09:44] <cboos> my plan is to rebase it on 0.9.2, as it has some new APIs that could simplify the code a lot
[01:10:01] <cboos> (perhaps even make it faster, but I doubt)
[01:10:23] <pacopablo> so, is it a plugin at this point? or a full branch?
[01:10:32] <cboos> a plugin
[01:10:39] <cboos> one version for 0.10, another for 0.11
[01:10:43] <cboos> look in /sandbox
[01:10:46] <pacopablo> and will the current plugin work with 0.9.2 ?
[01:10:46] <cboos> (on t.e.o)
[01:11:04] <cboos> I believe so, it's just that I use more of the internals than I should
[01:11:11] <pacopablo> right
[01:11:20] <pacopablo> well, that's actuall promissing news
[01:11:29] <pacopablo> I think I'll try it out tomorrow
[01:11:43] <pacopablo> anyway, it's bed time for me
[01:11:45] <pacopablo> later
[01:11:47] <cboos> night
[01:22:40] <coderanger> cboos: http://trac.edgewall.org/wiki/SandBox/TracPages
[01:22:42] <coderanger> etf?
[01:22:44] <coderanger> er, wtf
[01:22:59] <cboos> well, I first wanted to delete that
[01:23:16] <coderanger> yeah, just very very odd
[01:23:18] <cboos> but then I thought that somebody simply made a mistake and edited that page in the wrong trac
[01:23:36] <cboos> (so I made a redirection)
[01:25:12] * hachi has joined #trac
[01:25:41] * corp has joined #trac
[01:26:26] <coderanger> okay, now to do this plugin
[01:27:35] <hachi> I'm trying to find how to disable the major pieces of trac, outside the browser, for a few repositories on a machine I am maintaining, but I can't find any keys for what to put under '[components]' to say = disable in trac.ini. Anyone have suggestions?
[01:27:52] <coderanger> trac.wiki.* = disabled
[01:27:58] <coderanger> trac.ticket.* = disabled
[01:27:59] <coderanger> you mean that?
[01:28:37] <hachi> yes, but it's not doing anything
[01:28:45] <coderanger> did you restart the server
[01:28:58] <hachi> no, it doesn't stat the config file and reload?
[01:29:08] <coderanger> Not for plugin changes
[01:29:21] <coderanger> the loader is only invoked at env creation
[01:29:40] <coderanger> there isn't a good way in python to "unload" something like a plugin
[01:29:47] <corp> it is possible to add users to a htpasswd file without having to restart trac?
[01:29:49] <hachi> ahh, thanks then
[01:29:55] <coderanger> corp: Yep
[01:30:06] <coderanger> Most things don't need a restart
[01:30:12] <coderanger> plugin changes and logger config are the two big ones
[01:30:13] <corp> tracd seems to need it
[01:30:18] <coderanger> corp: What version
[01:30:18] <corp> for htpasswd
[01:30:22] <coderanger> that was fixed a while ago
[01:30:22] <corp> 10.2
[01:30:30] <hachi> now, the only thing left is how to change the front page, so it's not trying to load a wiki entry for the entry point
[01:30:31] <corp> ah well. maybe it's me
[01:30:31] <coderanger> hmm, I thought it was anyway
[01:30:35] <corp> will try again
[01:30:40] <coderanger> corp: I do remember that being an issue
[01:30:50] <corp> no biggie
[01:30:51] <coderanger> hachi: default_handler
[01:31:05] <corp> another thing. sometimes authing via tracd seems to take a long time
[01:32:15] <hachi> coderanger: how do I find possible values for that option?
[01:32:35] <coderanger> hachi: /about/plugins
[01:32:47] <coderanger> that will show all known components
[01:33:26] <hachi> okay, that's broken on my install too... "Environment not found"... I'll see if I missed a step during install
[01:34:11] <coderanger> hachi: that would be relative to the base of your trac site
[01:35:17] <hachi> as in /projects/projectname/about/plugins in a defaultish install?
[01:35:29] <coderanger> indeed
[01:35:57] <hachi> yeah, that's where I get that error, if I load anywhere else I get things indicating that nothing would be there
[01:36:22] <coderanger> thats odd
[01:36:29] <coderanger> is this 0.8?
[01:36:49] <hachi> .10.2
[01:37:06] <coderanger> what about just /about
[01:38:03] <hachi> wait, danging... it was throwing me a CONFIG_VIEW error, not the one I said
[01:38:08] <hachi> that was my fault
[01:38:55] <coderanger> Yeah, you would need to login to see it
[01:39:26] <hachi> except I've disabled logins :) I will find another way
[01:40:14] <hachi> your help to this point has been exemplary, thank you
[01:42:29] <coderanger> hachi: Which screen do you want to be the default
[01:42:49] <hachi> I got it, thanks though
[01:43:42] <hachi> in my case I went for BrowserModule, but I enabled CONFIG_VIEW for anonymous
[01:46:48] <hachi> I tried to fire up trac over sshfs once, that was not smart :)
[01:47:12] <cboos> someone's familiar with autowikify (or whatever it's called) ?
[01:47:24] <cboos> @ticket 4396
[01:47:24] <evil_twin> cboos: http://trac.edgewall.org/ticket/4396
[01:47:41] <cboos> seems to be the autowikify think, don't you think?
[01:47:52] <coderanger> cboos: Sounds like it
[01:47:53] <cboos> s/think/thing/
[01:48:13] <coderanger> or it could be the insane relative resolver I added to heirwiki
[01:48:28] <cboos> uh, what's that?
[01:48:55] <coderanger> I wanted to auto link pages relative to you in the wiki heirarchy
[01:49:03] <coderanger> so if you have Foo/Bar
[01:49:17] <coderanger> in Foo/Baz, "Bar" is magically a link
[01:49:38] <coderanger> It kinda works, but sometimes finds links you didn't want it to
[01:49:53] <cboos> oh, only if it exists then...
[01:50:20] <coderanger> yeah
[01:50:49] <cboos> well, as you're interested in that matter, I'd appreciate your opinion on http://trac.edgewall.org/changeset/4442
[01:51:05] <coderanger> I saw that and was happy :)
[01:51:35] <coderanger> http://trac-hacks.org/browser/hierwikiplugin/0.10/hierwiki/formatter.py
[01:51:40] <coderanger> the code is awful
[01:52:38] <cboos> well, yes the whole .path_info.startswith hacks are soon the be gone...
[01:52:52] <coderanger> it has to clear out the formatter regex cache almost every page load
[01:52:54] <coderanger> hmm?
[01:54:16] <cboos> hmm for what?
[01:54:36] <cboos> if you saw r4442, I assume you saw r4441, right?
[01:54:36] <coderanger> the .startswith going away
[01:54:52] <cboos> mh, wrong assumption ;)
[01:54:58] <cboos> look at the WikiContext stuff
[01:55:29] <coderanger> yeah, I just took that comment as refering to the modular handler branch
[01:55:29] <cboos> you don't need to parse the req.path_info anymore to know what is the context of the wiki text
[01:56:07] <coderanger> ahh, yeah
[01:56:40] <coderanger> that will vastly simplify a few hacks in my stuff
[01:57:44] <coderanger> do you have any ideas for the theming stuff?
[01:58:09] <cboos> well, I looked at the pictures, not at the code ;)
[01:58:12] <cboos> idea about what?
[01:59:00] <coderanger> what interfaces should be available for trac themes
[02:04:45] <hachi> what generates the trac.ini on initenv?
[02:04:54] <hachi> is there a template file, or a file of default values?
[02:05:02] <coderanger> hachi: It is based on known config values
[02:05:08] <coderanger> hachi: Look at trac.config
[02:05:14] <coderanger> the *Config descriptors
[02:05:19] <coderanger> it's dynamic
[02:07:59] <cboos> coderanger: probably an ExtensionOption (or OrderedExtensionOption) in Chrome, "default_styles" and some get_default_stylesheets, get_default_scripts methods... but I didn't look in the detailed requirements
[02:08:16] <cboos> why not create a ticket for that?
[02:08:21] <coderanger> cboos: This is alreadydone as a plugin ;-)
[02:08:32] <coderanger> http://www.coderanger.net/tracs/test1/admin/general/theme
[02:08:38] <coderanger> login with user1/password
[02:09:12] <cboos> does that override the default stylesheet?
[02:09:33] <coderanger> cboos: Nope, just adds one if the theme plugin requests it
[02:09:58] <coderanger> though it can override the header/footer
[02:11:41] * corp has quit IRC
[02:12:04] <cboos> looks cool ... though the admin menu should preferably match the style of the site menu on the left...
[02:12:23] <coderanger> cboos: You mean with the consultant theme?
[02:16:04] <cboos> yeah, the python dot org one is mostly ok
[02:16:19] <cboos> (at least not strikingly different ;) )
[02:16:31] <coderanger> cboos: Yeah themes themselves aren't my big concern
[02:16:45] * coderanger ain't a web designer
[02:17:06] <cboos> ... and due to the size of the screenshot, the whole thing is not "small screen friendly"
[02:17:42] <coderanger> hmm
[02:17:44] <coderanger> good point
[02:18:14] <coderanger> I still need to add an API for themes to add JS files to each page
[02:18:14] <cboos> perhaps the screenshots would look better if they were full-resolution ones, but partial, e.g. only the left corner (a quarter of the size of a page)
[02:18:27] <MachinaX^4> coderanger: also, tickets don't have a way of seeing what tickets are blocking them
[02:18:48] <coderanger> MachinaX^4: Trac doesn't have anything like ticket relationg
[02:18:51] <coderanger> er, relations
[02:18:57] <coderanger> there are several open tickets
[02:19:21] <MachinaX^4> yea
[02:19:26] <MachinaX^4> that's the problem
[02:19:34] <MachinaX^4> I was gonna use custom attributes for it
[02:19:48] <MachinaX^4> problem is I'm not sure how
[02:20:53] <coderanger> cboos: So far I have stuff for overriding header.cs/footer.cs, adding a stylesheet, and exposing static content
[02:23:24] * yotaff has joined #trac
[02:23:30] <yotaff> hi :)
[02:25:14] <yotaff> just a question about a issue on my trac environment : suddently I can't access anymore on uri root page
[02:25:25] <yotaff> nothing in the log
[02:25:53] <yotaff> does anyone have an idea ?
[02:28:15] <cboos> yotaff: what version of Trac?
[02:29:39] * rsalveti has joined #trac
[02:31:27] * tessier_ has quit IRC
[02:31:32] <yotaff> cboos: hi :)
[02:31:41] <cboos> hi
[02:31:58] <yotaff> cboos: ok, nothing with trac
[02:32:02] <yotaff> sorry
[02:32:08] <cboos> no pb
[02:32:12] <cboos> I prefer it that way ;)
[02:32:17] <yotaff> :)
[02:32:42] * corp has joined #trac
[02:33:12] * corp has quit IRC
[02:36:06] * corp has joined #trac
[02:38:16] <yotaff> cboos: I take advantage of my presence here to ask another question on upgrade method. For the upgrade, a simple trac-admin upgrade command is necessary or do I need to merge manually new options in config file and bugtracker configuration ?
[02:38:17] * tessier_ has joined #trac
[02:38:48] <cboos> yotaff: yes, good point, this probably needs to be clearer in the doc
[02:39:22] <cboos> there's a conf/trac.ini.sample that gets written after the upgrade
[02:39:41] <cboos> it's easy to merge new options from there in your own trac.ini, which is left unchanged
[02:40:04] <yotaff> oh, i see
[02:40:31] <yotaff> I have 10 trac env to upgrade ;(
[02:42:02] * yotaff pray to view tracforge to be production ready :)
[02:42:12] <coderanger> O:-)
[02:44:57] <yotaff> tracforge, extensible ticket workflow & permission, ldap user preference and trac will be perfect :)
[02:45:03] * yotaff will learn patience :)
[02:45:27] * kousuke has quit IRC
[02:47:53] * MachinaX^4 has quit IRC
[02:52:27] <yotaff> http://trac-hacks.org/wiki/RevtreePlugin
[02:52:29] <yotaff> ho !
[03:03:19] <cboos> I guess it's "ho !" like in "ho ho ho" i.e. Santa Claus' gift for Trac'ers ;)
[03:06:00] <coderanger> cboos: http://dev.codeflow.org/trac/genshi2js
[03:06:10] <coderanger> Genshi is catching on ;-)
[03:13:28] * Guychi has joined #trac
[03:15:14] <cboos> ... genshi2js... wonder how much effort would be to complete genshi-to-python (i.e. either the compiler or inline branches)
[03:15:28] <cboos> the main problem of Genshi is speed ...
[03:15:28] <coderanger> I think someone was working on that
[03:16:04] <cboos> I hope that we won't get beaten up for that (i.e. the slowdown), after the 0.11 release ...
[03:17:45] <cboos> but I'm not sure if there's much space left for optimization. Even psyco didn't help last time I tried.
[03:18:49] <coderanger> http://techspot.zzzeek.org/index.php?/archives/11-guid.html
[03:19:06] <coderanger> Yeah, the author of Myghty is trying to port over some of his optimizations
[03:23:02] <Guychi> G'day. Is there any way to get automatic notifications when a changeset is uploaded?
[03:23:35] <coderanger> http://www.google.com/search?q=subversion%20email%20hook
[03:24:27] <coderanger> commit-email.pl should be installed along with Subversion
[03:38:10] <s0undt3ch> has anyone started to work on a plug for online translations of i18n enabled projects?
[03:40:01] <coderanger> you mean having wiki pages in multiple langs?
[03:40:39] <s0undt3ch> nope
[03:40:54] <s0undt3ch> online tranlation of projects .pot files
[03:41:14] <coderanger> ahh
[03:41:17] <coderanger> not that I know of
[03:41:53] <s0undt3ch> *transaltion, kind of like roseta https://translations.launchpad.net/
[03:42:15] <cilkay> I suspect Genshi's performance problems have more to do with performance problems of XML parsers than with Genshi per se.
[03:42:37] * michaelm1975 has joined #trac
[03:43:09] <cilkay> We found a orders of magnitude difference between two different parsers when we were using an XML front-end to Reportlab.
[03:43:17] <s0undt3ch> I'm using genshi, and althouh those "bad" preformance number are not making me change from it now
[03:44:08] <s0undt3ch> I love using it, and I'm actually waiting for the 0.11 release so I can start to work on some new plug ideas
[03:45:49] <cilkay> Template engines seem to generate as much religious fervour as KDE vs. Gnome, vi vs. emacs. I recall when I first looked at Django hating its template engine because of the all the curly braces.
[03:46:00] * cilkay has an aversion to curly braces
[03:46:23] <cilkay> I thought it rather silly to dismiss an entire framework because of that and forced myself to pay closer attention.
[03:46:43] <michaelm1975> hi all... i am just trying trac 0.10.3 (on debian). as i can't use a remote repository i just mounted the repository read only on the debian system. we use one repository for all our projects. is it possible to specify a module or path inside the repository that is used for "browse source"
[03:46:58] <coderanger> michaelm1975: Sure
[03:47:00] <michaelm1975> for templates... did you ever look at zpt?
[03:47:08] <michaelm1975> coderanger: could u tell me how to?
[03:47:08] <coderanger> /path/to/repo/path/inside/repo
[03:47:13] <coderanger> Subversion figures it out
[03:47:18] <michaelm1975> oh... too easy :)
[03:47:26] <cilkay> I'm glad I did. Django's template engine is actually very good. Is it "better" or "worse" than Genshi. No idea. It doesn't matter. It works and works very well.
[03:47:32] <coderanger> so like /var/svn/repo/proj1/trunk
[03:47:43] <michaelm1975> coderanger: got it.. just was too eays ;)
[03:47:47] <michaelm1975> thx
[03:48:31] <michaelm1975> http://zpt.sourceforge.net/
[03:48:55] <cilkay> michaelm1975: yes, I know ZPT too. I never warmed up to it.
[03:49:08] <michaelm1975> cilkay: ok :)
[03:49:22] <coderanger> That looks like Genshi but sillier
[03:49:37] <michaelm1975> coderanger: i don't know genshi... only zpt ;)
[03:49:53] <coderanger> michaelm1975: Things like
[03:49:54] <coderanger> <title metal:fill-slot="title">My Template Title</title>
[03:50:10] <coderanger> becomes <title>$title</title>
[03:50:41] <michaelm1975> coderanger: ok... looks easier :) zpt is quite effective but you are right that it's sometimes a bit hard to read
[03:51:04] <cilkay> Which becomes {% title %} in Django.
[03:51:15] <cilkay> A bit less typing :)
[03:51:58] <coderanger> cilkay: Why not <title>{% title %}</title>
[03:52:04] <michaelm1975> cilkay: with zpt you could specify defaults if there are errors with the macros, u