PMXBOT Log file Viewer

Help | Karma | Search:

#buildout logs for Sunday the 27th of January, 2013

(Back to #buildout overview) (Back to channel listing) (Animate logs)
[16:08:12] <pombreda> !logs
[16:08:12] <pmxbot> http://dcpython.gekitsuu.org
[16:08:53] <pombreda> J1m: FYI https://github.com/buildout/buildout/pull/48
[16:09:29] <J1m> Thanks
[18:36:04] <pombreda> and if you are interested by the WIP, https://github.com/pombredanne/buildout/commits/conditional_parts feedback welcomed... this is just quick one for now, no tests added yet (it may not even run at all) ... but that gives the gist of the approach
[18:36:14] <pombreda> J1m: ;)
[18:37:26] <pombreda> actually let me see if this runs at all :P
[19:20:16] <pombreda> it does, and works quite nicely I shall even with wacko expressions
[19:20:42] <pombreda> let me flesh out some decent tests and submit a pull request later tomorrow
[19:22:19] <pombreda> J1m: there are some shade areas such as what about when you specify a parts=somepart which is then conditionally excluded. atm it just errors out. but then the other issues is whether or not it is possible to have several sections in the same buildout with the same name and different expressions....
[19:22:37] <pombreda> J1m: all this needs a bit of thinking to get the user interface right
[19:24:34] <pombreda> J1m: the code changes in themselves are quite small, most of it being sugar defaults expressions in https://github.com/pombredanne/buildout/blob/conditional_parts/src/zc/buildout/buildout.py#L1347
[19:25:21] <pombreda> then we have the chnage to the only one config parser call: https://github.com/pombredanne/buildout/blob/conditional_parts/src/zc/buildout/buildout.py#L1476
[19:26:13] <pombreda> on the parser side: the new regex for section headers https://github.com/pombredanne/buildout/blob/conditional_parts/src/zc/buildout/configparser.py#L74
[19:26:47] <pombreda> then the optional treatment of expressions, and syntax check: https://github.com/pombredanne/buildout/blob/conditional_parts/src/zc/buildout/configparser.py#L143
[19:27:36] <pombreda> and finally the eval itself to weed out sections with an expression that does not eval to True: https://github.com/pombredanne/buildout/blob/conditional_parts/src/zc/buildout/configparser.py#L188
[19:30:37] <pombreda> I think I will probably change the eval to be done on the fly for each section rather than at the end... this way it will be possible to get that:
[19:30:53] <pombreda> [some_section: windows]
[19:31:00] <pombreda> ... do some windows only stuffs
[19:31:13] <pombreda> [some_section: macosx]
[19:31:21] <pombreda> ... do some mac only stuffs
[19:32:03] <J1m> pombreda, I'll probably look at the pull request tomorrow morning. I'm working on something else atm.
[19:32:06] <pombreda> [some_section: linux and bits64] # this recipe is only for 64 bits lnux
[19:32:08] <pombreda> ...
[19:32:24] <pombreda> J1m: there is no pull request for conditiosn yet ;P
[19:32:28] <J1m> wrt errors due to excluding sections, we shouldn't worry about that.
[19:32:35] <J1m> I know but when there is ...
[19:32:57] <J1m> This should remain simple. Just conditional sections.
[19:33:23] <J1m> if someone introduces an error because the excluded something, then that's a user error.
[19:33:26] <pombreda> J1m: the only pull request I submitted yet is about the license/notice for the configparser
[19:33:32] <J1m> s/the/they
[19:33:34] <pombreda> J1m: yes
[19:34:01] <J1m> right, I was refering to the conditional section pr
[19:34:12] <pombreda> me too :P
[19:35:04] <pombreda> so you agree that we could have the same section name in the same file several times, assuming only one will eval to true
[19:35:59] <pombreda> J1m: and wrt to missing sections (excluded), I think this should alright be left as it is
[19:36:24] <pombreda> J1m: now, logging wise, would it be nice to knwo that some sections were excluded when parsing a conf?
[19:46:32] <J1m> at debugging level, yes
[20:05:59] <pombreda> J1m: done... It is only missing tests and then some docs... but I can already get some mileage out of it
[20:06:40] <pombreda> J1m: one part that is hard to test is the default globals as they by definition can only be tested if you have the right os/arch/python version
[20:09:39] <pombreda> anyway, build all a great day :)