reassign 468601 python-4suite-xml
thanks

Hi,

ok, so for the record, this is the runtime error I get when appying
Matthias' patch (i.e. a quick port to python-4suite-xml, see
http://people.ubuntu.com/~doko/tmp/gcal.debdiff if still around):

Traceback (most recent call last):
  File "/usr/lib/opensync/google-cal-helper", line 452, in ?
    sys.exit(main(sys.argv))
  File "/usr/lib/opensync/google-cal-helper", line 444, in main
    return fn(argv)
  File "/usr/lib/opensync/google-cal-helper", line 332, in oper_get_all
    e = GCalEntry(atom=xe)
  File "/usr/lib/opensync/google-cal-helper", line 187, in __init__
    self.parseAtom(atom)
  File "/usr/lib/opensync/google-cal-helper", line 196, in parseAtom
    self.editUri = self.elementValue('atom:[EMAIL PROTECTED]"edit"]/@href')
  File "/usr/lib/opensync/google-cal-helper", line 293, in elementValue
    nodes = self.query(name)
  File "/usr/lib/opensync/google-cal-helper", line 304, in query
    return XPath.Evaluate(expr, context=ctx)
  File "/usr/lib/python2.4/site-packages/Ft/Xml/XPath/Util.py", line 188, in 
Evaluate
    retval = XPathParser.new().parse(expr).evaluate(con)
  File 
"/usr/lib/python2.4/site-packages/Ft/Xml/XPath/ParsedRelativeLocationPath.py", 
line 18, in evaluate
    nodeset = self._left.select(context)
  File "/usr/lib/python2.4/site-packages/Ft/Xml/XPath/ParsedStep.py", line 30, 
in evaluate
    node_set = self._predicates.filter(node_set, context, reverse)
  File "/usr/lib/python2.4/site-packages/Ft/Xml/XPath/ParsedPredicateList.py", 
line 43, in filter
    res = pred.evaluate(context)
  File "/usr/lib/python2.4/site-packages/Ft/Xml/XPath/ParsedExpr.py", line 721, 
in evaluate
    left = self._left.evaluate(context)
  File "/usr/lib/python2.4/site-packages/Ft/Xml/XPath/ParsedStep.py", line 28, 
in evaluate
    (node_set, reverse) = self._axis.select(context, self._nodeTest.match)
  File "/usr/lib/python2.4/site-packages/Ft/Xml/XPath/ParsedAxisSpecifier.py", 
line 94, in select
    result = [ attr for attr in context.node.xpathAttributes
AttributeError: Element instance has no attribute 'xpathAttributes'

If I print out what is being parsed/frobbed, I get this with python-xml:

atom:title/text()
atom:id/text()
atom:[EMAIL PROTECTED]"edit"]/@href
atom:[EMAIL PROTECTED]"text"]/text()
gd:recurrence/text()
gd:when/@startTime
gd:when/@endTime
gd:eventStatus/@value
gd:where/@valueString
xs to osync: 2008-03-17T08:30:00.000+01:00 => 20080317T083000
xs to osync: 2008-03-17T09:30:00.000+01:00 => 20080317T093000
atom:title/text()
atom:id/text()
atom:[EMAIL PROTECTED]"edit"]/@href
atom:[EMAIL PROTECTED]"text"]/text()
gd:recurrence/text()
gd:when/@startTime
gd:when/@endTime
gd:eventStatus/@value
gd:where/@valueString

When I do the same with python-4suite-xml, I get:

Member 2 of type file-sync just sent all changes
atom:title/text()
atom:id/text()
atom:[EMAIL PROTECTED]"edit"]/@href

and then the traceback.  Could it be that python-4suite-xml chokes on
the parenthesis?  Indeed, if I replace the 4suite code of class
ParsedAttributeAxisSpecifier's select method with what was in
python-xml, it works fine, thus reassigning to python-4suite-xml.  If
the above input is out of spec or bogus or wrong (I wouldn't know),
please assign back.

This is the code I changed (file Ft/Xml/XPath/ParsedAxisSpecifier.py):

class ParsedAttributeAxisSpecifier(AxisSpecifier):

    principalType = Node.ATTRIBUTE_NODE

#    def select(self, context, nodeTest):
#        """Select all of the attributes from the context node"""
#        result = [ attr for attr in context.node.xpathAttributes
#                   if nodeTest(context, attr, self.principalType) ]
#        return (result, 0)
    def select(self, context, nodeTest):
        """Select all of the attributes from the context node"""
        attrs = context.node.attributes
        rt = filter(lambda attr, test=nodeTest, context=context, 
pt=self.principalType:
                    test(context, attr, pt),
                    attrs and attrs.values() or [])
        return (rt, 0)



Michael



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to