From 36559b2e2fa516490078a1767db708dea37bff9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCrer=20=C3=96zen?= Date: Wed, 19 Apr 2006 06:32:17 +0000 Subject: [PATCH] =?UTF-8?q?denemek=20i=C3=A7in:=20pxml=20dizininde=20patch?= =?UTF-8?q?=20 +-# Gurer Ozen + # Bahadir Kandemir + # Baris Metin + +@@ -32,8 +31,6 @@ + import formatter + import sys + from StringIO import StringIO +-#import xml.dom.minidom as mdom +-#from xml.parsers.expat import ExpatError + + import gettext + __trans = gettext.translation('pisi', fallback=True) +@@ -41,9 +38,9 @@ + + # PiSi + import pisi +-# TODO: find the appropriate xmlext implementation and import from there +-from pisi.pxml.xmlext import * ++import piksemel as iks + from pisi.pxml.xmlfile import XmlFile ++from pisi.pxml.xmlextpiks import * + import pisi.context as ctx + import pisi.util as util + import pisi.oo as oo +@@ -51,6 +48,7 @@ + class Error(pisi.Error): + pass + ++ + # requirement specs + + mandatory, optional = range(2) # poor man's enum +@@ -88,7 +86,7 @@ + else: + for node in nodes: + #lang = getNodeAttribute(node, "xml:lang") +- lang = node.getAttributeNS(XML_NS, 'lang') ++ lang = node.getAttribute('xml:lang') + c = getNodeText(node) + if not c: + errs.append(where + ': ' + _("'%s' language of tag '%s' is empty") % +@@ -101,11 +99,9 @@ + def encode(self, node, errs): + assert self.tag != '' + for key in self.iterkeys(): +- newnode = newNode(node, self.tag) +- newnode.setAttributeNS(XML_NS, 'xml:lang', key) +- newtext = newTextNode(node, self[key]) +- newnode.appendChild(newtext) +- node.appendChild(newnode) ++ tag = node.appendTag(self.tag) ++ tag.setAttribute('xml:lang', key) ++ tag.appendData(self[key]) + + #FIXME: maybe more appropriate for pisi.util + @staticmethod +@@ -478,10 +474,10 @@ + tag_type = spec[0] + assert type(tag_type) == type(type) + def readtext(node, attr): +- return getNodeAttribute(node, attr) ++ return node.getAttribute(attr) + def writetext(node, attr, text): + #print 'write attr', attr, text +- node.setAttributeNS(XML_NS, attr, text) ++ node.setAttribute(attr, text) + anonfuns = cls.gen_anon_basic(attr, spec, readtext, writetext) + return cls.gen_named_comp(attr, spec, anonfuns) + +@@ -696,9 +692,8 @@ + if node and obj: + try: + #FIXME: this doesn't look pretty +- classnode = newNode(node, tag) ++ classnode = node.appendTag(tag) + obj.encode(classnode, errs) +- node.appendChild(classnode) + except Error: + if req == mandatory: + # note: we can receive an error if obj has no content +@@ -743,15 +738,14 @@ + errs.append(where + ': ' + _('Mandatory list empty')) + ix = 1 + for node in nodes: +- dummy = newNode(node, "Dummy") +- dummy.appendChild(node) ++ dummy = iks.newDocument("Dummy") ++ dummy.appendNode(node) + l.append(decode_item(dummy, errs, where + unicode("[%s]" % ix))) + #l.append(decode_item(node, errs, where + unicode("[%s]" % ix))) + ix += 1 + return l + + def encode(node, l, errs): +- dom = node.ownerDocument + if l and len(l) > 0: + for item in l: + if list_tagpath: +Ortak alt dizinler: pxml/.svn ve zxml/.svn +Yalnızca pxml/'da: use_piksemel.patch +diff -u pxml/xmlext.py zxml/xmlext.py +--- pxml/xmlext.py 2006-04-19 09:27:56.000000000 +0300 ++++ zxml/xmlext.py 2006-04-19 09:30:11.000000000 +0300 +@@ -12,9 +12,10 @@ + # Authors: Eray Ozkural + + try: +- zimbabwe # comment out to disable piks + from xmlextpiks import * + except: ++ # to be sure piksemel is used ++ raise + try: + #if pisi.context.use_mdom: + # gibidi +@@ -26,6 +27,6 @@ + print 'xmlext: cDomlette/piksemel implementation cannot be loaded, falling back to minidom' + from xmlextmdom import * + +-from xml.dom import XHTML_NAMESPACE, XML_NAMESPACE +-XHTML_NS = unicode(XHTML_NAMESPACE) +-XML_NS = unicode(XML_NAMESPACE) ++#from xml.dom import XHTML_NAMESPACE, XML_NAMESPACE ++#XHTML_NS = unicode(XHTML_NAMESPACE) ++#XML_NS = unicode(XML_NAMESPACE) +diff -u pxml/xmlfile.py zxml/xmlfile.py +--- pxml/xmlfile.py 2006-04-19 09:27:56.000000000 +0300 ++++ zxml/xmlfile.py 2006-04-19 00:05:35.000000000 +0300 +@@ -14,8 +14,7 @@ + import pisi.context + + try: +- horagata # comment out to disable piks +- #from xmlfilepiks import * ++ from xmlfilepiks import * + except: + try: + #if pisi.context.use_mdom: