"At first glance, I can tell you that v can be either an XMLNode or XMLValue. I'll make that change when I patch."
Sorry, I just noticed you're handling that; it's been a long day :-) Sean Sean Jamieson wrote: >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 -~----------~----~----~----~------~----~------~--~---

