*** sashav_ has joined #zope3-dev | 00:23 | |
*** sashav has quit IRC | 00:40 | |
*** RaFromBRC has joined #zope3-dev | 01:19 | |
*** J1m has quit IRC | 01:46 | |
*** stub has joined #zope3-dev | 01:57 | |
*** RaFromBRC has quit IRC | 02:23 | |
*** deo has quit IRC | 05:20 | |
*** tav_ is now known as tav | 05:28 | |
*** stub has quit IRC | 05:56 | |
*** stub has joined #zope3-dev | 06:03 | |
*** stub has quit IRC | 06:21 | |
*** stub has joined #zope3-dev | 06:24 | |
*** bskahan has joined #zope3-dev | 07:17 | |
*** zagy has joined #zope3-dev | 08:05 | |
zagy | moin | 08:21 |
---|---|---|
*** d2m has joined #zope3-dev | 08:26 | |
*** tvon has quit IRC | 08:28 | |
*** sashav_ has quit IRC | 08:55 | |
*** Theuni has joined #zope3-dev | 09:14 | |
*** zagy has quit IRC | 09:32 | |
*** zagy has joined #zope3-dev | 09:32 | |
*** zagy has joined #zope3-dev | 09:33 | |
*** Theuni has quit IRC | 09:37 | |
*** bskahan has quit IRC | 10:00 | |
*** Theuni has joined #zope3-dev | 10:06 | |
*** bskahan has joined #zope3-dev | 10:27 | |
*** sashav has joined #zope3-dev | 10:43 | |
VladDrac | mogge | 10:45 |
* VladDrac 's thinking of writing a weblog product (need one myself if I want to move my homepage to zope3) | 10:45 | |
VladDrac | I guess it would mainly be a simple content type with an RSS service (low prio) and a discussion service on top (like portal_discussion in cmf/plone) | 10:46 |
VladDrac | has anyone ever given these services any thought? | 10:46 |
bskahan | VladDrac: yes | 11:02 |
*** MalcolmC has joined #zope3-dev | 11:06 | |
VladDrac | bskahan shoot :) | 11:08 |
bskahan | container weblog object and view, individual entry objects, containers for drafts and attachments | 11:12 |
bskahan | rss views a cheap and easy after the regular view is done | 11:13 |
VladDrac | ok, but that sounds like something really standalone | 11:13 |
VladDrac | which is the easy way probably :) | 11:14 |
bskahan | then there's the 'nice' blog features, xmlrpc, trackback, etc | 11:14 |
* VladDrac was thinking of using annotatable to add discussions to any type of object (that provides IAnnotatable) | 11:14 | |
VladDrac | bskahan: is this something you've build or just thought of? | 11:14 |
bskahan | its on my short list of todos | 11:15 |
bskahan | basically rewriting a plone based blog system for zope3 | 11:15 |
bskahan | developer.etria.com/projects/quills is the plone product | 11:17 |
bskahan | have you started working on it? | 11:30 |
VladDrac | a bit | 11:31 |
bskahan | thinking about a wordpress/mt system replacement? | 11:32 |
bskahan | eg., multiple seperate blogs | 11:32 |
bskahan | in a standalone 'blogs only' sort of thing, or part of a bigger CMS? | 11:33 |
VladDrac | wordpress mt? | 11:33 |
bskahan | wordpress, moveable type | 11:34 |
VladDrac | anyway, I'm thinking of a standalone system that should integrate with everything that zope3 offers/will offer (workflow, cataloging) | 11:34 |
VladDrac | and which should offer new, additional services (i.e. syndication, discussion service) | 11:34 |
bskahan | most of the 'weblog' pieces can be applied pretty generally to other types of content | 11:39 |
VladDrac | in plone you basically have a blog if you enable discussion on a newsitem | 11:39 |
bskahan | it would be good to be able to reuse the syndication, discussion, trackback, etc later | 11:40 |
* bskahan nods | 11:40 | |
bskahan | you don't get archive views, xmlrpc, categories, etc with new items though | 11:41 |
bskahan | http://www.asymptomatic.net/blogbreakdown.htm | 11:41 |
bskahan | comparison of different weblog systems | 11:41 |
VladDrac | I'll look at that | 11:48 |
VladDrac | though I think most functionality is highly overrated (and I won't focus on them for a 0.1 release) | 11:48 |
VladDrac | what I want (and what most people need) is just a way to publish articles and allow discussion on them | 11:48 |
VladDrac | as long as you're no GvR, people will not read your feeds anyway :) | 11:49 |
*** bskahan has quit IRC | 12:17 | |
*** Voblia_ has joined #zope3-dev | 12:31 | |
*** Voblia_ is now known as Voblia | 12:46 | |
*** mgedmin has joined #zope3-dev | 13:10 | |
*** stub has quit IRC | 13:29 | |
*** Aiste has joined #zope3-dev | 13:31 | |
*** stub has joined #zope3-dev | 13:32 | |
*** gintas has joined #zope3-dev | 13:56 | |
*** d2m has quit IRC | 14:47 | |
*** niemeyer has joined #zope3-dev | 14:48 | |
*** AJC has quit IRC | 15:09 | |
*** hpeter has joined #zope3-dev | 15:19 | |
*** dlk has joined #zope3-dev | 15:29 | |
srichter | VladDrac: Please do not write any services; they are deprecated as of 3.1 and are discouraged in 3.0 | 15:31 |
srichter | VladDrac: I am not sure that you need to hide discussions in annotations, but this is a design decision | 15:31 |
srichter | VladDrac: See the message board and/or the bugtracker for examples on discussions | 15:32 |
srichter | VladDrac: there is no need for a discussion service/utility | 15:33 |
srichter | what would this utility do? | 15:34 |
srichter | if you want to store discussions on any objects, than you do it with adapters | 15:34 |
VladDrac | damn, deprecation already :) | 15:38 |
VladDrac | anyway, I'm not familiar with the right approach/terminology yet | 15:38 |
VladDrac | what I basically want is something like CMF's portal_discussion, that's all | 15:38 |
VladDrac | i.e. enable discussion on any type of object (or at least most), and (preferably) assigning a 'discussion engine' (so you're not stuck with some lame default implementation) | 15:39 |
*** mgedmin has quit IRC | 15:42 | |
srichter | so use adapters | 15:43 |
VladDrac | ok | 15:43 |
srichter | if you automatically want to add discussions on objects, then look at the content workflow manager utility | 15:44 |
VladDrac | zope.app.workflow? | 15:45 |
srichter | it allows you to make mappings of which workflow is automatically added to which content type | 15:45 |
srichter | yes | 15:45 |
VladDrac | ok, cool | 15:45 |
srichter | probably, zope.app.workflow.stateful | 15:45 |
*** stub has left #zope3-dev | 15:57 | |
gintas | I have a small problem with IntWidget: it won't show a zero | 16:04 |
gintas | perhaps it shouldn't, I don't know | 16:04 |
gintas | in particular, this looks suspicious: renderElement(..., value=self._getFormValue() or '', ...) | 16:05 |
gintas | that's from TextWidget.__call__ | 16:05 |
srichter | no, it should definitely show 0 | 16:06 |
gintas | ok, then perhaps it's a bug | 16:06 |
srichter | maybe 0 is interpreted as the NULL value and thus not returned from _getFormValue() | 16:06 |
srichter | I think so | 16:06 |
gintas | _getFormValue does return a zero | 16:07 |
gintas | but the 'or' of course treats it as False | 16:07 |
srichter | oh, I would just remove that then | 16:08 |
gintas | maybe this should be: value=self._getFormValue(); if value==self._missing: value = '' | 16:09 |
gintas | should I fix this on the trunk? | 16:09 |
srichter | yeah | 16:09 |
srichter | and on the 3.0 branch as well | 16:09 |
gintas | ok | 16:09 |
SteveA | i really dislike seeing code that says value=foo or bar | 16:12 |
SteveA | zope3 can do without more mysterious code | 16:12 |
srichter | Jim loves this syntax | 16:12 |
srichter | he uses it all over the place | 16:13 |
SteveA | it is not a good thing | 16:13 |
SteveA | it makes the code less accessible to people who are python experts | 16:13 |
SteveA | the nature of false-ness in python is a bit obscure | 16:13 |
SteveA | code should be written so that it is explicit about what it expects to exchange for "bar" or " '' " | 16:14 |
*** J1m has joined #zope3-dev | 16:23 | |
*** SteveA has quit IRC | 16:30 | |
*** vlado has joined #zope3-dev | 16:34 | |
*** SteveA has joined #zope3-dev | 16:34 | |
*** dlk has quit IRC | 16:37 | |
gintas | argh, I broke the tests by accident! sorry, will fix them in a jiffy | 16:38 |
VladDrac | hmmm naming your product 'xyz' and then creating xyz/xyz.py and xyz/browser/xyz.py doesn't really work :) | 16:51 |
J1m | right. It's due to a Python import flaw. | 16:51 |
J1m | That's why the buddydemo package isn't named buddy. | 16:52 |
J1m | This should be a faq | 16:52 |
VladDrac | yeah, and an addendum to the entry should be "don't forget to remove the .pyc as well" :) | 16:52 |
VladDrac | also, this is somewhat confusing in srichters messageboard example | 16:52 |
VladDrac | it works because the packagename is book.messageboard | 16:53 |
J1m | That's an advantage of subpackages. :) | 16:53 |
VladDrac | ok, so now we always make our zope3 packages subpackages? :) | 16:53 |
J1m | exactly. :) | 16:53 |
* VladDrac renames his product to zyx.xyz | 16:54 | |
VladDrac | :) | 16:54 |
srichter | it is the reason I created the sub-package :-) | 16:56 |
*** d2m has joined #zope3-dev | 17:05 | |
*** sashav has quit IRC | 17:10 | |
*** mooded has joined #zope3-dev | 17:16 | |
*** mkerrin has joined #zope3-dev | 17:16 | |
Damascene | ah | 17:17 |
Damascene | curiously enough, what skins should be working? i svned recently and... my old site with a skin layer of 'fc' broke. i.e. it can't find it "componentlookuperror". it was from one revision of the SVN checkout vs one last week. | 17:18 |
Damascene | but... if i use say ++skin++wiki, it doesn't display a component lookup error, but... it will give me a blank HTML page. (in terms of content). | 17:18 |
srichter | Damascene: Rotterdam and ZopeTop work with a current SVN Checkout | 17:26 |
*** tvon has joined #zope3-dev | 17:27 | |
SteveA | using a skin by using a magic url segment like ++skin++no-such-skin should not cause a ComponentLookupError in the browser | 17:38 |
SteveA | a 404 would be more appropriate. or, maybe, using the default skin, and logging an error | 17:39 |
SteveA | but, i don't like seeingn ++skin++ in urls at all. i prefer to configure a particular http server to use a particular skin -- so a particular skin is availalbe on a particular port | 17:39 |
SteveA | it would be interesting to have a zcml directive that set a particular skin for a particular sub-tree of URLs | 17:40 |
SteveA | so, underneath /mywiki/ use the wiki skin by default | 17:40 |
SteveA | mix all these together, and you can have a server that is used by admins on port 8080, always zope3 ZMI skin, and by applications on port 8090, never ZMI skin, for example | 17:41 |
Damascene | srichter: yeah Rotterdam and ZopeTop work for me too. Did the way skins are defined change? remember, it worked fine with my "fc" skin, and then i updated my svn, and blam, componentlookup error. | 17:48 |
*** regebro has joined #zope3-dev | 17:49 | |
regebro | Howdy! Is there a way I can set things up so that an object factory gets the current object as a parameter, so to speak? | 17:50 |
regebro | That is, I somehow want the factory to know which object container I'm creating it in. | 17:50 |
J1m | Not currently | 17:51 |
regebro | OK, I need to create the object in a view-method then. No problems. | 17:51 |
regebro | Well, a little bit of a problem. Ah well. I'll ponder this for a while. Thanks. ;) | 17:53 |
*** mooded has quit IRC | 17:53 | |
Damascene | okay. i guess i lucked out before. before i didn't need to define the include .browser.skin package, but now i do. | 17:56 |
Damascene | i mean i didn't need to do <package include=".browser.skin" /> but now i do. | 17:56 |
*** bskahan has joined #zope3-dev | 17:58 | |
*** bskahan has quit IRC | 17:58 | |
*** bskahan has joined #zope3-dev | 17:58 | |
*** weeti has joined #zope3-dev | 17:58 | |
weeti | Hmmh, this might be too newbie-question but if I like IContainer/IContained but have data in relational database. is it possible to use that data like it could be used via persisted? the format of data is just like dumps of objects' attributes. Am I misunderstanding something? I think that plain zodb can't do it when I have let's say messageboard with 200k messages? | 18:01 |
J1m | You should be able to implement IContainer using an RDBMS. | 18:03 |
SteveA | this is the approach sqlos takes | 18:03 |
srichter | weeti: I think ZODB can handle it | 18:03 |
J1m | I certainly think ZODB can handle 200k messages, however whether ZODB or RDBMS can handle large amounts of data is based more on your design. | 18:04 |
J1m | Perhaps you're more used to designing for rdbms. | 18:04 |
srichter | weeti: you might also want to look at sqlos, if you really want RDBMS-based applications | 18:04 |
weeti | have to check sqlos then. | 18:05 |
weeti | J1m, in fact my design should apply for zodb too (the data is stored like a tree). | 18:07 |
weeti | so I don't have too many toplevel 'objects'. but the trees tend to be very deep | 18:07 |
J1m | Gnerally, I would expect an oodb to do better than an rdbms for trees. | 18:08 |
weeti | but using sql I'm writing pretty copmlex queries that doesn't care about 'tree'-nature but do data gathering based on the 'row'-nature of data. | 18:08 |
J1m | There are people, however, who manage to implement trees using queries (as if they we using an rdbms), which defeats the advantage. | 18:08 |
weeti | J1m, for pure trees there is (at least in postgres) couple of nice datatypes. | 18:09 |
srichter | weeti: like for RDBMSs, there are ways in ZODB to do queries | 18:09 |
VladDrac | IContained and ContainerTypesConstraint are used to define to which containertypes a type is addable, right? | 18:10 |
VladDrac | i.e. if Foo can contain Bar, Bar implements a IContained with constrained Foo? | 18:11 |
srichter | IContained has nothing to do with constraints | 18:11 |
srichter | it simply states that a component can be contained by a container | 18:11 |
srichter | you might want to look at zope.app.containers.constraints | 18:12 |
srichter | there are some nicer API calls now for specifying constraints; I think PAU uses those (for an example) | 18:12 |
weeti | srichter: thanks. I have to read more about these things, maybe I'll be smarter later :) | 18:13 |
VladDrac | srichter ok | 18:15 |
VladDrac | srichter however if my class implements IContained, I suddenly get attribute errors on object.__parent__ | 18:15 |
VladDrac | (I assume the object doesn't have a parent upon creation) | 18:15 |
srichter | when do you get this error? | 18:16 |
VladDrac | when adding this specific type (that implementes IContained) | 18:16 |
srichter | also, did you mean to say: "if my class **does not** implement IContained"? | 18:16 |
VladDrac | no, if it *does* implement, I get __parent__ errors, if it *does not* implement, everything is fine (so I'm not sure what I gain with IContained) | 18:17 |
srichter | IContained says that the object must have a __parent__ and __name__ Attribute | 18:18 |
srichter | if an object does not implement IContained a containment wrapper will be placed around it | 18:19 |
srichter | the easiest way to fix the problem is to have your content component extend Location | 18:19 |
srichter | zope.app.location.location | 18:19 |
VladDrac | hmm ok but why would I use IContained at all? (Your messageboard example uses it) | 18:25 |
srichter | so the object has a location | 18:26 |
srichter | this way you do not need a location wrapper | 18:26 |
srichter | which will not work, if you want to get the parent from within your conten component | 18:27 |
*** vlado has quit IRC | 18:34 | |
*** hpeter has left #zope3-dev | 18:39 | |
*** [nicknam] has joined #zope3-dev | 18:53 | |
*** [nicknam] is now known as apoirier | 18:54 | |
*** agenteo has joined #zope3-dev | 19:04 | |
*** paolo has joined #zope3-dev | 19:14 | |
*** alga has joined #zope3-dev | 19:16 | |
*** mgedmin has joined #zope3-dev | 19:16 | |
*** tvon has quit IRC | 19:18 | |
*** tvon has joined #zope3-dev | 19:19 | |
*** Suresh-E has left #zope3-dev | 19:28 | |
*** senra has joined #zope3-dev | 19:33 | |
*** paolo has quit IRC | 19:40 | |
*** MalcolmC has quit IRC | 19:43 | |
*** hpeter_ has joined #zope3-dev | 19:49 | |
*** __gotcha__ has joined #zope3-dev | 19:59 | |
*** __gotcha has quit IRC | 20:03 | |
*** deo has joined #zope3-dev | 20:05 | |
*** sashav has joined #zope3-dev | 20:05 | |
J1m | srichter, ayt? | 20:06 |
srichter | yes | 20:06 |
J1m | did you provide any backward compatibility code for the switch from pas to pau? | 20:06 |
srichter | no, because PAS was not released | 20:07 |
J1m | hm | 20:07 |
J1m | OK, I guess you got away with it. ;) | 20:07 |
srichter | :-) | 20:07 |
*** gintas has quit IRC | 20:14 | |
regebro | Hmm. I got this error: "can't compare offset-naive and offset-aware datetimes" | 20:15 |
regebro | Turns out Zope3 has some tz thingy going on. Where do I find the code for this, I'd like to use it consistently. | 20:15 |
srichter | Zope 3 has no tz implementation yet | 20:16 |
srichter | but we really, really need one, so that our locale support can be correct | 20:16 |
tvon | Will there be any security/bugfix releases on 3.0 before 3.1? | 20:16 |
tvon | and, 3.1 development is in trunk,, correct? | 20:16 |
* mgedmin would really love it if zope 3 came with something like pytz.sf.net | 20:17 | |
J1m | Zope 3 has a minimal time zone implementation. | 20:18 |
J1m | in zope.app.datetimeutils | 20:18 |
run|work | what about shipping z3 with sqlite? | 20:18 |
regebro | but if Zope3 has no tz implementation, how come the datetimes created by zope3 has a tz? ;) | 20:20 |
regebro | Ah, thanks J1m, I'll check it out. | 20:20 |
srichter | mgedmin: yes, it should | 20:21 |
*** hazmat has joined #zope3-dev | 20:21 | |
srichter | but we need a wrapper that knows how to use that package in the datetime parser and formatter of zope.i18n.locales | 20:22 |
srichter | mgedmin: does pytz use the Olsen data? | 20:23 |
srichter | ok, it does, nevermind | 20:23 |
J1m | Someone should ask the author to integrate it w z3. He is a contributor. | 20:24 |
srichter | J1m: you mean import it to the repository? | 20:25 |
J1m | yes, and do whatever is useful to use it in z3 | 20:26 |
regebro | Oh, yuck. The current implementation looks like the Z2 DateTime! *shudder* | 20:26 |
regebro | :) | 20:26 |
*** apoirier has quit IRC | 20:27 | |
*** bskahan has quit IRC | 20:30 | |
mgedmin | are we finished with the meeting? | 20:31 |
mgedmin | oops, wrong channel | 20:31 |
mgedmin | (at least it wasn't a password this time) | 20:32 |
regebro | Gustavo Niemeyers dateutil module has a nice date parser, btw. | 20:36 |
regebro | It can parse almost anything, taking care of the order of month and stuff, and you can tell it to assume that months comes first or days comes first, or year comes first. | 20:37 |
J1m | regebro, that is a port of the dt parsing code from z2, yes. | 20:37 |
J1m | I'm happy to see something else | 20:37 |
J1m | The tz implementation is new and interesting | 20:37 |
J1m | reminder: that only zc employees can check in 3rd-party code | 20:38 |
srichter | regebro: guessing the order of months and days is no good | 20:38 |
srichter | it is widely considered a bad thing in I18n | 20:38 |
srichter | thus all the locales in Zope 3 come with date-time formatter strings | 20:38 |
regebro | It doens't matter, you have to guess, since people will write bit dmy and mdy. | 20:39 |
regebro | So you have to be able to somehow tell it what that probably means. | 20:39 |
srichter | btw, you can use the locale data and the zope.i18n.locales parser to do such high-level functionality | 20:39 |
regebro | There are many ways to do this "guessing" but it is basically still guessing. | 20:40 |
weeti | just a though. now we're setting def __setitem__()... __setitem__.precondition = .. could there be alternative to use function decorators to do that? | 20:40 |
J1m | I had a funny experience related to this. | 20:40 |
srichter | regebro: well, with the locale data you can control the guessing | 20:41 |
J1m | weeti: there is already a much simpler syntax. | 20:41 |
weeti | J1m, huh? | 20:41 |
srichter | for example, you can say: try to match the date to the following locale formats: en_US, en_GB, fr, de_DE, ... | 20:41 |
J1m | weeti: | 20:41 |
weeti | J1m, ahh, the container(), contained()? | 20:41 |
J1m | class IMyContaier: | 20:42 |
regebro | yup. srichter: It would be nice if you can override the guessing by typing a fully qualitied date too. But that should preferabbly be configurable too. | 20:42 |
J1m | contains(IMystuff) | 20:42 |
J1m | class IMystuffContained): | 20:42 |
J1m | containers(IMyContainer) | 20:42 |
srichter | regebro: right, but note that the locales data supports all this; it has translations for month and weekday names in many languages | 20:42 |
J1m | see the tutorial | 20:43 |
srichter | regebro: the locale data even gives you three choices of coomonly used date/time formats for each locale | 20:43 |
regebro | good. Also, would the parser typically handel if you write 2004-12-30, even if the locale format says you should use d.m.y? | 20:43 |
srichter | the parser works based on patterns | 20:44 |
srichter | if the pattern is not matched, it raises an error | 20:44 |
srichter | so basically, a high-level guessing method would try a set of patterns on a given input string | 20:45 |
regebro | That's not how I would do it, but it works well enough. ;-) | 20:45 |
srichter | but it is much saner this way | 20:47 |
regebro | Oh, and btw J1m, I'm not going to check in any third party code. ;) But Gustavo Niemaiers code is here: https://moin.conectiva.com.br/DateUtil | 20:47 |
srichter | and you actually know in what locale the date was provided | 20:47 |
regebro | Hm, yeah, that could be a good point, of course. | 20:48 |
J1m | Isn't Gustavo a Zope Contributor? | 20:48 |
srichter | however, for any high-level UI you should not have this, but provide UI components asking for the bits in a date separately | 20:48 |
srichter | J1m: yes, he is | 20:49 |
regebro | He may very well, be. In that case he could probably check it in himself, if asked. | 20:49 |
J1m | It would be better if he checked in his own code. | 20:49 |
regebro | srichter: I agree. Which brings us into the topic if anybody has made any date-widgets for Zope3? | 20:50 |
srichter | regebro: there is only a very basic one, which sucks | 20:50 |
srichter | I would definitely welcome a bbetter onbe | 20:50 |
regebro | Yeah. I saw a note that somebody in Zope corp has made stuff with that javascript thingy everybody uses. But it's not publicly available yet. | 20:51 |
*** bskahan has joined #zope3-dev | 20:54 | |
srichter | well, you can probably easily do it yourself | 20:55 |
srichter | it should not be too hard | 20:55 |
srichter | or ask Gary Poster for it | 20:55 |
tvon | xmlhttprequest? | 20:55 |
regebro | nah, but then I need to learn how to do widgets, and I'm already like a month behind on this project. | 20:56 |
*** mkerrin has quit IRC | 21:02 | |
*** sashav has quit IRC | 21:11 | |
*** gintas has joined #zope3-dev | 21:12 | |
*** regebro has quit IRC | 21:14 | |
*** Voblia has quit IRC | 21:32 | |
*** srichter has quit IRC | 21:47 | |
*** bradb has quit IRC | 21:49 | |
*** tvon has quit IRC | 21:51 | |
*** tvon has joined #zope3-dev | 21:51 | |
*** hpeter__ has joined #zope3-dev | 21:55 | |
*** hazmat has quit IRC | 22:02 | |
*** hazmat has joined #zope3-dev | 22:03 | |
*** senra has quit IRC | 22:06 | |
*** bradb has joined #zope3-dev | 22:08 | |
*** zagy has quit IRC | 22:11 | |
*** bradb has quit IRC | 22:12 | |
*** hpeter_ has quit IRC | 22:13 | |
*** tvon has quit IRC | 22:20 | |
*** mgedmin has quit IRC | 22:21 | |
*** jhauser has joined #zope3-dev | 22:21 | |
*** bradb has joined #zope3-dev | 22:31 | |
*** sashav has joined #zope3-dev | 22:37 | |
*** niemeyer has quit IRC | 22:37 | |
*** bskahan has quit IRC | 22:39 | |
*** alga has quit IRC | 22:56 | |
*** bradb has quit IRC | 22:57 | |
*** bradb has joined #zope3-dev | 22:59 | |
*** hpeter has joined #zope3-dev | 23:05 | |
*** bradb has quit IRC | 23:14 | |
*** hpeter__ has quit IRC | 23:20 | |
*** bradb has joined #zope3-dev | 23:23 | |
*** gintas has quit IRC | 23:53 | |
*** hpeter has quit IRC | 23:55 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!