Esempio n. 1
0
 def __init__(self, attributeXpaths=None, namespaceMap=None, sendAsList=False, namespaces=None):
     Observable.__init__(self)
     self._attributeXpaths = attributeXpaths or []
     self._sendAsList = sendAsList
     if namespaceMap:
         warn("Please use 'namespaces=...'", DeprecationWarning)
         namespaces=namespaceMap
     self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath
Esempio n. 2
0
 def __init__(self, should=None, could=None, namespaces=None, namespaceMap=None):
     Observable.__init__(self)
     if namespaceMap:
         warn("Please use 'namespaces=...'", DeprecationWarning)
         namespaces=namespaceMap
     self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath
     self._should = _init(should)
     self._could = _init(could)
Esempio n. 3
0
 def __init__(self,
              should=None,
              could=None,
              namespaces=None,
              namespaceMap=None):
     Observable.__init__(self)
     if namespaceMap:
         warn("Please use 'namespaces=...'", DeprecationWarning)
         namespaces = namespaceMap
     self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath
     self._should = _init(should)
     self._could = _init(could)
Esempio n. 4
0
 def __init__(self,
              attributeXpaths=None,
              namespaceMap=None,
              sendAsList=False,
              namespaces=None):
     Observable.__init__(self)
     self._attributeXpaths = attributeXpaths or []
     self._sendAsList = sendAsList
     if namespaceMap:
         warn("Please use 'namespaces=...'", DeprecationWarning)
         namespaces = namespaceMap
     self.xpath = _namespaces.copyUpdate(namespaces or {}).xpath
Esempio n. 5
0
    def __init__(self, fromKwarg, toKwarg=None, name=None, nsMap=None):
        UiaConverter.__init__(self, name=name, fromKwarg=fromKwarg, toKwarg=toKwarg)
        self._nsMap = namespaces.copyUpdate(nsMap or {})
        self._bln_success = False
        self._edu_extension_schemas = []

        ## Fill the schemas list for later use:
        for schemaPath, xPad, s_loc in mods_edu_extentions:
            print 'schema init:' ,schemaPath, xPad, s_loc
            try:
                self._edu_extension_schemas.append((XMLSchema(parse(join(dirname(abspath(__file__)), 'xsd/'+ schemaPath) ) ), xPad, s_loc ))
            except XMLSchemaParseError, e:
                print 'XMLSchemaParseError.', e.error_log.last_error
                raise
Esempio n. 6
0
 def __init__(self, xSDPathList=[], nsMap=None):
     Observable.__init__(self)
     
     self._namespacesMap = namespaces.copyUpdate(nsMap or {})
     self._xmlSchemas = []
     
     ## Fill the schemas list for later use:
     for strName, strXPath, schemaPath in xSDPathList:
         print 'schema init:', strName, strXPath, schemaPath
         try:
             self._xmlSchemas.append((strName, strXPath, XMLSchema(parse(join(join(dirname(abspath(__file__)), 'xsd'), schemaPath) ) ) ))
         except XMLSchemaParseError, e:
             print 'XMLSchemaParseError.............',e.error_log.last_error
             raise
Esempio n. 7
0
 def testReificationWithBlankNodeSubject(self):
     testNamespaces = namespaces.copyUpdate(dict(test="urn:test#"))
     xpathFirst = testNamespaces.xpathFirst
     rdfXml = '''<rdf:RDF %(xmlns_rdf)s %(xmlns_test)s>
         <rdf:Description>
             <test:relation rdf:ID="_987">object</test:relation>
         </rdf:Description>
         <rdf:Statement rdf:about="#_987">
             <test:reificationRelation>reification object</test:reificationRelation>
         </rdf:Statement>
     </rdf:RDF>''' % testNamespaces
     graph = RDFParser().parse(XML(rdfXml))
     result = Triples2RdfXml(namespaces=testNamespaces).asRdfXml(graph)
     self.assertEquals('reification object', xpathFirst(result, '/rdf:RDF/rdf:Statement[@rdf:about="#_987"]/test:reificationRelation/text()'))
     self.assertEquals(None, xpathFirst(result, '/rdf:RDF/rdf:Statement[@rdf:about="#_987"]/rdf:subject'))  # rdf:Statement with bnode subject should not actually refer to it...!!
     self.assertEquals('object', xpathFirst(result, '/rdf:RDF/rdf:Description/test:relation[@rdf:ID="_987"]/text()'))
     self.assertEquals(['rdf:Description', 'rdf:Statement'], [tagToCurie(node.tag) for node in xpath(result, '/rdf:RDF/*')])
Esempio n. 8
0
 def testReificationWithRdfID(self):
     testNamespaces = namespaces.copyUpdate(dict(test="urn:test#"))
     xpathFirst = testNamespaces.xpathFirst
     rdfXml = '''<rdf:RDF %(xmlns_rdf)s %(xmlns_test)s>
         <rdf:Description rdf:about="some:uri">
             <test:relation rdf:ID="_987">object</test:relation>
         </rdf:Description>
         <rdf:Statement rdf:about="#_987">
             <test:reificationRelation>reification object</test:reificationRelation>
         </rdf:Statement>
     </rdf:RDF>''' % testNamespaces
     graph = RDFParser().parse(XML(rdfXml))
     result = Triples2RdfXml(namespaces=testNamespaces).asRdfXml(graph)
     self.assertEquals('object', xpathFirst(result, '/rdf:RDF/rdf:Description[@rdf:about="some:uri"]/test:relation[@rdf:ID="_987"]/text()'))
     self.assertEquals('reification object', xpathFirst(result, '/rdf:RDF/rdf:Statement[@rdf:about="#_987"]/test:reificationRelation/text()'))
     self.assertEquals(['rdf:Description', 'rdf:Statement'], [tagToCurie(node.tag) for node in xpath(result, '/rdf:RDF/*')])
     self.assertXmlEquals(rdfXml, result)
