def identify(self, database="node"): ret = None ident = {} try: db2 = self.server[database] description = db2["node_description"] ident["repositoryName"] = description["node_description"] ident["adminEmail"] = description["node_admin_identity"] # TODO: This should map to the deleted_data_policy from the node_policy from the # network node description ident["deletedRecord"] = "transient" ident["granularity"] = h.getDatetimePrecision() opts = {"group": True, "limit": 1} view_data = self.db.view('oai-pmh/identify-timestamp', **opts) if len(view_data) > 0: ident["earliestDatestamp"] = iso8601.parse_date( list(view_data)[0].key) else: ident["earliestDatestamp"] = datetime.utcnow() ret = ident except Exception as e: log.exception("Problem determining OAI Identity") return ret
def identify(self, database="node"): ret = None ident = {} try: db2 = self.server[database] description = db2["node_description"] ident["repositoryName"] = description["node_description"] ident["adminEmail"] = description["node_admin_identity"] # TODO: This should map to the deleted_data_policy from the node_policy from the # network node description ident["deletedRecord"] = "transient" ident["granularity"] = h.getDatetimePrecision(self.service_doc) opts = { "group": True, "limit": 1, "stale": appConfig['couchdb.stale.flag'] } view_data = self.db.view('oai-pmh-identify-timestamp/docs', **opts) if len(view_data) > 0: ident["earliestDatestamp"] = iso8601.parse_date(list(view_data)[0].key) else: from datetime import datetime ident["earliestDatestamp"] = datetime.utcnow() ret = ident except Exception as e: log.exception("Problem determining OAI Identity") return ret
def identify(): data = self.get_base_response(verb, body) serviceDoc = helpers.getServiceDocument(BASIC_HARVEST_SERVICE_DOC) data['identify'] = { "node_id": sourceLRNode.nodeDescription.node_name, "repositoryName": sourceLRNode.communityDescription.community_name, "baseURL": serviceDoc['service_endpoint'], "protocolVersion": "2.0", "service_version": serviceDoc['service_version'], "earliestDatestamp": h.earliestDate(), "deletedRecord": sourceLRNode.nodeDescription. node_policy['deleted_data_policy'], "granularity": helpers.getDatetimePrecision(serviceDoc), "adminEmail": sourceLRNode.nodeDescription.node_admin_identity } return json.dumps(data)
def identify(): data = self.get_base_response(verb,body) serviceDoc = helpers.getServiceDocument(BASIC_HARVEST_SERVICE_DOC) data['identify']={ "node_id":sourceLRNode.nodeDescription.node_name, "repositoryName":sourceLRNode.communityDescription.community_name, "baseURL":serviceDoc['service_endpoint'], "protocolVersion":"2.0", "service_version":serviceDoc['service_version'], "earliestDatestamp":h.earliestDate(), "deletedRecord":sourceLRNode.nodeDescription.node_policy['deleted_data_policy'], "granularity":helpers.getDatetimePrecision(serviceDoc), "adminEmail":sourceLRNode.nodeDescription.node_admin_identity } return json.dumps(data)