*** wrobel has quit IRC | 00:04 | |
*** jhauser has quit IRC | 00:16 | |
*** philiKON has joined #zope3-dev | 00:19 | |
*** ktwilight has quit IRC | 00:32 | |
*** philiKON has quit IRC | 00:49 | |
*** ktwilight has joined #zope3-dev | 00:54 | |
*** volvox has quit IRC | 00:55 | |
*** rocky has quit IRC | 01:03 | |
*** natea_ has joined #zope3-dev | 01:07 | |
*** srichter has joined #zope3-dev | 01:07 | |
*** ChanServ sets mode: +o srichter | 01:08 | |
*** natea has quit IRC | 01:13 | |
*** natea has joined #zope3-dev | 01:20 | |
*** vlado has joined #zope3-dev | 01:21 | |
*** natea_ has quit IRC | 01:26 | |
ignas | anyone who is knowledgable of ZODB ? | 01:27 |
---|---|---|
*** vlado has quit IRC | 01:27 | |
*** rocky has joined #zope3-dev | 01:30 | |
*** natea has quit IRC | 01:55 | |
*** natea has joined #zope3-dev | 01:56 | |
*** jan_s has joined #zope3-dev | 02:18 | |
*** rocky is now known as rocky|Zzz | 02:25 | |
*** natea has quit IRC | 02:35 | |
*** ignas has quit IRC | 02:38 | |
*** TresEquis has quit IRC | 03:24 | |
*** jinty has quit IRC | 03:24 | |
*** yota has quit IRC | 03:33 | |
*** natea has joined #zope3-dev | 03:37 | |
*** projekt01 has left #zope3-dev | 03:58 | |
*** natea_ has joined #zope3-dev | 03:59 | |
*** natea has quit IRC | 04:02 | |
*** natea has joined #zope3-dev | 04:17 | |
*** natea_ has quit IRC | 04:26 | |
*** stub has joined #zope3-dev | 04:48 | |
*** natea_ has joined #zope3-dev | 04:58 | |
*** natea has quit IRC | 05:04 | |
*** niemeyer has quit IRC | 05:23 | |
*** natea_ has quit IRC | 05:46 | |
*** natea has joined #zope3-dev | 05:49 | |
*** natea has quit IRC | 06:15 | |
*** natea has joined #zope3-dev | 06:16 | |
*** natea_ has joined #zope3-dev | 06:42 | |
*** natea has quit IRC | 06:50 | |
*** natea has joined #zope3-dev | 06:54 | |
*** natea_ has quit IRC | 07:02 | |
*** jan_s has quit IRC | 07:24 | |
*** natea has quit IRC | 07:34 | |
*** natea has joined #zope3-dev | 07:35 | |
*** dobee has joined #zope3-dev | 07:54 | |
*** timte has joined #zope3-dev | 08:10 | |
*** romanofski has quit IRC | 08:12 | |
*** eins has joined #zope3-dev | 08:15 | |
eins | hi | 08:15 |
*** natea has quit IRC | 08:22 | |
*** natea has joined #zope3-dev | 08:22 | |
*** batlogg has quit IRC | 08:27 | |
*** batlogg has joined #zope3-dev | 08:37 | |
*** zagy has joined #zope3-dev | 08:48 | |
*** alecm has joined #zope3-dev | 08:55 | |
*** xenru has quit IRC | 08:56 | |
*** wrobel has joined #zope3-dev | 08:59 | |
*** natea has quit IRC | 09:13 | |
*** natea has joined #zope3-dev | 09:13 | |
*** hdima has joined #zope3-dev | 09:16 | |
*** kobold has joined #zope3-dev | 09:19 | |
*** jhauser has joined #zope3-dev | 09:26 | |
*** alecm has quit IRC | 09:27 | |
*** zagy has quit IRC | 09:27 | |
*** romanofski has joined #zope3-dev | 09:28 | |
romanofski | morjens | 09:32 |
*** xenru has joined #zope3-dev | 09:32 | |
*** zbir_ has joined #zope3-dev | 09:33 | |
*** zagy has joined #zope3-dev | 09:35 | |
*** philiKON has joined #zope3-dev | 09:42 | |
*** zbir has quit IRC | 09:49 | |
*** stu1 has joined #zope3-dev | 09:49 | |
*** projekt01 has joined #zope3-dev | 09:56 | |
*** natea has quit IRC | 10:01 | |
*** natea has joined #zope3-dev | 10:02 | |
*** stub has quit IRC | 10:04 | |
*** yota has joined #zope3-dev | 10:07 | |
*** stu1 is now known as stub | 10:42 | |
*** MJ has quit IRC | 10:47 | |
*** natea has quit IRC | 10:51 | |
*** scherand has joined #zope3-dev | 11:10 | |
*** MJ has joined #zope3-dev | 11:12 | |
nouri | brilliant: $ easy_install zc.buildout | 11:41 |
nouri | error: Not a URL, existing file, or requirement spec: 'zc.buildout' | 11:41 |
nouri | oh well, a newer version of setuptools seems to be able to handle it, nvm | 11:46 |
*** Aiste has quit IRC | 12:10 | |
*** ignas has joined #zope3-dev | 12:13 | |
*** volvox has joined #zope3-dev | 12:17 | |
*** gintas has joined #zope3-dev | 12:33 | |
*** Aiste has joined #zope3-dev | 12:34 | |
*** alga has joined #zope3-dev | 12:41 | |
*** jinty has joined #zope3-dev | 12:41 | |
*** batlogg_ has joined #zope3-dev | 12:41 | |
*** batlogg has quit IRC | 12:41 | |
*** _projekt01 has joined #zope3-dev | 12:43 | |
*** _projekt01 has quit IRC | 12:48 | |
*** projekt01 has quit IRC | 13:00 | |
*** Aiste has quit IRC | 13:42 | |
*** dunny has quit IRC | 13:43 | |
*** romanofski has quit IRC | 13:58 | |
*** romanofski has joined #zope3-dev | 14:01 | |
*** mkerrin has joined #zope3-dev | 14:07 | |
*** stainsby has joined #zope3-dev | 14:26 | |
*** benji has quit IRC | 14:26 | |
*** faassen has joined #zope3-dev | 14:39 | |
*** rocky|Zzz is now known as rocky | 14:41 | |
*** J1m has joined #zope3-dev | 14:45 | |
faassen | J1m: hey | 14:47 |
J1m | hey | 14:47 |
*** xenru has quit IRC | 14:51 | |
*** niemeyer has joined #zope3-dev | 14:57 | |
*** mgedmin has joined #zope3-dev | 15:18 | |
ignas | why suddenly <include package="zope.app.session" /> is not working anymore ? | 15:21 |
ignas | it is telling me: | 15:21 |
ignas | ZopeXMLConfigurationError: File "/home/ignas/src/schooltool/Zope3/src/zope/app/session/configure.zcml", line 12.2-15.8 | 15:21 |
ignas | TypeError: Missing 'provides' attribute | 15:21 |
philiKON | shrug | 15:26 |
philiKON | i did something there | 15:27 |
philiKON | zope 3 trunk? | 15:27 |
philiKON | ignas, are on the trunk or zope 3.3? | 15:27 |
ignas | svn://svn.zope.org/repos/main/Zope3/branches/3.3 | 15:28 |
philiKON | weird. that works for me | 15:28 |
philiKON | buildbot.zope.org shows no test failures eitehr | 15:29 |
ignas | i got <include package="zope.app.session" /> in schooltools site.zcml | 15:29 |
philiKON | right | 15:29 |
philiKON | ignas, did you update all of your z3 checkout? | 15:29 |
philiKON | session.py should now contain an adapts() declaration | 15:30 |
ignas | svn up; make clean; make | 15:30 |
ignas | it does contain adapts() | 15:30 |
ignas | schooltools buildbot is spewing this too and it checks out new Zope3.3 every time i think | 15:31 |
philiKON | very weird | 15:33 |
ignas | http://source.schooltool.org/buildbot/pov-schooltool-coverage/builds/216/step-coverage/0 | 15:34 |
philiKON | ignas, i actually jus tproduced an app with session support, so i know it works for me | 15:35 |
philiKON | i can't possibly think fo a way to reproduce this | 15:35 |
philiKON | ignas, what if you get a blank zope 3.3 checkout, create a new instance and just start it up | 15:35 |
philiKON | does it happen? | 15:35 |
*** benji has joined #zope3-dev | 15:36 | |
ignas | i'll try that | 15:39 |
ignas | though, schooltool is a bit more complicated as it is not exactly a Zope3 product it's more of an application built around Zope3 | 15:39 |
mgedmin | ignas: the problem is that zope.app.session.Session implements two interfaces: ISession and IPathAdapter | 15:42 |
mgedmin | see the if len(p) == 1 check? | 15:42 |
mgedmin | src/zope/component/zcml.py line 177 | 15:42 |
mgedmin | huh | 15:43 |
mgedmin | zope.app.session.configure has two <adapter> directives | 15:43 |
philiKON | mgedmin, zope.app.session.session.Session implements *one* interface | 15:44 |
philiKON | ISession | 15:44 |
mgedmin | and a <class> directove that tells session.Session that it implements IPathAdapter | 15:44 |
philiKON | class Session(object): | 15:44 |
philiKON | """See zope.app.session.interfaces.ISession""" | 15:44 |
philiKON | implements(ISession) | 15:44 |
philiKON | adapts(IRequest) | 15:44 |
mgedmin | philiKON: | 15:44 |
mgedmin | <class class=".session.Session"> | 15:44 |
mgedmin | <allow interface=".interfaces.ISession" /> | 15:44 |
mgedmin | <implements interface="zope.traversing.interfaces.IPathAdapter" /> | 15:44 |
mgedmin | </class> | 15:44 |
philiKON | oh shit | 15:44 |
mgedmin | could it be that in schooltool the ZCML directives get reordered somehow? | 15:44 |
philiKON | h mm | 15:44 |
* mgedmin always hated that zcml was order-dependent | 15:44 | |
philiKON | perhaps you guys have your custom <class> directive? | 15:44 |
mgedmin | but random-order-dependent could be even worse :/ | 15:45 |
ignas | mgedmin: yes the first though was that it depends on the order of includes | 15:45 |
philiKON | actions should be executed the way the original definitions were | 15:45 |
mgedmin | ah! | 15:45 |
mgedmin | I know | 15:45 |
ignas | and schooltool does it in a non standard way | 15:45 |
mgedmin | philiKON: we load the ZCML file more than once in a single process | 15:45 |
mgedmin | in unit tests | 15:45 |
philiKON | duh | 15:45 |
mgedmin | the effects of the <implements> directive stick around | 15:45 |
mgedmin | placelessTearDown doesn't clear them | 15:45 |
philiKON | yup | 15:45 |
* mgedmin hates that the zope component architecture cannot be cleanly restored to an older state | 15:45 | |
philiKON | well, test cleanup is hard | 15:46 |
philiKON | this hasn't much to do with the CA | 15:46 |
philiKON | it's object's states | 15:46 |
philiKON | what i did in five was | 15:46 |
philiKON | have the zcml directives remember all monkeyed objects | 15:46 |
philiKON | and provide a cleanup hook | 15:46 |
philiKON | s/objects/classes/ | 15:46 |
*** vlado has joined #zope3-dev | 15:47 | |
mgedmin | ignas: simplest fix that I can think of: in our test's tearDown call implementsOnly(zope.app.session.Session, ISession) | 15:47 |
* ignas eeks, shudders and goes to implement it | 15:48 | |
philiKON | nah, i'll add the provides="" in zcml | 15:48 |
philiKON | dang, i'm out of commit range | 15:48 |
philiKON | (firewalled) | 15:48 |
benji | ignas: you could also put your tests in a layer to isolate them from the other tests | 15:48 |
mgedmin | what kind of firewall lets IRC through but not SSH? | 15:48 |
ignas | benji: can't, am using a custom testrunner | 15:48 |
benji | :( | 15:49 |
philiKON | mgedmin, you don't wanna know | 15:49 |
philiKON | i'm not even here, officially ;) | 15:49 |
philiKON | hi benji | 15:49 |
* mgedmin smells an opportunity for blackmail | 15:49 | |
benji | hi, philiKON | 15:49 |
*** gintas has quit IRC | 15:50 | |
*** Aiste has joined #zope3-dev | 15:53 | |
*** Aiste has quit IRC | 15:55 | |
*** natea has joined #zope3-dev | 15:58 | |
*** nathany has joined #zope3-dev | 16:01 | |
* ignas just wants to show off http://ignas.pov.lt/experimental_compressed_backend_for_ZODB.diff :) upto 5:1 size ratio ~20% slower sometimes as fast as uncompressed, totally experimental | 16:09 | |
ignas | not for use in any production systems | 16:10 |
ignas | just a proof of concept that shows that it is possible | 16:10 |
ignas | as I still can't understand why it hasn't been done before :( | 16:10 |
mgedmin | ignas: I committed the zope.app.session zcml change | 16:12 |
ignas | mgedmin: thanks a lot | 16:13 |
*** stub has quit IRC | 16:15 | |
*** torkel_ has joined #zope3-dev | 16:16 | |
philiKON | mgedmin, thanks! | 16:23 |
philiKON | ignas, and sorry for the inconvenience | 16:23 |
*** natea has quit IRC | 16:35 | |
*** batlogg_ has quit IRC | 16:35 | |
*** batlogg has joined #zope3-dev | 16:36 | |
*** natea has joined #zope3-dev | 16:37 | |
*** zbir_ is now known as zbir | 16:39 | |
*** d21 has joined #zope3-dev | 16:46 | |
*** d2m has quit IRC | 16:48 | |
*** stub has joined #zope3-dev | 16:50 | |
*** eins has quit IRC | 16:52 | |
*** whit has joined #zope3-dev | 16:56 | |
*** hdima has quit IRC | 17:07 | |
*** gintas has joined #zope3-dev | 17:08 | |
*** d21 is now known as d2m | 17:10 | |
*** stainsby has left #zope3-dev | 17:11 | |
*** vlado has quit IRC | 17:20 | |
*** nathany_ has joined #zope3-dev | 17:26 | |
*** vlado has joined #zope3-dev | 17:32 | |
*** projekt01 has joined #zope3-dev | 17:32 | |
*** stub has quit IRC | 17:38 | |
*** vlado has quit IRC | 17:40 | |
*** nathany has quit IRC | 17:42 | |
*** gumpa has joined #zope3-dev | 17:44 | |
*** whit has quit IRC | 17:52 | |
philiKON | J1m, what's the underscore naming scheme and how has python adopted it? | 17:56 |
benji | I (though haven't looked) don't know what naming convention formlib violates. | 17:57 |
srichter | formluib violates Zope 3's style guide of using CamelCase | 17:57 |
benji | CamelCase for non-classes? | 17:57 |
rocky | Zope 3 style guide violates python style guide :) | 17:57 |
srichter | benji: yes | 17:57 |
J1m | http://www.python.org/dev/peps/pep-0008/ | 17:58 |
J1m | See Naming Conventions. | 17:58 |
benji | what entities does it CamelCase? | 17:58 |
srichter | rocky: but that's because Python's style guide was decided upon after ours | 17:58 |
rocky | srichter: oh i totally understand, but it doesn't change my comment ;) | 17:58 |
philiKON | srichter, where's the camelcase violation? | 17:58 |
philiKON | in formlib | 17:58 |
srichter | form_fields | 17:58 |
srichter | custom_widget | 17:59 |
srichter | ... | 17:59 |
philiKON | where's the problem | 17:59 |
J1m | The Zope 3 style guide adoped camelCase method names before the Python style guide made a choice. | 17:59 |
philiKON | camelCase for variable names? | 17:59 |
srichter | philiKON: it violates our style guide | 17:59 |
philiKON | err, i mean, camelCase for attribute names i suppose? | 17:59 |
philiKON | hrrm, i actually prefer underscores | 17:59 |
philiKON | and i don't think it's worth it changing formlib | 18:00 |
J1m | The Python style guide later adopted lower_case_with_underscore for method names. | 18:00 |
J1m | and public attrs. | 18:00 |
philiKON | oh, even for method names? | 18:00 |
J1m | yes | 18:00 |
philiKON | that sucks | 18:00 |
J1m | And it explicitly says that: | 18:00 |
srichter | preference does not matter; it's uniformity that matters, because it let's allows you to remember less | 18:00 |
J1m | - existing APIs should not change | 18:00 |
J1m | - APIs should be internally consistent. | 18:00 |
rocky | now that *does* invalidate my comment that zope 3 style guide violates python style guide ;) | 18:01 |
srichter | but Python was in Zope 2's situation and did not do a rewrite | 18:01 |
srichter | I wonder whether Python 3000 will change the APIs to match the style guides | 18:01 |
philiKON | srichter, it won't | 18:02 |
philiKON | guido said so | 18:02 |
benji | I don't recall that, philiKON; I thought it was still an open question | 18:03 |
philiKON | he said it at europython | 18:03 |
philiKON | at least that's how i interpreted it | 18:03 |
srichter | still, we have a style guide and it has been violated; and I think there is no reason to change it; and to keep violating it defeats its purpose | 18:03 |
benji | ahh, europython isn't in the email archive :) | 18:03 |
srichter | I actually agree with Fred that there is no benefit in changeing the style guide | 18:04 |
J1m | I think there is a benefit in changing it. | 18:04 |
philiKON | refactoring + deprecation just for style (attribute naming) isn't worth it IMO | 18:04 |
rocky | benji: inferior verbal communication is always bad ;) | 18:04 |
benji | I want both consistent style within Zope, and to be consistent with PEP 8; can't have both though | 18:04 |
J1m | The the degree that packages are usable outside of Zope, they should follow the Python style guide. | 18:05 |
philiKON | +1 to PEP0008 | 18:05 |
J1m | Of course, Pep 8 says to not slavishly follow PEP 8. :) | 18:05 |
srichter | J1m: but especially things like formlib are not really usable outside | 18:06 |
philiKON | yeah, i'll still callMethodsThisWay. | 18:06 |
philiKON | and attributes_this_way | 18:06 |
J1m | I sometimes use more whitespace than PEP 8 calls for. | 18:06 |
J1m | srichter: yeah, I was anticipating changing the style guide. :) | 18:06 |
srichter | but I want much more discussion | 18:07 |
J1m | ok | 18:07 |
srichter | I think the benefit of changing it is very small | 18:07 |
philiKON | i think the benefit of changing formlib is also small | 18:08 |
philiKON | the damage is greater | 18:08 |
J1m | I think the benefit of being different is smallter than its cost. | 18:08 |
benji | I think I can't parse that last comment. | 18:08 |
rocky | well, the zope 3 style guide is yet another instance of us doing something our own way versus the python way (looking from outside in) ... it's irrelevant who came first | 18:08 |
srichter | we obviously disagree :-) | 18:08 |
philiKON | benji, J1m thinks being different isn't worth it | 18:09 |
philiKON | ;) | 18:09 |
J1m | rocky: the Zope style guide goes out of it's way to follow the Python style guide. | 18:09 |
benji | rocky: part of the problem is that PEP 8 changed, and we were following the pre-changed guidelines | 18:09 |
J1m | Or making a commitment when before the PEP did. | 18:09 |
rocky | J1m: it *did* you mean ;) | 18:09 |
faassen | yeah, those nasty python people are going out of their way to sabotage our project. :) | 18:09 |
rocky | lol | 18:09 |
rocky | i think zope should build it's own better python-derived language ... pull a MS C#/.net ;) | 18:10 |
mgedmin | zython? | 18:10 |
srichter | style guide is about uniformity; changing it removes that uniformity; I think part of Java's success has been this uniformity; Jason Orendorff said once to me: I can almost always anticipate the API of a Java class | 18:10 |
rocky | mgedmin: nice! | 18:10 |
J1m | eel (combination of fish and snake) | 18:10 |
rocky | lol | 18:11 |
philiKON | srichter, SomethingFactoryFactoryFActory? | 18:11 |
J1m | srichter: no one is arguing with the benefit of uniformity. | 18:11 |
J1m | We are just trying to be uniform within a larger realm. | 18:12 |
benji | we just need a getattr hack that translates a_method_name to aMethodName and vice versa <.87 wink> | 18:12 |
J1m | philiKON: the Python style guide uses CamelCase for class names. | 18:12 |
philiKON | J1m, i know. i was mocking on java's Factory things | 18:12 |
J1m | ah | 18:12 |
* mgedmin prepares for a underscoregeddon | 18:12 | |
philiKON | lol | 18:13 |
mgedmin | speaking of hava, have you read The World of Nouns? | 18:13 |
philiKON | i don't think we'll change getMultiADapter to get_multi_adapter | 18:13 |
philiKON | mgedmin, yes! | 18:13 |
J1m | If we followed PEP 8, we would: | 18:13 |
J1m | - Not change existing names | 18:13 |
J1m | - Remain consistent within APIs. | 18:13 |
J1m | So zope.component would continue to use camelCase. | 18:14 |
philiKON | yeah | 18:14 |
philiKON | - use PEP8 for all new packages, though | 18:14 |
J1m | That would be my vote. | 18:14 |
rocky | philiKON: remember, pep8 says you don't use camelCase for method names... you gonna be able to handle that? :) | 18:14 |
philiKON | rocky, it'll be hard | 18:14 |
srichter | I think the costs of having to remember which package is "new" and whcih is "old" is not worth it | 18:14 |
benji | that seems to be the best we can do | 18:14 |
philiKON | like the time when i switched from 2 spaces to 4 spaces indentation | 18:14 |
faassen | mgedmin: what's the World of Nouns? I'm not sure I have or not and I can't google it up. | 18:15 |
mgedmin | I misremembered the name | 18:15 |
mgedmin | it's Execution in the Kingdom of Nouns | 18:15 |
rocky | philiKON: ugh, 2 spaces, ugh ;) | 18:15 |
philiKON | faassen, http://frater.wordpress.com/2006/08/09/the-kingdom-of-nouns/ | 18:15 |
mgedmin | http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html | 18:15 |
philiKON | oh, take mgedmin's url. i was feeling-lucky-googling | 18:15 |
faassen | ah, kingdom. :) | 18:15 |
* ignas doesn't want to go back to python style naming | 18:15 | |
ignas | python styling meaning | 18:15 |
ignas | get_value getvalue or getValue | 18:16 |
ignas | all being a possibility | 18:16 |
philiKON | pep8 sez get_value | 18:16 |
ignas | sez | 18:16 |
ignas | and python library sez what ? | 18:16 |
philiKON | that it's not gonna change | 18:16 |
ignas | same with Zope3 ... PEP8 sez get_value, Zope3 sez get_value or getValue depending on the module | 18:17 |
J1m | formlib is an interesting case. | 18:17 |
J1m | It started life as a zc-internal project. | 18:17 |
srichter | right, and then you provide a list of "new and "old" modules :-( | 18:17 |
J1m | When it was written, there was no onus on it to conform to the Zope 3 style. | 18:18 |
philiKON | as if the python stdlib was that hard to use just because of the inconsistent naming | 18:18 |
J1m | philiKON: exactly | 18:18 |
srichter | J1m: yes, it is; I think it should have been adjusted to the Z3 style guide before going into the core, with BBB to the old API, for ZC's beenfit | 18:18 |
ignas | philiKON: well it is just that more difficult to use, at least for me | 18:18 |
srichter | philiKON: as a Python newbie, don't ask how many times I wrote: get_attr and getkey | 18:19 |
*** dobee has quit IRC | 18:19 | |
philiKON | getkey must be new, i don't know that one yet ;) | 18:19 |
* ignas is a conformity nazzi, thinking that there should not be more than 1 coding style per project | 18:19 | |
srichter | philiKON: I meant haskey | 18:20 |
J1m | so srichter, what you're saying is that you want to maximize the number of Zope apis that are hard for Python programmers to remember. ;) | 18:20 |
philiKON | (has_key is going away, by the way) | 18:21 |
srichter | J1m: no, I am saying: when using the zope namespace those rules count and if you use zc PEP8 counts (partially) and if you use stdlib PEP8 counts | 18:22 |
srichter | these are at least large enough blocks to keep apart | 18:22 |
J1m | ah, I can live with that. I knew it was a mistake to move formlib to the zope namespace. | 18:23 |
srichter | but if you have to keep mappings in mind for zope.* packages, then things become very hairy | 18:23 |
* faassen sees this as a mandate to startMixing_naming_styles_ToGether_wildly. | 18:23 | |
srichter | J1m: ok, so we have some common ground here: zope.* namespace follows Zope 3 style guide; other namespaces can choose, but must be consistent? | 18:24 |
ignas | +1 | 18:24 |
faassen | I think we should switch to hungarian notation, mylist_sstl (list of string, string tuples) | 18:24 |
faassen | sorry, I'll shut up again. :) | 18:24 |
philiKON | faassen, btw, that's an unfortunate misinterpretation of the Hungarian notation | 18:25 |
ignas | faassen: sys hungarian or apps hungarian ? | 18:25 |
philiKON | faassen, joel spolsky has a nice write up of the *good* hungarian notation | 18:25 |
philiKON | ignas, is sys hungarian the good kind? | 18:25 |
mgedmin | hey, let's prefix all names by zope_ | 18:25 |
ignas | no | 18:25 |
ignas | apps is | 18:25 |
philiKON | +1 to apps hungarian :) | 18:25 |
srichter | J1m: btw, I think this is also the fairest solution for existing projects that have adapted any style guide, such as schooltool, tiks, zc, lovely, z3c, etc | 18:26 |
ignas | philiKON: not much places it applies to Zope3 or web apps | 18:26 |
* Theuni switches to hungrian | 18:26 | |
philiKON | ignas, true | 18:26 |
philiKON | ignas, or in object orientation, for tha tmatter | 18:26 |
*** whit has joined #zope3-dev | 18:27 | |
ignas | philiKON: have you tried doing some graphics programming ? :) no objects can save you from relative coordinates and absolute coordinates and let's say map coordinates but apps hungarian solves that nicely ;) | 18:27 |
philiKON | indeed | 18:28 |
*** alecm has joined #zope3-dev | 18:28 | |
philiKON | incidentally, i used apps hungarian w/o knowing that i did already | 18:28 |
*** scherand has quit IRC | 18:30 | |
*** zagy has quit IRC | 18:36 | |
* benji is hungry | 18:41 | |
* Theuni too, that's why i switched to hungrian (or hungryan?) notation | 18:41 | |
*** WebMaven has joined #zope3-dev | 18:44 | |
* philiKON is heading home soon. *mampf* | 18:47 | |
*** kobold has quit IRC | 18:53 | |
*** nathany_ has quit IRC | 18:57 | |
*** philiKON has quit IRC | 18:59 | |
*** torkel_ has quit IRC | 19:01 | |
*** projekt01 has quit IRC | 19:03 | |
*** rocky is now known as rocky|away | 19:04 | |
*** torkel_ has joined #zope3-dev | 19:04 | |
*** nathany has joined #zope3-dev | 19:17 | |
*** batlogg has quit IRC | 19:19 | |
*** BjornT has quit IRC | 19:20 | |
*** BjornT has joined #zope3-dev | 19:21 | |
*** romanofski has quit IRC | 19:23 | |
*** zagy has joined #zope3-dev | 19:23 | |
*** MJ has quit IRC | 19:24 | |
*** ignas has quit IRC | 19:35 | |
SteveA | WebMaven: ping | 19:40 |
*** zagy_ has joined #zope3-dev | 19:50 | |
srichter | SteveA: did you notice that I checked in a feature that you wanted for years over the weekend? :-) | 19:51 |
*** projekt01 has joined #zope3-dev | 19:51 | |
SteveA | I didn't notice that. What did you do? | 19:51 |
*** philiKON has joined #zope3-dev | 19:51 | |
*** gintas has quit IRC | 19:56 | |
srichter | SteveA: it allows you to "define" component registries in ZCML and use them as bases for local sites | 19:59 |
*** zagy has quit IRC | 19:59 | |
srichter | SteveA: effectively, local component definitions via ZCML | 19:59 |
*** nathany has quit IRC | 20:01 | |
*** batlogg has joined #zope3-dev | 20:03 | |
SteveA | srichter: that's very cool. so, whenever a piece of zcml is parsed, part of the context is what "local site" it is going to configure. | 20:04 |
srichter | you basically create a "IComponents" instance (I provide a class that effeciently pickles) | 20:04 |
srichter | then all you have to say is: | 20:04 |
srichter | <registerIn registry="path.to.my.components.registry"> | 20:05 |
srichter | ... | 20:05 |
srichter | </registerIn> | 20:05 |
srichter | you also have to register the registry as an IComponents utility | 20:05 |
srichter | for the standard local site manager I have created a view that let's you select the registries that should be available as bases to this local one | 20:06 |
srichter | SteveA: http://svn.zope.org/z3c.baseregistry/trunk/src/z3c/baseregistry/README.txt?rev=69952&view=auto | 20:07 |
*** povbot has joined #zope3-dev | 20:10 | |
philiKON | srichter, i would prefer <configure registry="name_of_the_registry_as_utility">...</configure> | 20:10 |
srichter | philiKON: as I said in the docs, this is a trivial change | 20:11 |
*** volvox has quit IRC | 20:11 | |
srichter | philiKON: the goal was to develop a package that I could use now while it is still reviewed for core inclusion | 20:12 |
philiKON | k | 20:12 |
philiKON | srichter, the actionsproxy also seems hackish ;) | 20:12 |
philiKON | better to extend handler | 20:12 |
srichter | philiKON: the reason I decided against a name is the same why we do not use layer names anymore :-) | 20:12 |
philiKON | but you also already mention taht ; | 20:12 |
*** xenru has quit IRC | 20:12 | |
*** alecm has quit IRC | 20:12 | |
SteveA | srichter: it looks cool. I'll have to try it out sometime. | 20:13 |
philiKON | srichter, well, i think it'll have to be a name | 20:13 |
philiKON | or, it rather should | 20:13 |
srichter | extending handler has one big problem: What if someone does not use it? | 20:13 |
philiKON | hmmm | 20:13 |
*** xenru has joined #zope3-dev | 20:13 | |
*** ChrisW has joined #zope3-dev | 20:13 | |
ChrisW | hi all | 20:13 |
ChrisW | zope.interface and zope.testing are seperately released, right? | 20:13 |
philiKON | well... | 20:14 |
Theuni | yup | 20:14 |
srichter | I considered many alternatives, but at the end I decided to go with the safest | 20:14 |
philiKON | most zope.* packages are available as eggs | 20:14 |
ChrisW | if so, where do you download the seperately available packages? | 20:14 |
ChrisW | (I'm writing documentation for twiddler) | 20:14 |
philiKON | http://downloads.zope.org/distrib | 20:14 |
Theuni | 404 | 20:14 |
philiKON | http://download.zope.org/distribution/ | 20:14 |
ChrisW | DNS error for me ;-) | 20:14 |
Theuni | aeh .. .server not found ... :) | 20:14 |
ChrisW | hehe | 20:14 |
philiKON | the last url i gave you should work | 20:15 |
srichter | if we assume that all component registration is done via handler(), then we can make a lot more simplification with respect to non-registering global changes (see end of README) | 20:15 |
Theuni | yup, does. | 20:15 |
ChrisW | so http://download.zope.org/distribution/zope.interface-3.2.0.tar.gz and http://download.zope.org/distribution/zope.testing-2.0.2.tar.gz right? | 20:15 |
philiKON | ChrisW, yeah | 20:15 |
ChrisW | these just need untarring onto the python path? | 20:15 |
philiKON | srichter, i don't think we should assume handler, but i guess we could assume that directives iether use handler, or they register things with the right registry themselves | 20:16 |
ChrisW | or maybe "python setup.py install"? | 20:16 |
philiKON | ChrisW, dude, it's eggs | 20:16 |
srichter | philiKON: I would be careful | 20:16 |
philiKON | ChrisW, read about installing eggs | 20:16 |
ChrisW | philiKON: don't want eggs right now | 20:16 |
ChrisW | one too many things and my head will explode :-( | 20:16 |
philiKON | that's fine | 20:16 |
srichter | zope.component.provideUtility() and zope.component.provideAdapter() is very tempting | 20:17 |
philiKON | that's why they should go away :) | 20:17 |
ChrisW | I know "eggs iz good", but I'm just looking to write quick docs for people who want to install these two when they don't have zope around... | 20:17 |
srichter | that's a different story | 20:17 |
philiKON | ChrisW, getting those eggs *is* the easiest way | 20:17 |
philiKON | ChrisW, eggs are nothing magical | 20:18 |
philiKON | ChrisW, they contain the python source in them | 20:18 |
srichter | I have to go with what we have now; if the requirements change, the implementation can/will change too :-) | 20:18 |
ChrisW | okay, so with a normal python 2.4 install, how would I install the above? | 20:18 |
philiKON | ChrisW, man, just get one of these eggs, unzip it and you'll find out | 20:19 |
philiKON | sometimes you're worse than the zope@zope.org newbies you yell at all the time ;) | 20:19 |
ChrisW | there's only 2 of them | 20:19 |
philiKON | currently ;) | 20:19 |
ChrisW | I don't mind newbies, which beno professes not to be | 20:20 |
ChrisW | and I have an irrational fear of eggs | 20:20 |
Theuni | *lol | 20:20 |
srichter | ChrisW: you are not alone; me too :-) | 20:20 |
ChrisW | am I supposed to download the .tgz or the .egg? | 20:20 |
philiKON | eggs are *nothing* special | 20:20 |
philiKON | they're just zip files | 20:20 |
philiKON | with python packages in them | 20:20 |
ChrisW | srichter: okay, how would you advise installing zope.interface and zope.testing in a non-zope environment? | 20:20 |
srichter | ChrisW: eggs, really :-) | 20:21 |
ChrisW | philiKON: then why won't you answer my question? ;_) | 20:21 |
srichter | ChrisW: I probably do not trust them for different reasons :-) | 20:21 |
philiKON | ChrisW, because i'd have to spell everything out for you that you could easily find out yourself by just download the suckers and untaring them | 20:21 |
ChrisW | okay. .tgz or .egg? I'm guessing .tgz by your phrasing... | 20:21 |
philiKON | doesn't really matter. | 20:22 |
philiKON | sure, .tgz will work | 20:22 |
philiKON | eggs are nothing special. they're probably also not the great saviours that everyone things they are. | 20:22 |
ChrisW | wtf is a .egg? | 20:22 |
ChrisW | .zip file with the wrong extension? | 20:22 |
philiKON | they're just directories (or zipped direcotries) that are on your pythonpath | 20:22 |
philiKON | as said, either zipped directories or just directories that can be on your pythonpath | 20:23 |
ChrisW | oh yay, I love opening an INSTALL.TXT to find "now just install all this other crap before you can use the thing you downloaded" :-( | 20:23 |
philiKON | i todl you to get eggs | 20:23 |
philiKON | easy_install loads all that other crap | 20:24 |
philiKON | but you wouldn't listen | 20:24 |
ChrisW | I'm referring to easy_install | 20:24 |
philiKON | so don't complain :) | 20:24 |
ChrisW | and setuptools | 20:24 |
ChrisW | *grunt* | 20:24 |
philiKON | huh? installing setuptools isn't any more complicated than installing another python package | 20:25 |
ChrisW | is there an example of what to put in a readme.txt for "how to install zope.testing and zope.interface"? | 20:25 |
mgedmin | easy install is like: just run me as root so that I can download arbitrary python code from the public internet and execute it with root privileges on your machine without performing any cryptographic authenticity checks on the downloaded code | 20:25 |
ChrisW | mgedmin: exactly! | 20:25 |
philiKON | mgedmin, umm... yeah, by default | 20:25 |
mgedmin | or maybe that's ez_setup.py | 20:25 |
ChrisW | personally, I don't give a monkeys, 'cos I'll only be using twiddler in zope | 20:25 |
ChrisW | just trying to be a good python citizen here | 20:26 |
Theuni | easy_install is the way | 20:27 |
ChrisW | so what do I write? | 20:27 |
ChrisW | since I know noooothing about easy_install ;-) | 20:28 |
*** rocky|away is now known as rocky | 20:33 | |
ChrisW | where's the five channel again? | 20:42 |
* ChrisW wants to know how the work to allow Zope 2 products to live in lib/python is going... | 20:42 | |
philiKON | ChrisW, #z3-base | 20:43 |
philiKON | you want to talk to rocky | 20:43 |
*** alecm has joined #zope3-dev | 20:44 | |
*** faassen has quit IRC | 20:50 | |
*** mkerrin has quit IRC | 20:51 | |
*** philiKON has quit IRC | 20:53 | |
*** philiKON has joined #zope3-dev | 20:56 | |
* benji wonders what the #z3-base channel is for. | 20:56 | |
Theuni | ChrisW: you download easy_install and run it once (that installs setuptools) then you run "easy_install packagename" | 20:56 |
philiKON | benji, http://codespeak.net/z3 | 20:56 |
Theuni | if you point it to the egg file it should install that, if you just tell it the package name (e.g. "zope.interface") it will start wandering around on the net trying to get it | 20:57 |
benji | ahh, thanks (now if that page'll load) | 20:57 |
philiKON | benji, worsk for me | 20:58 |
ChrisW | heh, I jsut said "if yer not using zope, you'll need eggs, here's the instructions, you're on your own" | 20:58 |
*** ChrisW has left #zope3-dev | 20:58 | |
*** gintas has joined #zope3-dev | 20:59 | |
*** gumpa is now known as gumpa-gone | 20:59 | |
Theuni | philiKON: i think i found that zope.component.provideUtility is *not* a convenience spelling for zope.component.getSiteManager().provideUtility .... | 21:01 |
philiKON | i never said it was | 21:01 |
philiKON | or did i? | 21:01 |
Theuni | zope.component.provideUtility(component, interface=optional) is a convenience spelling for: | 21:01 |
Theuni | zope.component.getGlobalSiteManager().registerUtility( | 21:01 |
philiKON | getGlobalSiteManager.registeryUtility | 21:01 |
Theuni | component, interface=optional). | 21:01 |
philiKON | yes | 21:01 |
philiKON | if i said otherwise, i was wrong | 21:01 |
Theuni | getGlobalSiteManager it is? | 21:01 |
philiKON | yes | 21:02 |
Theuni | why? | 21:02 |
philiKON | actually, i just looked at my email | 21:02 |
Theuni | why not getSiteManager? | 21:02 |
philiKON | i was right. i said getGlobalSiteManager | 21:02 |
philiKON | because the convenience api specifically adresses the global registries | 21:02 |
Theuni | except when it doesn't, right? | 21:02 |
philiKON | huh? | 21:02 |
philiKON | it always adresses the global ones | 21:02 |
Theuni | because zope.component.getUtility _does_ retrieve local registrations when you make it do | 21:03 |
philiKON | hmm, well, eyah | 21:03 |
Theuni | :( | 21:03 |
philiKON | the get* things behave differnetly than the provide* things i guess | 21:03 |
philiKON | another reason to kill the provide* things | 21:03 |
* Theuni get's very sad again | 21:03 | |
Theuni | true | 21:03 |
Theuni | this api needs cleanup to get less confusing | 21:03 |
* philiKON is unsure what to do in his book now | 21:04 | |
Theuni | there you go :) | 21:04 |
philiKON | grrmrmrrmrmmrmrm | 21:04 |
Theuni | if i solve this problem i have right now, i can give you some input on my experience from the last days | 21:04 |
* philiKON wonders what Theuni is baking up | 21:04 | |
Theuni | world domination and two milky ways | 21:05 |
philiKON | ah, cool | 21:05 |
Theuni | (the chocolate bar, not the huge pile of stars) | 21:05 |
philiKON | J1m, i guess i really should not use the provide* convenience API in the book, eh? | 21:05 |
philiKON | J1m, or do you think until we solve the site manager nomenclature, i should? | 21:06 |
Theuni | which i consider is darn sad because it's much shorter to spell then zope.component.getSiteManager().* | 21:06 |
*** MJ has joined #zope3-dev | 21:06 | |
philiKON | well, yeah | 21:06 |
philiKON | usually you make multiple registrations anyhoo | 21:06 |
philiKON | it's just another lime | 21:06 |
philiKON | line | 21:06 |
J1m | philiKON: I dunno. | 21:06 |
philiKON | sm = z.c.getGlobalSiteManager() | 21:06 |
philiKON | sm.register* | 21:06 |
philiKON | J1m, me neither :( | 21:06 |
Theuni | it's boilerplate | 21:06 |
Theuni | at least i found something that should be removed, all the provide* names are declared twiced in the global registry | 21:07 |
J1m | I think using the provide functions is fine for now. | 21:07 |
Theuni | so the first declaration can probably just be deleted | 21:07 |
philiKON | J1m, ok. i just want this 2nd edition to stick around a bit longer :) | 21:07 |
J1m | well, maybe we should stop deprecating things so fast. :) | 21:08 |
Theuni | J1m: you noticed that provide* will do global registrations but the get* will work against local site managers? | 21:08 |
J1m | yes | 21:08 |
Theuni | does it have to be that way? | 21:08 |
Theuni | it's counter intuitive IMHO | 21:08 |
J1m | yes | 21:08 |
J1m | It does have to be that way. | 21:08 |
J1m | provide is just a shorthand | 21:08 |
J1m | It is just a convenient way to cram things into the global registry, | 21:09 |
*** mgedmin has quit IRC | 21:09 | |
Theuni | so can we have a convenient way to cram things into the local registry? | 21:09 |
J1m | It's fine most of the time to look up something from an implicitly defined registry. | 21:09 |
J1m | I don't think you'd every want to be implicit when regsitering things. | 21:10 |
J1m | There is an api for getting the local site manager. | 21:10 |
Theuni | Well, for me, I'm missing the elegance here. The spellings aren't symmetrical, so they're harder to remember. | 21:11 |
Theuni | I'll try to shut up for a while on that topic and work with the current situation for a while and speak up later again. | 21:16 |
Theuni | i wonder if we should have multiple "severities" of backwards compatibility | 21:26 |
Theuni | then we could deprecate an API but still have it around for more than two releases | 21:26 |
benji | we could do something like Python does, for very important APIs deprecate them first without a warning, start issueing a warning at some point, then remove it after that | 21:29 |
benji | (s/without a warning/with an automatically silenced warning/) | 21:29 |
*** natea_ has quit IRC | 21:32 | |
*** dobee has joined #zope3-dev | 21:34 | |
Theuni | something along those lines | 21:34 |
*** niemeyer_ has joined #zope3-dev | 21:35 | |
*** dunny has joined #zope3-dev | 21:40 | |
*** niemeyer has quit IRC | 21:43 | |
*** niemeyer has joined #zope3-dev | 21:44 | |
*** J1m has quit IRC | 21:54 | |
*** J1m has joined #zope3-dev | 21:55 | |
*** natea has joined #zope3-dev | 21:55 | |
*** romanofski has joined #zope3-dev | 21:56 | |
*** xenru|clone has joined #zope3-dev | 22:00 | |
*** alga has quit IRC | 22:00 | |
*** torkel_ has quit IRC | 22:03 | |
*** niemeyer_ has quit IRC | 22:04 | |
*** torkel_ has joined #zope3-dev | 22:08 | |
*** philiKON has left #zope3-dev | 22:14 | |
*** philiKON has joined #zope3-dev | 22:14 | |
*** xenru has quit IRC | 22:17 | |
*** dunny has quit IRC | 22:26 | |
*** gumpa-gone is now known as gumpa | 22:31 | |
*** natea_ has joined #zope3-dev | 22:43 | |
*** zagy_ has quit IRC | 22:45 | |
*** ktwilight has quit IRC | 22:45 | |
*** ktwilight has joined #zope3-dev | 22:46 | |
*** natea has quit IRC | 22:49 | |
*** dobee has quit IRC | 23:13 | |
*** natea has joined #zope3-dev | 23:22 | |
*** Borax has joined #zope3-dev | 23:27 | |
*** natea_ has quit IRC | 23:29 | |
*** Borax has quit IRC | 23:32 | |
*** gintas has quit IRC | 23:32 | |
*** timte has quit IRC | 23:40 | |
*** romanofski has quit IRC | 23:42 | |
*** natea_ has joined #zope3-dev | 23:45 | |
Theuni | does anybody know what zope.pagetemplate.pagetemplate.TemplateUsage is for? | 23:46 |
*** dunny has joined #zope3-dev | 23:47 | |
philiKON | Theuni, that shit is still in there? | 23:49 |
philiKON | "usage" got ripped out ages ago | 23:49 |
Theuni | looks like cruft | 23:49 |
Theuni | no interfaces, no docstrings, no tests, no comments | 23:49 |
Theuni | i just stumlbed over it because it's still in the namespace that is generated for page templates | 23:50 |
Theuni | and one or two classes associated with it | 23:50 |
Theuni | i'll try to rip it out and see if something breaks | 23:50 |
Theuni | there are tests still referring to it | 23:51 |
Theuni | so yes, something breaks | 23:51 |
*** natea has quit IRC | 23:52 | |
*** torkel_ has quit IRC | 23:56 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!