Esempio n. 9
0
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
## end license ##

from seecr.test import IntegrationTestCase
from seecr.test.utils import getRequest, postRequest
from meresco.xml.namespaces import namespaces as _namespaces
from simplejson import loads
from time import sleep
from meresco.lucene.fieldregistry import KEY_PREFIX
from meresco.lucene import ComposedQuery
from meresco.lucene.synchronousremote import SynchronousRemote
from cqlparser import parseString
from cqlparser.cqltoexpression import cqlToExpression

namespaces = _namespaces.copyUpdate(dict(example='http://meresco.org/namespace/example'))
xpath = namespaces.xpath
xpathFirst = namespaces.xpathFirst


class LuceneTest(IntegrationTestCase):
    def testAddDelete(self):
        postRequest(self.httpPort, '/update_main', ADD_RECORD, parse=False)
        sleep(1.1)
        try:
            self.assertEquals(1, self.numberOfRecords(query='__id__ exact "testrecord:1"'))
        finally:
            postRequest(self.httpPort, '/update_main', DELETE_RECORD, parse=False)
        sleep(1.1)
        self.assertEquals(0, self.numberOfRecords(query='__id__ exact "testrecord:1"'))
Esempio n. 10
0
                'oaiSelect',
                'oaiWatermark',
                'getMultipleData',
                'oaiRecord',
                'oaiRecord',
                'getMultipleData',
                'oaiRecord',
                'oaiRecord',
                'getMultipleData',
                'oaiRecord',
                'oaiRecord',
                'getMultipleData',
                'oaiRecord',
                'oaiRecord',
                'getMultipleData',
                'oaiRecord',
                'oaiRecord'
            ], self.observer.calledMethodNames())


    def _addRecords(self, identifiers, sets=None):
        for identifier in identifiers:
            self.oaiJazz.addOaiRecord(identifier=identifier, sets=sets, metadataFormats=[('oai_dc', '', '')])

namespaces = namespaces.copyUpdate({'mock':'uri:mock'})
xpath = namespaces.xpath
xpathFirst = namespaces.xpathFirst

def _m(kwargs):
    return {'metadataPrefix': kwargs['metadataPrefix'], 'recordId': kwargs['record'].identifier}
Esempio n. 11
0
from lxml.etree import ElementTree

from meresco.core import Observable
from warnings import warn
from meresco.xml.namespaces import namespaces as _namespaces


#HM: To support both lxml1.2 as 2.1
try:
    from lxml.etree import _ElementStringResult, _ElementUnicodeResult
except ImportError:
    _ElementStringResult = str
    _ElementUnicodeResult = unicode

oftenUsedNamespaces = _namespaces.copyUpdate(dict(
    lom="http://ltsc.ieee.org/xsd/LOM",
))

class XmlXPath(Observable):
    def __init__(self, xpathList, fromKwarg, toKwarg=None, namespaces=None, namespaceMap=None):
        Observable.__init__(self)
        self._xpaths = xpathList
        self._fromKwarg = fromKwarg
        self._toKwarg = toKwarg if toKwarg else self._fromKwarg
        if namespaceMap:
            warn("Please use 'namespaces=...'", DeprecationWarning)
            namespaces = namespaceMap
        self.xpath = oftenUsedNamespaces.copyUpdate(namespaces or {}).xpath

    def do_unknown(self, msg, *args, **kwargs):
        for newArgs, newKwargs in self._convertArgs(*args, **kwargs):
Esempio n. 12
0
 def __init__(self, fromKwarg, toKwarg=None, name=None, nsMap=None):
     UiaConverter.__init__(self,
                           name=name,
                           fromKwarg=fromKwarg,
                           toKwarg=toKwarg)
     self._nsMap = namespaces.copyUpdate(nsMap or {})
Esempio n. 13
0
from copy import copy
from StringIO import StringIO
from lxml.etree import ElementTree

from meresco.core import Observable
from warnings import warn
from meresco.xml.namespaces import namespaces as _namespaces

#HM: To support both lxml1.2 as 2.1
try:
    from lxml.etree import _ElementStringResult, _ElementUnicodeResult
except ImportError:
    _ElementStringResult = str
    _ElementUnicodeResult = unicode

oftenUsedNamespaces = _namespaces.copyUpdate(
    dict(lom="http://ltsc.ieee.org/xsd/LOM", ))


class XmlXPath(Observable):
    def __init__(self,
                 xpathList,
                 fromKwarg,
                 toKwarg=None,
                 namespaces=None,
                 namespaceMap=None):
        Observable.__init__(self)
        self._xpaths = xpathList
        self._fromKwarg = fromKwarg
        self._toKwarg = toKwarg if toKwarg else self._fromKwarg
        if namespaceMap:
            warn("Please use 'namespaces=...'", DeprecationWarning)