IRC log of #zope3-dev for Friday, 2005-12-02

bradallenI guess I can tell users to use absolute URLs...00:02
*** benji has quit IRC00:05
*** sprause has joined #zope3-dev00:06
*** povbot has quit IRC00:06
bradallenThis doesn't work: `DFW clean air plan <CleanAirPlan>`_00:06
bradallenBut this does: `DFW clean air plan <>`_00:08
*** zmi_junkie has quit IRC00:18
sprausebradallen: zwiki does simple text replace with CamelCase words -> html links. `DFW clean air plan <CleanAirPlan>`_ doesn't work, because reST already creates a link to "CleanAirPlan", then zwiki sees it and replaces it again00:23
*** srichter has joined #zope3-dev00:23
*** ChanServ sets mode: +o srichter00:24
bradallenThanks! So either I need to stop using CamelCase on my wiki document names,00:27
bradallenor else see if I can take advantage of it. The problem is that I don't want the end result to look like a camelcase name.00:28 zwiki has its own special syntax rules on top of reST00:31
sprausefrom what I see in zwiki/browser/ it replaces camel case words and "[Wiki Page Here]" things with links00:32
bradallenMaybe I shouldn't bother with trying to use reST.00:35
bradallenI was just trying to find something easy for the end users.00:35
bradallenzwiki does plain text too00:35
*** zbir` has joined #zope3-dev00:37
dman13yeah, CamelCase words is the normal syntax for a "wiki word" (zwiki didn't make it up)00:39
dman13and they automatically refer to a page with the same name00:39
dman13that's part of the efficiency and simplicity (for people who aren't accustomed to writing <a> tags) of wikis00:39
dman13if you just want reST documents, then just make a reST document (if such a content type doesn't already exist) instead of using wiki pages :-)00:39
*** marita has joined #zope3-dev00:42
bradallenCamelCase links work great when I use plain text mode for zwiki instead of reST.00:42
bradallenI'd like to find out what other special syntax zwiki supports.00:43
bradallenI've been digging around at in the FAQ and other pages but have had trouble finding the right docs.00:43
*** mkerrin has left #zope3-dev00:43
bradallenAt the moment I'm trying to figure out how to do something like [ text wording -> CamelCaseLink]00:44
maritasrichter: If I have tal:content="item/id" i18n:translate="" in ZPT, shouldn't this translate my id if the string is in the po file?00:44
maritaIf I write the same string inside the tag, it gets translated. But item/id doesn't.00:45
bradallen[[DFW air plan -> DfwAirPlan]] causes a system error.00:45
maritaIs that a bug or a feature?00:45
sprausebradallen: I think that the zwiki in zope 3 is a new/other wiki implementation and has nothing to do with the one from, but I'm not sure00:46
bradallenok, I found
bradallensorry to keep pestering00:47
sprausemarita: probably use i18n:translate="some_id" and translate "some_id"?00:47
maritasprause: No, that doesn't work either. In that case I have to remove the tal:content directive to get the PT compiled, and then it just displays the untranslated text between the tags :-(00:51
dman13bradallen: is for the Zope2 ZWiki product not the zope3 zwiki package00:51
dman13bradallen: some of the docs may be applicable, but some won't be00:51
bradallenso, no docs for the Z3 version?00:51
bradallenMaybe at least the wiki syntax will be similar00:52
*** bradb has left #zope3-dev00:53
bradallenwell, this doesn't work  [DFW air plan DfwCleanAirPlan]00:54
srichtermarita: should work, yes00:54
bradallennor does this: [DfwCleanAirPlan DFW clean air plan]00:54
maritasrichter: But doesn't. At least not in Z3.1.00:55
srichterI doubt that00:55
srichterwe use this sort of pattern everywhere in Zope 300:56
maritasrichter: No, most of the strings are translated before they go into tal, if I get the code right.00:57
srichtertake for example the container content view; the size is translated like in your example, if I remember correctly00:58
srichterare you sure your domain is set correctly?00:58
maritaYes. I can write the string that item/id returns inside the tags and remove the tal:content directive. Then it is translated. Does that make any difference for the translation engine?00:59
*** sashav has quit IRC01:00
srichtereach message has their own domain associated with it01:00
*** J1m has quit IRC01:01
srichterit will not use the domain specified in ZCML01:01
srichterit will not use the domain specified in TAL (I mean)01:02
maritaWell, but if I specify the domain with i18n:domain right in the tag, that should work, yes?01:02
srichterthe message domain will always be used01:02
srichterthat's the entire point of domains01:03
maritaThat's not useful.01:03
sprausebradallen: ah got it: you can add a ! as the very first character of the line to disable any zwiki linking. so "! some text `DFW clean air plan <FooBar>`_ more text" should work01:03
maritaIt should be possible (like in Zope2's implementation) to translate ANY string in the PT, regardless where it comes from. Otherwise the concept of "translation at the latest point" does not work.01:04
maritaHow should I translate item/id then?01:04
*** jinty has left #zope3-dev01:05
bradallensprause: interesting...thanks for finding that. However, I'm thinking the WikiWord approach will be more friendly to the end user. I just need to find a way for them to supply alternative text to the article doesn't read like its full of WikiWords. I tried the [Wikipedia |] syntax just to see if it would work, but it didn't.01:06
maritaMy impression is that tal:content is not translated at all ATM.01:08
d2mbradallen: zwiki on zope3 supports plaintext, STX (with embedded html) and reST formatted text -- linking in STX goes like so: "Wikipedia":http://www.wikipedia.org01:10
bradallend2m: I'm trying to get that work but it's coming out garbled.01:13
bradalleninput: A new regional "DFW clean air plan":DfwCleanAirPlan is in the works.01:13
bradallenoutput (as STX): A new regional DfwCleanAirPlan">DFW clean air plan is in the works.01:14
bradallenMaybe that syntax doesn't allow wikiwords.01:14
maritasrichter: For the size, it's a message id that is generated BEFORE it is passed to the PT: size = _('${items} items').01:15
bradallenI was just hoping to use a relative URL to wiki pages in my site.01:15
d2mbradallen: i'll check that...01:15
maritasrichter: If that's the only way to do this I'll have to write my own "translateableId" method or so. That's not how things should work.01:16
d2mbradallen: you are right, this version does not support WikiWords als linktargets01:18
bradallend2m: this is almost working: "DFW clean air plan":http:DfwCleanAirPlan01:19
d2mbradallen: OTOH the wikipage name does not need to be a wikiword01:19
bradallenI just want to use a relative url.01:20
bradallenhere is what the link target resolved to:
bradallenthat was very close01:20
bradallenThe only thing wrong was the FrontPage that got inserted into the URL01:20
d2mbradallen: "DFW clean air plan":../Dfwcleanairplan is perfectly working01:21
bradallenI will try it01:21
d2mbradallen: if you got a page named 'Dfwcleanairplan'01:21
bradallend2m: it didn't work for me. The output looked like DfwCleanAirPlan">DFW clean air plan01:22
d2mbradallen: please look into the html source of the rendered page, you'll immediately see where the problem is01:23
d2mbradallen: STX itself knows nothing about wiki/zwiki/wikiwords01:24
bradallenziki is inserting another a href01:25
bradallenon top of the STX a href01:25
maritaworks. But can it get any uglier?01:25
d2mbradallen: correct, zwiki renders wikiwords into links01:25
d2mbradallen: if you want to use descriptive link titles do not use wikiwords for pageids01:26
bradallend2m: I may change my naming convention and use underscore separated words01:26
d2mbradallen: relative links in STX need to have the format "Link Title":../pageid01:28
bradallend2m: Yes, it's working now that I got rid of the wikiword page name. Sweet relief.01:29
d2mbradallen: in this version of zwiki01:29
*** niemeyer has quit IRC01:29
bradallend2m: Thanks for your help, d2m. I'm supposed to have an end user meeting later tonight and I wanted to hame something to show.01:30
d2mbradallen: np, #zwiki is another channel for general wiki support01:31
bradallend2m: noted. Thanks.01:33
maritasrichter: My problem was Collector 455:
maritaSeems to be fixed in svn01:42
*** marita has left #zope3-dev01:46
*** lifeless has joined #zope3-dev02:02
*** sprause has quit IRC02:15
*** yota has quit IRC03:02
*** stub has joined #zope3-dev04:24
*** sashav has joined #zope3-dev06:10
*** natea has joined #zope3-dev07:10
*** Theuni has joined #zope3-dev08:09
*** eins has joined #zope3-dev08:16
*** dobee has joined #zope3-dev08:32
*** stub has quit IRC08:56
*** hdima has joined #zope3-dev09:29
*** stub has joined #zope3-dev09:48
*** romanofski has joined #zope3-dev09:53
*** _agroszer has joined #zope3-dev09:53
*** zagy has joined #zope3-dev09:59
*** Theuni changes topic to "zope3-dev | Bug day today | Zope 3.1.0final released! | Help translating Zope 3.1 into your language! | logs available at"10:05
*** hazmat has joined #zope3-dev10:09
*** MJ has quit IRC10:11
*** Aiste has quit IRC10:12
*** sashav has quit IRC10:19
einshi romanofski10:42
*** sashav has joined #zope3-dev10:44
romanofskihey eins :)10:47
*** tarek has joined #zope3-dev10:51
*** SteveA has quit IRC11:09
*** Aiste has joined #zope3-dev11:25
*** drzoltron_ has joined #zope3-dev11:28
*** MJ has joined #zope3-dev11:35
*** MJ has joined #zope3-dev11:38
*** MJ has joined #zope3-dev11:43
*** jinty has joined #zope3-dev11:51
*** andres__ has joined #zope3-dev12:03
*** _agroszer has quit IRC12:05
*** andres has quit IRC12:10
*** andres__ is now known as andres12:10
*** natea has quit IRC12:14
*** MJ has quit IRC12:19
*** MJ has joined #zope3-dev12:38
*** mgedmin has joined #zope3-dev12:50
*** niemeyer has joined #zope3-dev12:55
*** drzoltron_ has quit IRC13:06
*** MrTopf has joined #zope3-dev13:48
*** MJ has quit IRC13:54
*** MrTopf has quit IRC13:56
*** MrTopf has joined #zope3-dev13:57
* Theuni tries to start his zope3 bug daz14:00
* Theuni tries to start his zope3 bug day14:01
Theunianybody awake already so I can bug him about stuff?14:05
TheuniExample: Bug 430. srichter's last comment is somehow ambigous. He said "it is not serious" but set the level to critical.14:06
TheuniAdditionally the file mentioned "" isn't in the repository anymore it seems14:06
andresa question regarding securityproxies.14:10
Theunian answer about securityproxies.14:10
andresIs it correct, that an instance of SQLObject failes isinstanceof(obj, SQLObject) after obj has been security proxied?14:11
*** MJ has joined #zope3-dev14:12
TheuniI'm just starting with zope 3 again, but IIRC proxies should not make isinstance() fail14:12
Theunimr pieters!14:12
andresTheuni, the problem is, that they do.14:14
BjornTandres, Theuni: it does fail. (it'd be nice if it didn't, though)14:14
TheuniBjornT:  ok ... wasn't sure anyway14:14
TheuniSo it's the official intended behaviour right now?14:14
BjornTthat i don't know14:15
*** ignas has joined #zope3-dev14:15
srichterTheuni: feel free to demote any bugs14:16
srichterTheuni: a critical bug does not necessarily mean it is critical; I usually just want people to look at it before the release and get another opinion14:16
srichterandres: yes, so use zapi.isinstance14:17
Theunisrichter:  i see. so you'd agree on bug 430?14:19
srichterI agree on 42014:20
*** vlado has joined #zope3-dev14:20
srichterI think 430 is fixed14:20
Theuniyou agree to move 420 to feature request as well?14:21
mgedminTheuni, there's zope.proxy.isinstance, IIRC14:21
mgedminwhich strips away the proxy14:21
srichterno, it's in zapi, I think14:21
*** _agroszer has joined #zope3-dev14:22
* Theuni made 420 a feature request and non-critical.14:22
Theunimgedmin, srichter: aha ...14:22
Theunigood to know14:22
andressrichter, the problem is, that thats foreign code not using zope.14:24
srichterwell then make sure the object you pass to the foreign code is not security proxied14:24
srichterit's a disadvantage of proxies that we can do nothing about14:25
andressrichter, ok, i hope i can finde a way.14:28
* Theuni works on 44314:31
*** MiUlEr has quit IRC14:38
*** faassen has joined #zope3-dev14:45
*** yota has joined #zope3-dev14:56
*** jhauser has joined #zope3-dev14:57
*** efrerich has joined #zope3-dev14:59
*** _fermigier has quit IRC15:03
*** _fermigier has joined #zope3-dev15:04
*** tlotze has joined #zope3-dev15:05
*** mkerrin has joined #zope3-dev15:06
Theunisrichter:  regarding 443. I wonder why the Bytes-Class does a super() for _toFieldValue15:09
Theunia byte input widget most certainly doesn't want to treat it's input as text.15:09
andresHow long do you plan to work on the bugs today?15:10
TheuniI'm going to be around until 4:30pm CET15:10
Theunieventually i will come back later then15:10
Theunigotta exercise in between15:10
Theuniat least 2.5 more hours for me15:10
* Theuni scratches his head on hte Bytes thingy anyway15:11
*** zbir` has quit IRC15:12
Theuniaha ... so on text/* it treats the input like ascii15:14
Theunibut it shouldn't treat it like html15:14
*** MJ has quit IRC15:21
*** efge has joined #zope3-dev15:36
Theunisrichter:  ayt?15:37
* Theuni feels very lonely right now15:39
*** MJ has joined #zope3-dev15:39
TheuniWhy is an ASCIIAreaWidget expected to convert line endings?15:39
TheuniI'd expect an ASCII widget to _not_ change anything on the content at all15:39
* mgedmin hugs Theuni and runs away15:42
*** xenru has joined #zope3-dev15:43
TheuniY M C A15:43
* Theuni jumps around15:43
* tlotze hides15:44
* Theuni checks another bug until someone tells him he's doing the right hting15:47
*** MJ has quit IRC15:49
mgedminoh, it's a bug day today15:52
Theuniat least for me :)15:57
*** zbir` has joined #zope3-dev15:58
mgedminI'd be happy to fix :-)16:01
*** MJ has joined #zope3-dev16:02
Theunican somebody explain to me why data that goes _into_ the text widgets is xml-unescaped?16:03
Theunithat makes no sense to me16:03
* Theuni doesn't feel touched by that bug16:04
*** dobee has quit IRC16:05
*** MJ has quit IRC16:06
*** jinty has quit IRC16:06
efgeTheuni: hm that feels very wrong16:07
Theuniwhat feels wrong?16:08
Theunido you mean the current way, or not unescaping it?16:08
efgexml-unescaping before displaying a widget16:08
efgeit should be escaped, on the contrary16:08
Theunibad description of me16:08
Theuni_toFormValue calls escape. thats fine.16:09
Theuni_toFieldValue calls unescape. That's bad.16:09
efgeah. yes it is.16:09
Theuniif you remember algebra, this call creates a defect on the mapping which ends up in the known bugs.16:09
Theuniso, anybody objects me removing the unescape calls?16:09
efgeTheuni: I'm sure some buggy tests have to be fixed too16:10
Theuniof course16:10
*** MJ has joined #zope3-dev16:10
Theunithey're expecting the wrong thing now ... but i can update them of course16:10
Theunii just wanted to know if my idea  what's wrong is correct.16:10
* Theuni is happy16:10
jhauserdoes this fix a bug?16:10
Theuniit fixes two bugs16:11
Theuni443 and 46816:11
Theuniand they are both marked critical16:11
*** yota has quit IRC16:11
*** stub has quit IRC16:11
jhauserok what will people have done up to now, to circumvent this?16:11
Theunithey can't16:11
Theunithey just can't use the stuff16:11
Theunithat's the beauty of defect mappings16:12
jhauserfine, I aks only because I do not overseee such changes16:12
*** MJ has quit IRC16:13
*** MJ has joined #zope3-dev16:17
*** MacYET has joined #zope3-dev16:18
*** romanofski has quit IRC16:19
*** yota has joined #zope3-dev16:21
*** stub has joined #zope3-dev16:26
*** MJ has quit IRC16:29
Theunifinally. fixed two bugs ...16:37
*** _agroszer has quit IRC16:40
*** _agroszer has joined #zope3-dev16:40
*** dobee has joined #zope3-dev16:41
*** __mac__ has quit IRC16:41
*** GaryPoster has joined #zope3-dev16:46
*** zagy has quit IRC16:46
*** MJ has joined #zope3-dev16:47
*** jinty has joined #zope3-dev16:48
*** mgedmin has quit IRC16:51
*** TresEquis has joined #zope3-dev16:53
*** jinty has quit IRC16:54
TresEquissrichter: why did you bump #474 to critical?  A newly-fussy compiler warning shouldn't be a release blocker16:59
MacYETyou can ignore those warnings17:00
Theunihooray ... i was afraid to move that down17:01
TheuniTresEquis:  srichter told me that he just bumped up a couple of things and we should put them down if we want17:01
Theunihe wanted us to look at them17:01
*** MJ has quit IRC17:01
* Theuni currently looks at 44617:01
*** eins has quit IRC17:04
TheuniHmm. I don't exactly see where headers are encoded differently than ascii ...17:08
TheuniI mean, i wonder why addHeader has a bit different encoding semantic thatn setHeader17:09
Theunibut setHeader makes it str() ...17:09
*** jfmoxley has joined #zope3-dev17:11
*** hdima has quit IRC17:12
*** MacYET has left #zope3-dev17:14
*** J1m has joined #zope3-dev17:18
jfmoxleyi've used zapi.getParent in a few places in my code, but now in a new place i'm getting... TypeError("Not enough context information to get parent", obj)... which i dont understand because i've registered the containment with the parent container17:19
*** MJ has joined #zope3-dev17:20
jfmoxleyany ideas?17:20
*** _anguenot has joined #zope3-dev17:20
andresjfmoxley, i once got that error, because i set __parent__ but not __name__.17:24
jfmoxleyandres: thanks.  but shouldn't the container.constraints.containers()17:26
jfmoxleyin the child17:26
*** jhauser has quit IRC17:26
andresjfmoxley, no idea, i dont know your code.17:26
jfmoxleyand container.constraints.contains() in the parent take care of everything?17:26
jfmoxleyandres: ok thanks17:26
*** MJ has quit IRC17:27
*** jhauser has joined #zope3-dev17:29
jfmoxleyyou know what, this is in my python test suite... maybe zope needs to start up in order to arrange the parent-child relationships17:29
* Theuni cleans up the german translation a _bit_17:29
_agroszerTheuni: ping17:38
_agroszerregarding Issue #45117:38
_agroszerI think Dominik fixed it already17:38
TresEquisI've downgraded 474 to "low"17:38
TheuniTresEquis:  excellent17:39
_agroszerstill I have to check the results17:39
Theuni_agroszer:  can you check that definitively and close the bug or tell me what to do?17:39
_agroszerok, I'll check17:39
*** TresEquis changes topic to "Bug day today, critical #s: 430,441,444,446,451,465,466 | Zope 3.1.0final released! | Help translating Zope 3.1 into your language! | logs available at"17:41
*** MJ has joined #zope3-dev17:45
*** jukart has joined #zope3-dev17:46
TresEquisw.r.t #441:  I don't think it should be critical either17:49
TresEquisIt is a weird corner case, with a workaround17:49
TresEquiswe can certainly do a beta without a fix17:49
*** MJ has quit IRC17:50
*** TresEquis changes topic to "Bug day today, critical #s: 430,444,446,451,465,466 | Zope 3.1.0final released! | Help translating Zope 3.1 into your language! | logs available at"17:51
Theunii just noticed there also are a couple of "urgent" bugs around17:53
Theunii don't think 296 is urgent17:55
Theuniit was urgent for 3.1 already and wasn't resolved then. doesn't sound very urgent.17:55
*** bradb has joined #zope3-dev17:56
* TresEquis notes that there was *nothing* urgent about 3.117:57
*** bradallen has quit IRC17:58
*** mgedmin has joined #zope3-dev17:58
Theuniso you agree on that or was that a general remark? :)17:58
Theunithose german translations provide more confusion than translation ...17:59
TheuniThis object isnt actually used, except if it's registered, and it is active.18:00
Theuniand the translation has some slight syntactical problems because the german translation says that it is active but won't be used until registered ...18:00
J1mDo we claim to support DAV?18:01
Theunidid we in 3.1?18:02
J1mI don't know.18:03
Theuniwould it make a difference?18:03
J1mIt would determine whether 369 neded to be fixed.18:04
J1mI'm not really sure what the current status is.18:04
Theunichange.txt says this for 3.0 milestone2:     - Partial WebDAV support18:04
J1mThis may even have been fixed.18:04
J1mI guess it depends on what you mean by "partial". :)18:05
Theuni369 is recorded in the history to hve been fixed in 3.1.018:05
Theunieventually someone didn't change the collector issue18:06
J1mah cool. Then I'll clode it.18:06
J1mclose it18:06
*** MJ has joined #zope3-dev18:09
J1mHm, srichter says 431 was for 3.0 not trunk.18:09
J1mI'm getting Gary to try make check on trunk.18:09
J1mIf nothing bad happens, I'll close it. :)18:09
Theunihmm. svn praise for the changelog is slow18:10
*** jukart has left #zope3-dev18:10
J1m466 should be easy.18:11
J1mIs anyone working on it?18:11
* J1m about to start on 444.18:11
Theunisounds easy18:12
Theunibut i'm not sure i can handle it18:12
Theunii'm not sure i know what to do18:12
Theunido you agree to add a intid utility?18:12
Theuniso then i'm not sure what will be easy :)18:12
J1mJust change reindex to filter out objects not in the same site.18:13
Theunii'll try18:13
*** MJ has quit IRC18:13
J1mHint, use
J1mNow, the tricky thing is how to handle non-locations.18:14
J1mI'm not sure we have any.18:14
J1mmaybe a better option is to fix this with documentation for now.18:15
*** bradb has left #zope3-dev18:15
J1mMaybe mention this as a limitation.  And mention the work around.18:15
J1mThen, for some later release, we could add something else.18:16
J1mLike, mabe something like Gary's extent catalog.18:16
J1mYup, I think dodumenting the issue is best for now.18:16
J1mlower risk and quicker.18:17
TheuniOk. I'll do that, I'll keep the bug open and lower the priority18:17
J1mI would change it to an issue and lower the priority.18:17
Theunido you want that to be documented in the catalog README.txt only or should I add a short note in the UI as well?18:20
J1mYou're call. :)18:20
* Theuni goes to the box with the big red letters18:20
J1msrichter, ayt?18:22
J1mFor 446, I think we should ask Steve to verify that the bug still exists.18:23
J1mIt's very possible that it was fixed by the major refactoring we did for wsgi.18:24
Theuniright. he isn't here right now and i hope he reacts on the collector mail, but that might not happen.18:24
J1mMaybe mgedmin or Aiste can ping him. :)18:25
AisteJ1m: hi, how urgent is this thing for Steve?18:27
J1mIt would be nice to get this today, but if not, then in the next week or so.18:28
Aisteok, I'll tell him that18:28
J1mI think we should not let this hold up the beta release, but, if there is still an issue, we'll want to address it before the final release.18:28
Aistehe's pretty busy now though18:28
J1mFair enough.18:28
J1mIs anyone here a mac developer?18:28
TresEquisAiste,J1m: really comes down to how urgently Steve wants if fixed before a 3.2 beta18:29
TresEquiswe need a "target release" metadata field for the issues18:30
*** MJ has joined #zope3-dev18:31
J1mThis version of the Collector doesn't seem to allow custom fields.18:32
* Theuni pets his bugzilla18:33
J1mCurrently, we express target release through importance. Urgent means next release. Anything else means a later release. :)18:33
WebMavenhazmat: ayt?18:37
*** MrTopf has quit IRC18:40
J1mzope.server.http.tests.test_httpserver.Tests.testManyClients fails on Mac OS.18:40
J1mSee 50018:41
J1mI don't really know what the point of this test is.18:41
*** stub has quit IRC18:42
efgeJ1m: on Mac OS X when I run the test and that tests fails, there are more than 256 files open (seen using lsof)! Mac's default limit is 256 files open max18:44
*** mkerrin has left #zope3-dev18:45
*** xenru|clone has joined #zope3-dev18:45
*** _agroszer is now known as crystalBall18:47
crystalBallTheuni: #451 is not quite 100%18:47
TheunicrystalBall:  ok, can you give me more information about the exception?18:48
crystalBallthe problem is that the different widgets have different __init__ signatures18:49
crystalBallI mean widget types18:49
crystalBalljust a sec18:49
TheuniI added a new css class "bug" to highlight bug information. Does anybody object on that?18:49
TheuniIt's pretty much like a message but with different semantics and a different margin.18:50
TheuniI changed the rotterdam/zope3_tablelayout.css for that.18:50
crystalBallI started a thread "[Zope3-dev] RFC: CustomWidgetFactory and widgets having different __init__ signature"18:50
Theunii'll try to watch that18:50
TheuniAnyway, how severe is the problem?18:50
* crystalBall digging in the mailbox18:51
J1mefge, that's interesting.18:51
J1mefge, That test is ostensibly only opening 50 connections.18:51
J1mefge, if you run just that test, by itself, does it pass?18:51
efgeJ1m: trying now...18:52
efgeyes it does18:52
efgeall zope.server at once too18:52
* crystalBall found it, forwards...18:52
efgehm lemme take that back... retrying18:52
efgeJ1m: yes, ./ -s zope.server passes all 73 tests18:53
J1mso, some other tests are leaking file descriptors.18:54
J1mand causing this one to fail.18:54
J1mBut I still fail to see the point of this test.18:55
TheuniDo we have a central "known issues" place for releases?18:55
crystalBallTheuni: should have landed in your inbox18:55
Theuni(except the collector)18:55
J1mTheuni, good question.18:55
TheunicrystalBall:  ack18:55
TheuniJ1m:  i'm not implying we urgently need one, but i would add the documented bug there if it exists.18:56
J1msrichter, ayt?18:56
efgeJ1m: the leaked fds appear to be descriptors for the / root directory according to lsof18:56
J1mwhat documented bug?18:56
Theunithe one i took for documenting it18:57
J1mTheuni, I don't consider that to be a bug. :)18:57
J1mI consider that to be an issue.18:57
J1mI think the collector should be enough.18:58
J1mTrying to manage some document would be too hard imo.18:58
J1mefge, that is weird.18:58
J1mefge, would you try adding a gc.collect() to the top of that test.18:59
J1mefge, that is just a stab in the dark.18:59
J1mIf that doesn't work, I suggest we should:19:00
J1m- disable the test or19:00
J1m- try giving that test it's own layer.19:00
J1mHm, never mind that.19:01
J1mwell, that would be a hack.19:01
*** xenru has quit IRC19:01
J1mIf it is in a layer and if we arrange that the layer runs after the functional tests, it will run as a subprocess and thus probably pass. :)19:02
crystalBallTheuni: any ideas about it?19:02
TheunicrystalBall:  nope, sorry. well ... i mean ... one would have to make all signatures be the same, right?19:02
crystalBallTheuni, either that or mark them with something and build a big if structure19:03
crystalBallif the different parameters can be guessed from the context19:03
crystalBallwait a sec19:03
crystalBallhow does the adapter machinery do the same, I mean instaciating the widgets?19:04
* Theuni shrugs19:05
J1mDoes anyone know of a way to find out how many file-descriptors a Python process is using?19:06
jhauserlsof |grep python19:06
J1mjhauser, from Python19:06
jhauserah :-)19:07
Theunijhauser:  lsof -p PID would be better19:07
TresEquisos.system('lsof | grep python') ;)19:07
Theuni/proc/ could be helpful as well .. :)19:08
GaryPostercrystalBall: multiple adaptations.  It's necessary to get the different sort of lookups we need, for instance for Choice fields (of what source?), List (of what value type?) fields, and so on.19:08
crystalBallTheuni, several people say that the widget framework needs some refactoring19:08
efgeJ1m: the leaks appear to come from
TheunicrystalBall:  those people might be right. i don't know. i'm just working with duct tape right now ...19:09
crystalBallTheuni, well this is not the time for refactoring19:09
*** Theuni changes topic to "Bug day today, critical #s: 430,444,446,451,465 | Zope 3.1.0final released! | Help translating Zope 3.1 into your language! | logs available at"19:09
crystalBallI'll say make the #451 not critical19:10
GaryPostercrystalBall: definitely.  I've started a new one and need time to return to it.  I've gotten permission to spend just a bit of time on it in December, and hopefully will have it as an alternate choice ready in 2006.  Getting by is the thing to do now.19:10
*** MJ has quit IRC19:10
GaryPostercrystalBall: 'definitely': needs refactoring (or redoing IMO)19:10
crystalBallok, then Theuni, change the topic again, kill #45119:11
J1mefge, what makes you think that is the source of the problem?19:12
efgeJ1m: these are not the only tests leaking though19:12
efgeJ1m: I do lsof in one window while tests run with -vv in another19:12
efgeI see  big jumps in the number of open files sometimes19:12
J1mefge, I assume that gc.collect didn't make any difference.19:12
efgeJ1m: I'm still not there19:12
*** jinty has joined #zope3-dev19:12
J1mah, ok19:12
J1mif it doesn't help, I have another crazy thing to try.19:13
TheunicrystalBall:  ok19:13
crystalBallGaryPoster: can you assign the issue to yourself, that will be solved by the refactoring, please?19:13
efgeJ1m: actually I can't reproduce the test failure at the moment, I'll lower my max open files a bit19:14
J1mhm, interesting19:14
*** Theuni changes topic to "Bug day today, critical or urgent #s: 296,381,430,431,444,446,448,465,473,484 | Zope 3.1.0final released! | Help translating Zope 3.1 into your language! | logs available at"19:15
* crystalBall is also not needed anymore, as #451 is half-way solved19:15
*** crystalBall is now known as agroszer19:15
* mgedmin is interested in the hunt for file descriptor leaks, but is quite busy right now19:15
Theunisorry for letting the list of issues grow, but we overlooked the things marked urgent first19:15
* TresEquis would look for calls to 'open' without an immediately-following 'try:...finally:' with close19:16
TresEquisincluding tempfile stuff, particularly19:16
GaryPosteragroszer: I'm going to be offering a new package--a la zope.formlib vs. see if it gains traction.  I have integration/migration plans, but it's more of a redo than a refactor.19:16
J1mTresEquis, that's why I suggested trying gc.collect.19:16
TresEquisbut if the file reported as open by lsof is '/', then I would look for unreaped child processes19:17
agroszerGaryPoster: I see, looks like nobody used the zcml browser:widget and I can live with it currently19:18
Theunianybody object downgrading #448 to medium?19:19
J1mTresEquis, why is that?19:20
*** natea has joined #zope3-dev19:20
TheuniHmm. Can somebody tell me the order of medium,critical and urgent?19:21
TresEquisjust speculating, but I could imagine that the processes are getting 'chdir'ed to '/', and then hanging around19:21
Theunii wonder if urgent is higher than critical ...19:21
J1mTheuni, we should remove urgent19:21
TresEquisTheuni: I would class critical as *more* important that urgent19:21
J1mIn fact, I will.19:21
J1m"urgent" is something that we're not really using.19:21
TheuniGreat. I was just so confused right now19:22
J1m(It could be argued that we should. But let's not for now.)19:22
Theuniso everything urgent goes to medium?19:22
J1mI say forst to critical, and then we reevaluate.19:24
Theunishall i do that?19:24
*** BjornT has quit IRC19:26
efgeJ1m: gc.collect() doesn't change the number of open files19:28
Theuniis "reject" the correct answer for issues that actually work?19:30
WebMavenTheuni: You mean, where the reported problem doesn't actually exist?19:30
WebMavenTheuni: Or, do you mena that the reported behaviour is actually expected?19:31
TheuniWebMaven:  first19:32
Theunibugzillas equivalent for "WORKSFORME"19:33
Theunii love the process control19:33
Theuniit looks like it's still the stub we implemented 3 years ago19:33
Theuniit says "you restarted the server" without doing anything19:33
WebMavenTheuni, what are the status options?19:36
agroszerTheuni: it was working before twisted19:36
TheuniWebMaven: Comment    Accept        Resolve      Reject      Defer      Restrict      Wontfix      Assign19:36
Theuniagroszer:  hmm ... it looks like it's not completely stub ... :)19:36
*** BjornT has joined #zope3-dev19:37
WebMavenReject looks correct.19:37
Theunirestart says:  # TODO: Graceful restart does not work yet.19:37
Theunishutdown says:       # TODO: Graceful shutdown does not work yet.19:37
TheuniWebMaven:  ok19:37
agroszerit was maybe not graceful, but worked :-)19:38
agroszerbut I think twisted is clever, because if I (on win32) want close the command window, it waits until the requests get processed19:38
Theuniwhat's the difference between and
Theunithey both provide a non-working servercontrol module19:41
agroszerwe should ask srichter19:42
agroszeror who did the twisted integration?19:42
yotatwisted integration ? stephan i think19:44
*** jinty has quit IRC19:46
efgethis drops in the debugger for me: ./ -D -u -s -m test_constraints19:46
efgecan someone confirm?19:46
J1mefge, yes19:49
efgeJ1m: I'm just fixing that one now19:50
Theunifrom what i can tell i would have to trigger a twisted system event for shutdown ...19:50
Theunican anybody confirm that?19:50
J1mefge, what are you fixing?19:53
efgeJ1m: the problem of the teardown in test_constraints.py19:53
J1mIt'd off that the tearDown failure isn't reported by the normal unittest test running code.19:53
J1mIt's odd that the tearDown failure isn't reported by the normal unittest test running code.19:54
agroszerTheuni: I don't know twisted, but +119:54
Theuniagroszer:  it looks like it works by simply firing the correct events in twisted19:55
Theuniat least the shutdown19:56
agroszerwould be good to know how it handles the kill process request19:57
J1mOh weird.19:57
J1mSo the tearDown only fails when running with -D.19:58
efgeJ1m: I'm now running tests with -vv and a log between each test of the number of open files, to see what tests leak19:58
*** natea has quit IRC19:58
J1mefge, doesn the test not fail with gc.collect?19:58
J1mefge, does the test not fail with gc.collect?19:58
efgeJ1m: it keeps failing19:58
J1mok, please try the following:19:59
J1madd a time.sleep(300) to the top of that test.19:59
*** natea has joined #zope3-dev19:59
Theuniagroszer:  the shutdown looks right. the restart would need an exit code of 1 to signal zdaemon a restart ... that's a bit harder probably ...20:01
*** zbir` is now known as zbir20:01
J1mefge, what is the  problem of the teardown in
efgeJ1m: the setUp calls zope.testing.module.setUp with a name parameter, but not the tearDown20:03
J1mThere is some sort of problem in the test infrastructure.20:03
J1mBecause the tearDown should not have failed.20:04
J1mIn fact, it shouldn't be necessary to pass the name in the tearDown.20:04
J1mThe tearDown only fails if -D is used.20:04
efgeJ1m: this has problems too: ./ -D -u -s
J1mI think it is a test infrastructure bug.20:05
J1mI'll investigate.20:05
J1m(already am. :)20:05
Theunigraceful restart: I'll have to add a module global variable to store the exit code for the process in zope/app/twisted/main. Anyone against that?20:06
efgeJ1m: actually I'm testing with -D because that's the only case I found in the testrunner where I could add a line in the for loop between each test, I didn't find in non-D mode where you loop over tests20:06
efge(i'm adding a line to log open files)20:06
J1mYeah, it would be nice to add some sort of hook for that.20:06
TheuniJ1m: I assume you meant me?20:07
J1mTheuni, huh?20:07
Theuniok ... never mind ... i wasn't sure who you meant ...20:07
J1mI was talking to efge. :)20:08
Theunithat was the other option :)20:08
J1mefge, are you trying time.sleep()?20:09
efgeJ1m: no, I'm doing other measures. I can't see what time.sleep() would gain also :)20:09
J1mWhy didn't you ask for an explanation?20:10
efgeJ1m: have a look at and these are the number of open files before each test20:10
efgeJ1m: I would have, I was just busy on something else :)20:10
J1mTim has the theory that we might be being bitten by sockets in the TIME_WAIT state.20:10
efge(the traces aren't complete)20:10
efgeJ1m: but the leaks aren't sockets, but directory fds20:11
J1mThe idea for the sleep was to give time for sockets to timr out.20:11
J1mI think it is worth ruling out.20:11
efgeok will do20:12
TresEquisdirectory fds pretty much have to be the cwd of a process20:12
TresEquisno other directories are normally held open for any length of time20:12
TresEquisbut in that case the 256 fd limit shouldn't be an issue, because each one would be in a separate PID20:13
Theuniagroszer:  looks like i got it working20:13
agroszerTheuni: congrats, that was issue #48520:15
Theunii know20:17
Theunii was digging through medium stuff because the critical stuff exceeds my knowledge20:17
Theuni actually i even got the timed restart and shutdown working20:17
Theunii _love_ twisted for that20:17
* TresEquis wishes he were less worried about the "stepchild" status of the HTTP server within the twisted project20:18
* Theuni hands over some beer to TresEquis 20:18
Theunibetter now?20:18
TresEquisBeer is not a palliative :p20:19
Theunican somebody tell me if the pattern that connects and in zope/app/applicationcontrol/ is still valid?20:22
Theuni(using something like tal:define="status view/pack" .... and in the view "if 'PACK' in self.request" ... )20:23
J1mefge, how are you invoking lsof?20:27
J1mwhat options?20:27
efgelsof -p followed by the process name20:29
J1mIf you do:20:30
J1mp4 -tFileAdd -N1000020:30
J1mdo you see leakage?20:30
efgeJ1m: I'll try20:31
efgeJ1m: meanwhile, I've tracked at least one of the leaks to zope.publisher.browser.TestRequest's invocation from in setUpContent20:32
*** andres has quit IRC20:33
efgeJ1m: no the 10000 loop doesn't leak20:33
J1mDoes it leak if you run it for the test you just mentioned?20:33
*** gumpa has joined #zope3-dev20:36
*** faassen has quit IRC20:38
*** vlado has quit IRC20:39
efgeJ1m: hard to ascertain, ./ -vv -u -s -N 2 produces test failures :(20:41
*** andres has joined #zope3-dev20:41
J1mTry: p4 -m test_browserwidget -N1000020:42
efgesimpler to check: ./ -vv -u -s -m test_passw -N 2 produces tests failures20:42
efgeJ1m: test_browserwidget looped doesn't leak20:42
efgeI'm not sure I'm mesuring real leaks, the behaviour I observe is not totally consistent... even though I gc.collect() before each mesure20:49
J1mhow many fds do you have open at entry to testManyClients?20:49
efgeJ1m: when I run the whole suite? around 20020:50
J1myes, ok20:50
J1mI wanna see if I can reproduce that symptom20:50
efgelooping defintely shows leaks increasing20:51
*** d2m has quit IRC20:51
efgeeven though after one loop some doctests are failing20:53
efgebut I seem to have a ceiling at 184 fds20:56
Theuni*phew. we have the real shutdown and restart buttons back. and we have the countdown now.20:58
*** gumpa_ has joined #zope3-dev21:01
*** natea is now known as natea|away21:02
J1mefge, I think I see what's happening21:02
J1msort of.21:02
J1mTres was right.21:02
J1mBut I'm a bit puzzled.21:02
J1mIn zope.publisher.http, a TemporaryFile is created.21:03
J1mFiles created for taht are being left open.21:03
J1mfor that21:03
J1mI'm investigating to see why.21:03
J1mI'm seeing a similar ceiling21:03
efgeJ1m:  is that the TemporaryFile due to FileStorage ?21:04
efgeI saw it but thought it would be destroyed21:04
J1mIt's for a cacheStream21:04
efgesorry I meant FieldStorage21:04
J1mWhatever that is.21:05
J1mNo, it's opened by http.21:05
*** TresEquis has quit IRC21:10
*** MJ has joined #zope3-dev21:17
*** natea|away has quit IRC21:27
*** natea has joined #zope3-dev21:31
*** natea has quit IRC21:33
*** MJ has quit IRC21:34
*** MJ has joined #zope3-dev21:37
*** tlotze has quit IRC21:41
*** d2m has joined #zope3-dev22:07
*** natea has joined #zope3-dev22:15
*** agroszer has quit IRC22:25
*** Aiste has quit IRC22:30
*** efge has quit IRC22:30
*** efrerich_ has joined #zope3-dev22:35
*** _anguenot has quit IRC22:37
*** SteveA has joined #zope3-dev22:47
SteveAJ1m: hi.  i just heard it was a bug day today.  if i get to hear about it a bit earlier, i can get some launchpad hackers to help out.22:48
J1mI didn't organize it. :)22:48
SteveAi have a note about the http headers issue.22:49
* Theuni listens22:50
SteveAi mean, i have a note that i should get the Zope 3 HEAD and see if it is still a serious issue22:51
SteveAthe way things were when i filed the bug, if you had a Big5 encoded page, for example, the headers would have been mangled22:52
Theunihmm ...22:52
*** efrerich has quit IRC22:52
*** Aiste has joined #zope3-dev22:53
Theunii think i just understood what you meant with the report22:56
*** mgedmin has quit IRC22:58
Theunihmm. i'm pretty sure i'm unable to create a big5 encoded file as my editing environment destroys everything ...23:12
TheuniJ1m:  i was looking at issue 185 and can reproduce that in a unit test23:15
Theunithe question is: should zope.index.keyword care about removing proxies or not?23:15
J1mno, it should not.23:16
TheuniSo do you have an idea how to handle that?23:17
J1mFist, the intent is to catch people passing strings.23:18
*** ignas has quit IRC23:18
J1mso, it should do:23:18
J1mif isinstance(seq, basestring):23:19
J1m   raise ....23:19
J1mThat's really all that's needed.23:19
J1mIt doesn't really require a tuple or list.23:19
Theuniso it will break with a different exception anyway if i pass in an instance of foo, right?23:20
J1munless foo is an irritable of strings.23:21
Theunii'm not sure what irritable means in this context23:21
J1mIt means you can irritate it.23:21
* Theuni scratches his head23:22
J1mYou know, getting the values one at a time. ;)23:22
* Theuni looks a bit dumb23:22
* J1m enjoys pulling Theuni's leg with a play on words.23:22
* Theuni plays with his tongue23:22
J1mThe boring way to say it is iterable.23:22
Theunigot me23:23
Theunii really didn't get taht23:23
J1mIt wasn't really fair.23:23
Theunii was staring at my dictionary23:23
Theuniand it only gave me irritable bowel syndrome23:23
Theunino problem23:23
Theunithis day is way too good to get annoyed of anything23:24
* J1m tries not to pictures a for loop over a bowel.23:24
Theuniso i'll leave the unit test for proxied objects in there and change the condition to avoid string instances23:24
Theuniand add a test for strings of course23:25
J1mwe don't really want the test to depend on zope.proxy.23:25
Theuni(coding style: are oneline-blocks really allowed? like "if not x: pass" ?)23:25
J1mYou just want to make sure it doesn't accept a string but does accept an iterable of strings.23:25
*** JoaoJoao has joined #zope3-dev23:26
* Theuni cleans them up23:26
J1mYou can fix that too. :)23:26
Theunii got my editor to mark those bold and with red background23:26
Theunithey are a pain in my eyes now23:26
J1mI found out why we are "leaking" temporary files.23:26
Theunii saw that discussion23:26
J1mYeah, but I ran it down.23:27
Theunii'm not sure i know whether you found the source or not23:27
Theuniso who is it?23:27
J1mI'm not sure how to fix it though.23:27
J1mnearly everyone. ;)23:27
* Theuni doesn't leak temporary files23:27
J1mIt's common practice in old-style unit tests to do things like:23:27
J1mself.request = TestRequest23:27
J1min setUp methods.23:28
J1mThese are never cleaned up in tearDown methods.23:28
J1mI bet you have done that.23:28
Theunii may have written code that does. but i never leaked a temporary file ...23:28
J1mor similarly, self.view = MyView(foo, request)23:28
* Theuni puts $5 into the box for bad word play23:29
Theuniso now we'll need a bazillion of monkeys to update the tests?23:29
J1mOnly when you have an iterable bowl.23:29
J1mOnly when you have an iterable bowel.23:29
J1mI don't know.23:29
Theunii think all the food i put in me iterates over my bowel23:30
Theuniactually i hope it iterates *through* my bowel23:30
Theunii mean, if it is a consistent style then we might get away with a lazy thing that catches 99% of those, right?23:31
J1mThe test runner could save the test's __dict__ before running it and restore it afterwords.23:31
J1msort of a savepoint and restore.23:31
Theunithought about that too23:32
J1mSeems a tad invasive though.23:32
Theuninot sure about any complications23:32
J1mIt really is a lot like a rollback.23:32
J1mA test could bother to defeat it.23:32
Theunithe other way would be to filter __dict__ for  a couple of well known keywords. but that isn't invasive enough i'm afraid.23:33
Theuniwhy should it try to defeat it?23:33
J1mBut I don't think we have to worry about that.23:33
J1mIt shouldn't.23:33
Theuniso i'd go for rollback23:33
J1mThat's why I don't think we have to worry about it.23:33
Theunithat index code looks already like zope 2 code ... *bah23:33
J1mYeah, me too.23:33
J1mI think it was a port of z2 code.23:34
Theuninow that's funny23:34
Theuniit throws a string into a list already23:34
Theuniso actually i only have to remove the test for non-tuple/lists23:35
J1mNo, I think you need to test that a string isn't passed.23:35
Theunithat would change current behaviour23:35
Theunido we want that?23:35
J1mThe intent of that was to avoid that common mistake.23:35
J1mIt would make it more permissive.23:36
Theunii'm fine with that ... i just don't want to be blamed ...23:36
J1mBut I think that's OK.23:36
Theunido you want that rule to apply to the search method as well?23:40
J1mthere, there is already a test for lists.23:41
J1mso I think you can just remove the list/tuple test.23:41
Theunihmm the actual question was about beeing able to search for '' instead of ['']23:42
*** ChanServ sets mode: +o hazmat23:43
*** BjornT has quit IRC23:44
TheuniJ1m:  I interpret it the way that you should not be able to search for '', but have to pass [''] explicitly. right?23:49
*** BjornT has joined #zope3-dev23:50
J1mlook at the exusting search method23:53
J1m       if isinstance(query, StringTypes): query = [query]23:54
Theuniexusting is not an english word i'm afraid23:54
Theuniyou mean existing?23:54
Theuniah right23:54
* Theuni was afraid of another word play23:54
Theunimy question only is: do you want it to stay that way or not?23:55
J1mI don't have a strong enough opinion to change it.23:55
Theunii'm sorry if i missed an answer earlier ...23:55
TheuniHmm. Darn.23:55
* Theuni changes that stuff back23:55
Theunilets see how many unit tests outside of zope.index.keyword break23:55
Theuniactually the interface already specified that the query _should_ be a list/tuple of stirngs23:56
Theuniit doesn't mention what else is accepted23:56
Theuniso formally it would be good to make the interface more clear. on the other hand we likely don't want to annoy people by breaking code.23:57
Theuniwhat about deprecating it?23:57
J1mI suggest that the interface should say that either a string or an iterable of values is accepted.23:58
*** sashav_ has joined #zope3-dev23:59
*** sashav has quit IRC23:59
*** sashav_ is now known as sashav23:59

Generated by 2.15.1 by Marius Gedminas - find it at!