示例#1
0
    def identify(self):
        """Construct common identification for the OAI service"""

        identify = common.Identify(repositoryName=config.OAIPMH_REPOS_NAME,
                                   baseURL=config.OAIPMH_BASE_URL,
                                   protocolVersion="2.0",
                                   adminEmails=[config.OAIPMH_ADMIN_EMAIL],
                                   earliestDatestamp=datetime(2011, 1, 1),
                                   deletedRecord='no',
                                   granularity='YYYY-MM-DDThh:mm:ssZ',
                                   compression=['gzip', 'deflate'],
                                   toolkit_description=False)

        # Specify a custom description
        frdr_desc = """
        <oai-identifier xmlns="http://www.openarchives.org/OAI/2.0/oai-identifier" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai-identifier http://www.openarchives.org/OAI/2.0/oai-identifier.xsd">
            <scheme>oai</scheme>
            <repositoryIdentifier>""" + config.OAIPMH_IDENTIFIER + """</repositoryIdentifier>
            <delimiter>:</delimiter>
            <sampleIdentifier>oai""" + config.OAIPMH_IDENTIFIER + """:1</sampleIdentifier>
        </oai-identifier>
        """

        identify.add_description(xml_string=frdr_desc)

        return identify
示例#2
0
 def identify(self):
     return common.Identify(repositoryName='Fake',
                            baseURL='http://www.infrae.com/oai/',
                            protocolVersion="2.0",
                            adminEmails=['*****@*****.**'],
                            earliestDatestamp=datetime(2004, 1, 1),
                            deletedRecord='transient',
                            granularity='YYYY-MM-DDThh:mm:ssZ',
                            compression=['identity'])
示例#3
0
def server_identity(settings, earliest_datestamp):
    return common.Identify(
        repositoryName=settings["oaipmh.repo.name"],
        baseURL=settings["oaipmh.repo.baseurl"],
        protocolVersion=settings["oaipmh.repo.protocolversion"],
        adminEmails=settings["oaipmh.repo.adminemails"],
        earliestDatestamp=earliest_datestamp,
        deletedRecord=settings["oaipmh.repo.deletedrecord"],
        granularity=settings["oaipmh.repo.granularity"],
        compression=settings["oaipmh.repo.compression"],
        toolkit_description=False,
    )
示例#4
0
 def identify(self, **kw):
     ident = common.Identify(
         'Wolne Lektury',  # generate
         '%s/oaipmh' % unicode(WL_BASE),  # generate
         '2.0',  # version
         [m[1] for m in settings.MANAGERS],  # adminEmails
         make_time_naive(self.earliest_datestamp),  # earliest datestamp of any change
         'persistent',  # deletedRecord
         'YYYY-MM-DDThh:mm:ssZ',  # granularity
         ['identity'],  # compression
         []  # descriptions
         )
     return ident
示例#5
0
 def identify(self):
     '''Return identification information for this server.
     '''
     return common.Identify(
         repositoryName=config.get('ckan.site_title', 'repository'),
         baseURL=config.get('ckan.site_url', None) +
         url_for(controller='ckanext.oaipmh.controller:OAIPMHController',
                 action='index'),
         protocolVersion="2.0",
         adminEmails=['*****@*****.**'],
         earliestDatestamp=utils.get_earliest_datestamp(),
         deletedRecord='no',
         granularity='YYYY-MM-DDThh:mm:ssZ',
         compression=['identity'])
示例#6
0
 def identify(self):
     """
     OAI-PMH verb, identify.
     See http://www.openarchives.org/OAI/openarchivesprotocol.html#Identify
     """
     return common.Identify(
         repositoryName=COLLECTION_DISPLAY_NAME,
         baseURL=DJANGO_URL + reverse("oaipmh_view"),
         protocolVersion="2.0",
         adminEmails=[email for name, email in ADMINS],
         earliestDatestamp=datetime(2004, 1, 1),
         deletedRecord='transient',
         granularity='YYYY-MM-DDThh:mm:ssZ',
         compression=['identity'],
     )
示例#7
0
    def Identify_impl(self, args, tree):
        namespaces = self.getNamespaces()
        evaluator = etree.XPathEvaluator(tree, namespaces=namespaces)
        identify_node = evaluator.evaluate('/oai:OAI-PMH/oai:Identify')[0]
        identify_evaluator = etree.XPathEvaluator(identify_node,
                                                  namespaces=namespaces)
        e = identify_evaluator.evaluate

        repositoryName = e('string(oai:repositoryName/text())')
        baseURL = e('string(oai:baseURL/text())')
        protocolVersion = e('string(oai:protocolVersion/text())')
        adminEmails = e('oai:adminEmail/text()')
        earliestDatestamp = datestamp_to_datetime(
            e('string(oai:earliestDatestamp/text())'))
        deletedRecord = e('string(oai:deletedRecord/text())')
        granularity = e('string(oai:granularity/text())')
        compression = e('oai:compression/text()')
        # XXX description
        identify = common.Identify(repositoryName, baseURL, protocolVersion,
                                   adminEmails, earliestDatestamp,
                                   deletedRecord, granularity, compression)
        return identify
示例#8
0
 def identify(self):
     return common.Identify('Foo',
                            'http://test.info', '2.0', ['*****@*****.**'],
                            datetime(2005, 1,
                                     1), 'no', self._granularity, None)