[00:13:04] ** Maniac has left us [00:15:16] ** rdmurray has left IRC ("User disconnected") [00:30:04] ** hazmat has left IRC (Read error: 110 (Connection timed out)) [00:31:19] ** hazmat has joined us [04:03:53] [connected at Fri May 28 04:03:53 2004] [04:03:53] <> *** Looking up your hostname... [04:03:53] <> *** Checking ident [04:03:55] <> *** Found your hostname [04:04:26] <> *** No identd (auth) response [04:04:26] <> *** Your host is saberhagen.freenode.net[saberhagen.freenode.net/6667], running version dancer-ircd-1.0.35 [04:04:27] [I have joined #peak] [04:04:27] ** saberhagen.freenode.net set the topic to peak - Python Enterprise Application Toolkit | http://peak.telecommunity.com | alpha3 is out !!! [07:17:38] ** vlado has joined us [07:32:05] ** vlado_ has joined us [07:33:34] ** vlado has left IRC (Read error: 101 (Network is unreachable)) [08:33:12] ** hazmat has left IRC (saberhagen.freenode.net irc.freenode.net) [08:33:12] ** vlado_ has left IRC (saberhagen.freenode.net irc.freenode.net) [08:33:12] ** jack-e has left IRC (saberhagen.freenode.net irc.freenode.net) [08:33:12] ** etrepum has left IRC (saberhagen.freenode.net irc.freenode.net) [08:33:12] ** vlado_ has joined us [08:33:12] ** hazmat has joined us [08:33:12] ** jack-e has joined us [08:33:12] ** etrepum has joined us [08:49:47] ** sremington has joined us [09:01:51] ** vlado_ has left IRC ("Leaving") [10:34:55] ** Maniac has joined us [10:47:00] ** Maniac has left IRC (saberhagen.freenode.net irc.freenode.net) [11:02:02] ** Maniac has joined us [11:32:06] ** rdmurray has joined us [11:38:46] ** gbay has joined us [12:25:59] ** Slayer_X has joined us [12:26:18] Hi, I will start to learn Python, tell me, PEAK is for me ? [12:31:20] Slayer_X: that depends [12:31:29] Learn python first :) [12:31:29] PEAK is not python.. [12:31:36] gbay: Im totally new with Python [12:31:52] but have experience with PHP [12:32:02] PEAK is a wonderful package for making good use of python, with almost no documentation :) [12:32:10] =) [12:32:22] I downloading the PDF doc [12:32:27] Slayer_X: what is it you want? [12:32:34] but I think u need a FAQ on the website :) [12:32:46] gbay: learn Python to hack nice scripts :) [12:33:01] well then you should learn python [12:33:11] ok [12:33:37] when you have learnt python you can come back and find ways to make use of PEAK in nicer scripts [12:33:43] =) [12:33:57] gud! [12:34:03] I hope to back soon ;) [12:34:05] thanks [12:34:15] ** Slayer_X has left us [13:19:21] so .. what's going on in peak land ??? mailing lists are quiet /me has too much other work to do ... [13:19:48] I think you just summarized the situation :) [13:19:58] hehe [13:59:37] ** hazmat has left us [16:44:35] ** Maniac has left us [16:45:52] ** gbay has left IRC ("It's not like I'm leaving or anything...") [17:06:53] ** philips has joined us [17:45:29] ** sremington has left IRC ("bye") [17:50:06] ** Maniac has joined us [18:17:23] ** rdmurray has left IRC ("User disconnected") [18:38:39] ** pje has joined us [18:38:50] Hey gang. [18:46:27] hey phillip :) [18:46:29] how is life ? [18:58:47] ** pje has left IRC (Read error: 104 (Connection reset by peer)) [18:59:39] ** pje_ has joined us [18:59:51] Well, it never ceases to be interesting. :) [19:00:21] As this last bit of network flakiness illustrates. :) [19:00:46] Lately I'm mainly helping my wife with her store and websites. [19:00:46] true [19:01:06] so peak.web should make good progress ;-) [19:01:45] Alas, no... her store site uses PHP. [19:01:50] eek [19:01:53] osCommerce, to be precise. [19:02:08] * jack-e hasn't touched php for ages now [19:02:22] Me either. I don't really know the language. [19:02:29] Worse, it uses MySQL. :) [19:03:08] But, at the time she was putting it up, I had other work going on full-time, so I couldn't afford to do anything but help with tweaks of something ready-made. [19:10:15] My next project for the site, though, will probably be a Froogle upload, and I'll probably sneak some Python in there. :) [19:10:50] froogle ?? [19:10:54] Mainly to handle ISBN numbers and de-HTMLizing product descriptions. [19:11:01] Froogle is a Google e-commerce site. [19:11:09] ok [19:11:13] See http://www.froogle.com [19:11:39] Currently it's still beta, but it's free. [19:12:29] They use a tab-delimited format file, uploaded via FTP. Between the csv module and ftplib, it should be a piece of cake. [19:13:03] to upload offers that can be searched ? [19:13:08] Yes. [19:13:35] They also spider websites and extract info, but then it isn't necessarily uptodate or even correctly parsed. [19:14:05] So you can sign up to get an account and upload your product catalog directly w/price/description/category/URL/photo/ISBN info. [19:14:45] doesn't make too much sense for a gas-station like mine ;-) [19:15:19] Heh, no. [19:15:51] "This beta release of Froogle only supports U.S. online stores with English-language websites and products priced in U.S. dollars." [19:16:11] "Froogle points users to sites where they can buy actual products from the merchants that sell them. Therefore, to be eligible to submit a feed, you must sell products via your website and ship them to the buyer. If you sell services or custom products that do not have fixed prices, use your website only to promote an offline business, or are an affiliate marketing site, your site content may be crawled by and included in Google's web search, [19:16:11] but it will not be included in Froogle. Nor will Froogle accept a data feed under these conditions." [19:18:16] so what are your plans for peak ? [19:20:11] Well, in terms of what should go in there, nothing has changed. [19:20:23] But, strangely these days I have even less time for it than before... [19:20:46] That will probably only change if I start developing software for sale, or get contract jobs that need it. [19:21:11] Well, actually, it might change once I finish some of the current projects for my wife's store. [19:21:24] Mostly these relate to expansion of the company, and aren't very software-related. [19:21:35] Once they're done, though, I'll probably have more time. [19:21:40] ql .. [19:22:26] same for me here .. i just introduced a new POS system here (after 2 weeks of warehouse-data migrating - mostly by hand) [19:22:45] Some Zope X3 stuff is prompting me to consider changes to peak.web and peak.model. [19:23:14] what parts ? [19:23:21] I'm wondering, for example, if I wouldn't be better off scrapping PEAK's adapter-driven views in favor of ZX3's view system, using ZCML for configuration. [19:23:52] OTOH, that would probably mean switching to their resource system, too, and I'm not sure if I like that. [19:23:53] e.g. taking over their view-system completely or reimplementing it ? [19:24:08] Using theirs. [19:24:20] 'cause then I wouldn't have to maintain it. :) [19:24:27] and replace CA by peak.xxx's [19:24:40] ? [19:24:43] Maybe... or provide adapters to allow interop. [19:25:19] I'm beginning to think that peak.web is way overkill in flexibility, and not good enough in usability. [19:25:23] i'm a bit scared about requiring twisted and z3 to let my little web-apps run .... [19:25:48] Not that I'm saying ZX3 is better, just that it's likely to have more volunteers writing docs and tutorials. :) [19:25:59] there is much to do, to get peak.web usable .. have you looked at my playground at peakplace.tigris.org ? [19:26:02] Why require twisted? [19:26:21] * jack-e uses twisted.http-server currently [19:26:43] as a replacement for fastcgi or localserver [19:26:49] Ah. [19:26:58] there is a simple wrapper at: [19:27:04] Well, that's not really "requiring" then, is it? :) [19:27:22] I mean, somebody could run your apps under FastCGI, CGI, or WSGIServer then. [19:27:28] right [19:28:22] Unless they have special session stuff, of course. [19:30:35] Anyway, what I'm kind of leaning towards at the moment is just providing a way to make a ZConfig file that lists, for each application class, the resource paths for its pages and methods. [19:30:40] Something like... [19:30:46] [19:30:56] [19:31:04] foo foo_method.xml [19:31:22] bar amodule.py/do_bar [19:31:24] [19:31:27] [19:31:49] And then make it possible to use .py files as resources. [19:31:49] could that also read foo.html foo_method.xml ? [19:31:55] Yeah. [19:32:16] And there should also be a way to spec out extra permissions [19:32:27] And, it should be possible to nest stuff to create static structures. [19:32:40] So like, the top-level of the ZConfig file is the app root... [19:32:58] But not really, it's just a folder-like thing, so you could still glue sites together. [19:33:13] And, within a specified class definition, you should be able to create sublocations as well. [19:33:50] my peak<->twisted.http module: http://peakplace.tigris.org/source/browse/peakplace/src/sandbox/ueck/xslweb/src/webtools/twistedweb.py?rev=HEAD&content-type=text/vnd.viewcvs-markup [19:34:04] Yeah, I've got it open in another window [19:34:37] the whole project is about exploring peak.web .. [19:35:00] What are your thoughts on what's good/bad in p.w currently? [19:35:52] the simplicity how to publish component-trees is good. [19:36:13] Have you used p.w.t much? [19:37:36] just this project .. i spent many hours in trying to get a prototype for a site, that uses xslt for html-generation, creates forms based on schemas and handle user/form-requests with a stateful (per-session/action) state-machine [19:38:02] Wow, that seems really complex. [19:38:03] the state-machine-stuff isn't yet checked in i think [19:38:42] i used ian bickings formencode package to do the html-forms [19:38:45] For example, I still wonder what on earth you want XSLT for, unless you already have lots of stuff written. :) [19:38:53] so this was a fairly easy part ;-) [19:40:08] there are web-developers out there, that speak this language ;-) [19:40:43] True. Of course, p.w.t is intended for developers who only speak (X)HTML. :) [19:41:05] hi all! [19:41:24] i like the separation of the domain-model from the gui. i expect to use similar xml-data that i feed into the xslt to drive a wx-gui for example [19:41:24] The idea was to take an existing web page and just slap some domlet/define attribs on it. [19:41:28] Hi M. [19:41:37] * Maniac hugs xslt [19:41:46] Ah well, to each their own. :) [19:41:52] my site runs off of libxslt and libxml2 [19:42:13] * jack-e is back in 5 mins [19:42:19] I expect p.w.t will look more attractive once I have a few more bells and whistles like form, table, and menu/tab/select widgets. [19:42:43] namespace index { [19:43:11] namespace index { [19:43:13] class IndexWriter : public ::java::lang::Object { [19:43:14] public: [19:43:16] IndexWriter(::org::apache::lucene::store::Directory *, ::org::apache::lucene::analysis::Analyzer *, jboolean); [19:43:17] virtual void close(); [19:43:19] virtual void addDocument(::org::apache::lucene::document::Document *); [19:43:20] virtual void optimize(); [19:43:22] virtual jint docCount(); [19:43:23] jint maxFieldLength; [19:43:25] jint mergeFactor; [19:43:26] jint minMergeDocs; [19:43:28] jint maxMergeDocs; [19:43:29] }; [19:43:31] } [19:43:32] what language is that? [19:43:55] Why should I care? :) [19:44:23] Looks like C++ or C# though. [19:44:47] Yet, it looks like it links to java libs. [19:53:39] * jack-e is back [19:53:55] i like DOMlets very much [19:54:11] jack-e, you realize that if it's UI portability you're after, you can make DOMlets for your (conceptual) widgets... [19:54:24] >i implemented a xsl:transform domlet [19:55:04] And just slot in different implementations for HTML vs. wx [19:55:08] it takes a data and style attribute and transforms the data (adapted to IXMLDocument) with the style-sheet (given as a resource) [19:55:37] have you looked at XForms spec (w3c) ? [19:55:59] Yes, I have. It's pretty freaking complicated, and relies heavily on XML-as-data-model. [19:56:40] but i think it could also fit as basis for thin-client (rich-gui) apps [19:59:26] i basically developed a similar way (sending schema and data + ui-resource to the client) in my wxPython component model [20:02:24] I've been thinking about how a DOMlet-like technology could be used to do interesting things with XML Streams (as in e.g. Jabber) [20:02:41] DOMlet-Streams ??? [20:02:47] Sorta. [20:03:10] I was mainly thinking of creating DOMlets from the data supplied by an incoming stream of XML. [20:03:29] But I guess really that's more like peak.util.SOX than DOMlets per se. [20:04:02] But you certainly could use p.w.t to template stuff that's being serialized to an XML stream as well. [20:04:07] i have created "action" domä [20:04:10] err [20:04:22] action-domlets, that implement curtain behaviour [20:04:42] e.g. form-selector domlet: selects a form-resource based on some config/request.data [20:05:26] or request-processor domlet: processes a form-request and sets some config.data for further processing [20:05:32] Makes sense. At some point I'd like to define a generic "selectable list" DOMlet. [20:05:42] That is, a list of items which may or may not be "selected". [20:06:09] This simple DOMlet could be used for navigation bars, menus, dropdowns, and tabbed displays, just by changing the define's. [20:07:19] The DOMlet itself would be pretty trivial; indeed, it could be as simple as a minor extension to the current list DOMlet, adding a 'selected-item' define. [20:07:48] The only tricky bit, really, is how to tell whether something is "selected". :) [20:07:55] one thing that's anoying in the current implementation of peak.web: the way interaction is used by resources makes it hard to "redirect" the output of resources into e.g. StringIO's (for further processing) [20:08:17] How do you mean? [20:08:52] Oh, right. I think I know what you mean. [20:08:56] if you want to render a p.w.t into a string (and not allowing it to set response.headers) is not trivial [20:09:19] xslskins/util.py [20:09:25] Actually, it *is* trivial, since DOMlets work on a 'write()' function. [20:09:49] What you mean is, p.w.t *resources* have to be unwrapped to be used in such a fashion. [20:09:52] but that's not generic enough. file-resources behave different [20:10:06] Ah, yes. [20:10:27] I'm not sure how I would do it differently, though. [20:10:47] Why not use a WSGI-level wrapper instead, then? [20:11:03] I mean, if you want a raw-data transform, you could stick a WSGI processing stage in. [20:11:15] (i.e. wrap it at the 'runCGI()' level) [20:12:30] i used it to adapt templates, file-resources to IXML-Document that is processed with xslt. going all the way through runCGI seems too expensive too me [20:13:06] Probably so. I was thinking transform-stages, not transformation objects. [20:13:50]
style="/webdemo.resources/title_slot.xsl" [20:13:50] class="testing"/> [20:13:58] Still, I don't know a reasonable way to guarantee such rewritability, unless I require all IWebPage objects to also support IDOMletElement or whatever it is. [20:14:09] xml is a bindResource('file') [20:15:07] adapt's to IXMLDocument and processes it with the style found at "/webdemo.resources/title_slot.xsl" [20:15:34] i had some trouble making this work for fs-resource if i remember correctly [20:15:53] The bit that seems tough to me is that if you don't have request and response object available to the resource, how can it do what it's supposed to? [20:16:35] This seems like a job for ZX3's "named view by request type and object type". [20:16:38] i gave a DummyResponse within a wrappedInteraction to the Template .. this process could be made simple perhaps [20:17:24] http://peakplace.tigris.org/source/browse/peakplace/src/sandbox/ueck/xslweb/src/xslskins/util.py?rev=1.2&content-type=text/vnd.viewcvs-markup [20:17:31] Yeah, it only took you a dozen lines or so, though, so it's not like it's not that *un*simple. :) [20:17:47] but loooong thoughts .... [20:17:51] 22 lines, including comments. :) [20:19:32] Maybe the real problem in all of this is that HTTP operations should be defined as a function that takes a MIME object as input, and returns one in reply, and to heck with all this request/response nonsense. :) [20:20:51] it's a showstopper for large-file-support, right ? [20:21:14] except you integrate it with events and reactor .. [20:21:47] Yeah. Something like that. [20:21:59] passing in/out-generators basically [20:23:01] Yep. [20:24:07] the question is, how to enable the framework to do all the dirty http-work (post/get,cookies,sessions,...) ? [20:24:52] you'ld need something like "interceptors" [20:25:12] Eh? [20:25:14] No. [20:25:31] yes pje it is c++ which links to java [20:25:36] Don't get me wrong, you still need an interaction class if you're going to do that sort of thing. [20:25:54] it just looks odd [20:26:26] I'm just saying that maybe IWebPage objects should return MIME objects, or at least objects that encapsulate same. [20:26:38] ahh .. ok [20:26:51] that makes sense in any case, yes [20:28:39] Then you could read its output, or ask it to be written. [20:28:49] Adapt it to something, whatever. [20:29:24] and the content-type is then set based on the mime-type info got from the stream ? [20:30:03] Well, I was thinking more that the object simply returns a MIME object that contains that data in its headers. [20:30:38] And, its actual stream content might be represented as a generator or continuation of some kind. [20:30:47] ok [20:31:07] (At least for large files, anyway) [20:32:48] * jack-e is really tired now .. and needs some sleep .. nice to talk to you again after quite a while .. [20:32:55] * pje_ waves [20:32:57] cu all [20:32:59] Same here. [20:33:10] * pje_ is going to sign off, too... need to get some food [20:33:15] jack-e is now known as jack-e|away [20:33:22] * pje_ waves [20:33:27] ** pje_ has left IRC ("Client exiting") [22:01:41] ** sremington has joined us