damn Damn DAMN. Sorry, meta.py was missing. Fixed the archive.
Please try again and let me know... ( I have no idea how many people have downloaded this and it wasn't even working :-( ) Jorge Vargas wrote: > On 5/25/06, *Sean Jamieson* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > Yep, working code is on pypi: http://www.python.org/pypi/xmlmodel > > > nice /me goes to poke around. > > some comments > ------------ > where does this comes from? > from meta import TrackableTrackerMeta > its failing in after easy_install > > >>> import xmlmodel > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "build\bdist.win32\egg\xmlmodel\__init__.py", line 1, in ? > File "build\bdist.win32\egg\xmlmodel\main.py", line 4, in ? > ImportError: No module named meta > > and I have never heard of that module > ------------- > I notice your using DictObj from > http://trac.turbogears.org/turbogears/ticket/779 > I think it could be replace with Bunch, as TG did yeah, I just needed something simple here, then I ended up using DictProperty instead, which was a neat trick I figured out in the middle of the night. > ------------- > one thing that let me wondering is where does _order comes from in XMLNode _order is created by the meta class, its used to determin the order of creation, so that the xml output is predictable. > ------------- > I really love your generators for the XML very nice implementation Thanks, this was also quick and simple, I'm probably going to create a 'pretty format' version :-) > ------------ > Now this will be funny even without getting it to compile I did an > elementTree layout so as Linus ones said about a kernel > If it works you should be double impress :) > > I added 2 methods to XMLModel which mimic what your toXML do, but > since it's objects not a string I just made the recursive call there, > since I couldn't run it I'm not sure I got the correct value for v Hey cool, I'll merge and test it. At first glance, I can tell you that v can be either an XMLNode or XMLValue. I'll make that change when I patch. BTW, I'll have an svn up eventually, I just have to work out things with a friend; using his server. > > Jorge Vargas wrote: > > > On 5/25/06, *Sean Jamieson* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: > > > > > > I was thinking about integrating cElementTree in the future, > > > > > > I think that is the way to go, it gives everything you need and has > > been tested a lot. > > > > but to make > > a quick proof of concept, I just have my toxml() manually > assembling a > > string, using generators. > > > > > > that's ok, but soon you'll need a nice backend :) > > > > you actually got workign code? if it's possible can I take a look? > > > > currently, XMLValue and it's subclasses are optional, with a > > 'required' > > bool keyword argument to __init__, also an XMLNodeList can > have 0 > > items > > (and therefore not appear) > > > > I could add another magic attribute parsed from XMLAttrs, like > > _tagname, > > called _required ... > > > > > > I think there should be a general way (classes,fields) to tell the > > engine which fields are optional and which aren't, so the render > > function can detect a malform object, but this could turn into a > huge > > validation scheme which I'm not sure if you want. Although if > you ever > > generate some xml-based std, there should be a validation > > > > but generally if a tag has child tags, its going to be used. > > > > > > yes that's the way it should > > > > I've seen hypy before, some months ago, it's yet another > template > > language; > > It is an interesting idea though. > > > > > > I like the indentation thing which is basically what your doing > here, > > what i don't like is the placeholder which you avoid with the class > > structure. > > > > ------ > > > > Sean > > > > > > Jorge Vargas wrote: > > > > > On 4/28/06, *Sean Jamieson* < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>> wrote: > > > > > > Sorry for bringing this old topic up, but I was just > playing with > > > ElementTree yesterday and I made a link to this > > > I believe your model can be implemented on top of > ElementTree, > > to give > > > it a more friendly interface. > > > > > > class RSS2( XMLModel ): > > > class XMLAttrs: > > > _tagname = 'rss' > > > version = ' 2.0' > > > > > > class channel( XMLNode ): > > > title = XMLString() > > > description = XMLString() > > > link = XMLString() > > > lastBuildDate = XMLDate( format = "%a, %d %b > %Y %H:%M:%S > > > EST" ) > > > generator = XMLString() > > > docs = XMLString() > > > > > > class item( XMLNodeList ): > > > title = XMLString() > > > link = XMLString() > > > description = XMLString() > > > category = XMLList( type = XMLString() ) > > > pubDate = XMLDate( format = "%a, %d %b %Y > > %H:%M:%S EST" ) > > > > > > > > > Based on your example > > > all the helper classes extend the Element > > > even XMLModel is an extension to the Element. > > > > > > So all that needs to be done is a render function that > will take > > your > > > class and do some calls to SubElement > > > > > > One question, how will you manage optional elements in the > template? > > > > > > how is that? > > > > > > on the other hand I remenber looking at > > > http://manatlan.online.fr/hypy.php > > > < http://manatlan.online.fr/hypy.php> it's something > similar but > > based > > > on indentation no classes. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears -~----------~----~----~----~------~----~------~--~---

