Changeset 666465b in git
- Timestamp:
- Sep 25, 2005, 5:35:57 PM (19 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- 82d1a72c907e4d9593d13fb4216f23d0e65fad42
- Parents:
- 35ad2d7b29d3ac4852f704804d704a4417c383eb
- Location:
- modules/openmathserver
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/openmathserver/context.py
r35ad2d r666465b 5 5 from objects import * 6 6 from re import compile 7 import StringIO 8 from xml.sax.saxutils import XMLGenerator 7 9 class Context(object): 8 10 #TODO: Referenzen durch scope richtig behandeln … … 74 76 #TODO: Make Attribution List attributes 75 77 #TODO: Make all objects __hash__ and __eq__ 78 out=StringIO.StringIO() 79 G=XMLGenerator(out) 80 obj.XMLSAXEncode(self,G) 81 return out.getvalue() 76 82 if (len(obj.attributes)==0): 77 83 return "".join(obj.XMLPreEncode(self)) -
modules/openmathserver/objects.py
r35ad2d r666465b 4 4 from exceptions import NotImplementedError 5 5 from copy import copy 6 from xml.sax.xmlreader import AttributesImpl as attr 6 7 import base64 7 8 #TODO: OMOBJ, OME, OMATTR … … 73 74 raise UnsupportedOperationError 74 75 def __getXMLAttributes(self): 75 try:76 if hasattr(self, "getXMLAttributes"): 76 77 return self.getXMLAttributes() 77 except AttributeError:78 try:79 return self.__XMLAttributes80 except AttributeError:78 if hasattr(self,"__XMLAttributes"): 79 return self.__XMLAttributes 80 return {} 81 #except AttributeError: 81 82 #do return None, cause if modifiying a new list, changes will not be saved 82 return []83 # return {} 83 84 def __delXMLAttributes(self): 84 85 try: … … 143 144 encodingList.extend(["</"+self.XMLtag+">"]) 144 145 return encodingList 145 146 def XMLSAXEncode(self, context, generator): 147 #works not for attp 148 generator.startElement(self.XMLtag, attr(self.XMLAttributes)) 149 for c in self.children: 150 c.XMLSAXEncode(context, generator) 151 if not self.children: 152 body=self.body 153 if body: 154 generator.characters(self.body) 155 generator.endElement(self.XMLtag) 146 156 class OMObject(OMObjectBase): 147 157 def __init__(self, children): … … 210 220 XMLtag="OMS" 211 221 def getXMLAttributes(self): 212 return [XMLAttribute("name", self.name),\ 213 XMLAttribute("cdbase", self.cd.base),\ 214 XMLAttribute("cd", self.cd.name)] 222 #return [XMLAttribute("name", self.name),\ 223 # XMLAttribute("cdbase", self.cd.base),\ 224 # XMLAttribute("cd", self.cd.name)] 225 return {"name":self.name, "cdbase":self.cd.base, "cd": self.cd.name} 215 226 def setXMLAttributes(self): 216 227 raise UnsupportedOperationError … … 257 268 XMLtag = "OMF" 258 269 def getXMLAttributes(self): 259 return [XMLAttribute("dec" ,str(self.value))]270 return {"dec":str(self.value)} 260 271 class OMString(SimpleValue): 261 272 def __init__(self,value): -
modules/openmathserver/omxmlreader.py
r35ad2d r666465b 154 154 if eval: 155 155 doc=context.evaluate(doc) 156 #import profile 157 #profile.run('output=context.XMLEncodeObject(doc)','encodeprof') 156 158 output=context.XMLEncodeObject(doc) 157 159 try:
Note: See TracChangeset
for help on using the changeset viewer.