def oai_identify(argd): """Generates a response to oai_identify verb. script_url - *str* URL of the script used to access the service. This is made necessary since the gateway can be accessed either via /oai2d or /oai2d/ (or for backward compatibility: oai2d.py or oai2d.py/), and that the base URL must be returned in the Identify response """ out = X.repositoryName()(CFG_SITE_NAME) out += X.baseURL()(CFG_SITE_URL + "/oai2d") out += X.protocolVersion()("2.0") out += X.adminEmail()(CFG_SITE_SUPPORT_EMAIL) out += X.earliestDatestamp()(get_earliest_datestamp()) out += X.deletedRecord()(CFG_OAI_DELETED_POLICY) out += X.granularity()("YYYY-MM-DDThh:mm:ssZ") if CFG_WEBSTYLE_HTTP_USE_COMPRESSION: out += X.compression()("deflate") out += X.description( """<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">""" + X.scheme()("oai") + X.repositoryIdentifier()(CFG_OAI_ID_PREFIX) + X.delimiter()(":") + X.sampleIdentifier()(CFG_OAI_SAMPLE_IDENTIFIER) + """</oai-identifier>""" ) out += CFG_OAI_IDENTIFY_DESCRIPTION % {"CFG_SITE_URL": EscapedXMLString(CFG_SITE_URL)} if CFG_OAI_FRIENDS: friends = """<friends xmlns="http://www.openarchives.org/OAI/2.0/friends/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/friends/ http://www.openarchives.org/OAI/2.0/friends.xsd">""" for baseurl in CFG_OAI_FRIENDS: friends += X.baseURL()(baseurl) friends += """</friends>""" out += X.description(friends) out = oai_header(argd, "Identify") + out + oai_footer("Identify") return out
def oai_identify(argd): """Generates a response to oai_identify verb. script_url - *str* URL of the script used to access the service. This is made necessary since the gateway can be accessed either via /oai2d or /oai2d/ (or for backward compatibility: oai2d.py or oai2d.py/), and that the base URL must be returned in the Identify response """ out = X.repositoryName()(CFG_SITE_NAME) out += X.baseURL()(CFG_SITE_URL + '/oai2d') out += X.protocolVersion()("2.0") out += X.adminEmail()(CFG_SITE_SUPPORT_EMAIL) out += X.earliestDatestamp()(get_earliest_datestamp()) out += X.deletedRecord()(CFG_OAI_DELETED_POLICY) out += X.granularity()("YYYY-MM-DDThh:mm:ssZ") if CFG_WEBSTYLE_HTTP_USE_COMPRESSION: out += X.compression()('deflate') out += X.description( """<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">""" + X.scheme()("oai") + X.repositoryIdentifier()(CFG_OAI_ID_PREFIX) + X.delimiter()(":") + X.sampleIdentifier()(CFG_OAI_SAMPLE_IDENTIFIER) + """</oai-identifier>""") out += CFG_OAI_IDENTIFY_DESCRIPTION % { 'CFG_SITE_URL': EscapedXMLString(CFG_SITE_URL) } if CFG_OAI_FRIENDS: friends = """<friends xmlns="http://www.openarchives.org/OAI/2.0/friends/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/friends/ http://www.openarchives.org/OAI/2.0/friends.xsd">""" for baseurl in CFG_OAI_FRIENDS: friends += X.baseURL()(baseurl) friends += """</friends>""" out += X.description(friends) out = oai_header(argd, "Identify") + out + oai_footer("Identify") return out