Re: Python and Flaming Thunder
On May 28, 11:46 pm, Dave Parker <[EMAIL PROTECTED]> wrote: > On May 28, 3:19 pm, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > > > > Kind of like how this year's program won't work on next year's > > > Python? > > > For somebody who has admitted to have only very rudimentary knowledge of > > python that's a pretty bold statement, don't you think? > > Everthing I know, I learned from Wikipedia. ;) > > http://en.wikipedia.org/wiki/Python_(programming_language)#Timeline_a... > > "Like Perl 6, Python 3.0 will break backward compatibility. There is > no requirement that Python 2.x code will run unmodified on Python 3.0. > There are basic changes such as changing the print statement into a > print function (so any use of the print statement will cause the > program to fail) ..." Hi Dave, Why don't you use your own FT google group to explain why FT is so much better than other languages (python included). Then you post __once__ that you started such a conversation, and that's it. I'm sure all smart developers will have a look and they will all follow you. The other ones (the ones, including me, who are interested in reading about python) will keep on having narrow minded conversations about their favorite snake-oriented language. Poor guys that we are, we won't even realize how superior you are, how great your language is, how faster FT is, etc... We will be jobless in no time, and soon you will have 90% of the language market and make tons of money. I wish I could be smart enough to realize this. Unfortunately, I'm just s stupid. So please don't steal my brain-cpu cycles, I need them for better purposes. Thanks for helping me -- http://mail.python.org/mailman/listinfo/python-list
How to request data from a lazily-created tree structure ?
Problem: - You have tree structure (XML-like) that you don't want to create 100% in memory, because it just takes too long (for instance, you need a http request to request the information from a slow distant site). - But you want to be able to request data from it, such has "give me all nodes that are under a "//foo/bar" tree, and have a child with an "baz" attribute of value "zzz". Question : Do you have any other idea to request data from a lazily-created tree structure ? And does it make sense to create a DOM-like structure and to use a generic XPath engine to request the tree ? (and does this generic XPath engine exist ?) The idea is to have the tree structure created on the fly (we are in python), only when the XPath engine requests the data. Hopefully the XPath engine will not request all the data from the tree (if the request is smart enough and does not contain **, for instance). Thanks -- http://mail.python.org/mailman/listinfo/python-list
Re: How to request data from a lazily-created tree structure ?
On Jun 16, 11:16 pm, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > méchoui schrieb: > > > > > Problem: > > > - You have tree structure (XML-like) that you don't want to create > > 100% in memory, because it just takes too long (for instance, you need > > a http request to request the information from a slow distant site). > > - But you want to be able to request data from it, such has "give me > > all nodes that are under a "//foo/bar" tree, and have a child with an > > "baz" attribute of value "zzz". > > > Question : > > > Do you have any other idea to request data from a lazily-created tree > > structure ? > > > And does it make sense to create a DOM-like structure and to use a > > generic XPath engine to request the tree ? (and does this generic > > XPath engine exist ?) > > > The idea is to have the tree structure created on the fly (we are in > > python), only when the XPath engine requests the data. Hopefully the > > XPath engine will not request all the data from the tree (if the > > request is smart enough and does not contain **, for instance). > > Generic XPath works only with a DOM(like) structure. How else would you > e.g. evaluate an expression like foo[last()]? > > So if you really need lazy evaluation, you will need to specifically > analyze the query of interest and see if it can be coded in a way that > allows to forget as much of the tree as possible, or even better not > query it. > > Diez Yes, I need to make sure my requests are properly written so that the generic XPath engine does not need all the structure in memory. There are quite a few cases where you really don't need to load everything at all. /a/b/*/c/d is an example. But even with an example like /x/z[last()]/t, you don't need to load everything under the every /x/z nodes. You just need to check for the latest one, and make sure there is a t node under it. Anyway, if I need to make requests that need all the data... that means that the need for lazy instantiation of nodes disappears, right ? -- http://mail.python.org/mailman/listinfo/python-list
Re: How to request data from a lazily-created tree structure ?
On Jun 17, 9:08 am, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > > Yes, I need to make sure my requests are properly written so that the > > generic XPath engine does not need all the structure in memory. > > > There are quite a few cases where you really don't need to load > > everything at all. /a/b/*/c/d is an example. But even with an example > > like /x/z[last()]/t, you don't need to load everything under the > > every /x/z nodes. You just need to check for the latest one, and make > > sure there is a t node under it. > > > Anyway, if I need to make requests that need all the data... that > > means that the need for lazy instantiation of nodes disappears, > > right ? > > Yes. And unless you have memory-constraints I have to admit that I > really doubt that the parsing overhead isn't by far exceeded by the > network latency. > > Diez Do you know if there is such XPath engine that can be applied to a DOM- like structure ? One way would be to take an XPath engine from an existing XML engine (ElementTree, or any other), and see what APIs it calls... and see if we cannot create a DOM-like structure that has the same API. Duck typing, really... -- http://mail.python.org/mailman/listinfo/python-list
Re: How to request data from a lazily-created tree structure ?
On Jun 17, 10:54 pm, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > > Do you know if there is such XPath engine that can be applied to a DOM- > > like structure ? > > No. But I toyed with the idea to write one :) > > > One way would be to take an XPath engine from an existing XML engine > > (ElementTree, or any other), and see what APIs it calls... and see if > > we cannot create a DOM-like structure that has the same API. Duck > > typing, really... > > Why can't you create a *real* DOM? > > Diez I don't know what "real" means, in fact. In python, being a "real" sg is all about having the same interface, right? May be I did not undertand what you meant. I cannot load all the data in memory before I request it, because it would take too long. If using XPath-like tools requires that I load the data in memory, I'd better create my own algorithm instead. It will be much faster. What I mean it: if I have a XPath engine that works well on a specific DOM-like structure... may be I can create my own DOM-lile structure to fool the XPath engine; so that I can use it on my own structure. -- http://mail.python.org/mailman/listinfo/python-list
Re: How to request data from a lazily-created tree structure ?
On Jun 17, 11:54 pm, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > > Do you know if there is suchXPathengine that can be applied to a DOM- > > like structure ? > > No. But I toyed with the idea to write one :) > > > One way would be to take anXPathengine from an existing XML engine > > (ElementTree, or any other), and see what APIs it calls... and see if > > we cannot create a DOM-like structure that has the same API. Duck > > typing, really... > > Why can't you create a *real* DOM? > > Diez I may have found sg: http://sourceforge.net/projects/pdis-xpath/ A XPath 1.0, in pure python, on top of ElementTree. I'll have a look. -- http://mail.python.org/mailman/listinfo/python-list
Re: How to request data from a lazily-created tree structure ?
On 17 juin, 13:53, méchoui <[EMAIL PROTECTED]> wrote: > On Jun 17, 9:08 am, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote: > > > > > > Yes, I need to make sure my requests are properly written so that the > > > generic XPath engine does not need all the structure in memory. > > > > There are quite a few cases where you really don't need to load > > > everything at all. /a/b/*/c/d is an example. But even with an example > > > like /x/z[last()]/t, you don't need to load everything under the > > > every /x/z nodes. You just need to check for the latest one, and make > > > sure there is a t node under it. > > > > Anyway, if I need to make requests that need all the data... that > > > means that the need for lazy instantiation of nodes disappears, > > > right ? > > > Yes. And unless you have memory-constraints I have to admit that I > > really doubt that the parsing overhead isn't by far exceeded by the > > network latency. > > > Diez > > Do you know if there is such XPath engine that can be applied to a DOM- > like structure ? > > One way would be to take an XPath engine from an existing XML engine > (ElementTree, or any other), and see what APIs it calls... and see if > we cannot create a DOM-like structure that has the same API. Duck > typing, really... I have something that works. http://lauploix.blogspot.com/2008/07/xpath-for-my-trees.html It has the pro and cons of the ElementTree 1.3 XPath engine, but it works quite nice. Laurent Ploix -- http://mail.python.org/mailman/listinfo/python-list
Re: Is there an official way to add methods to an instance?
On Apr 4, 5:25 pm, John Nagle <[EMAIL PROTECTED]> wrote: > Bruno Desthuilliers wrote: > > Paul Rubin a écrit : > >> Brian Vanderburg II <[EMAIL PROTECTED]> writes: > >>> I've checked out some ways to get this to work. I want to be able to > >>> add a new function to an instance of an object. > > >> Ugh. Avoid that if you can. > > > Why so ? OO is about objects, not classes, and adding methods on a > > per-object basis is perfectly legitimate. > > It's what professional programmers call a "l33t feature", > one not suitable for production code. Typically such features > are used by programmers with about two years experience, > trying too hard to prove that they're cool. > > John Nagle Yes, and the reason is quite obvious: if you read the code of the class, you can't see the function. That makes it much more difficult to understand and to debug. -- http://mail.python.org/mailman/listinfo/python-list