当前位置: 首页>>代码示例>>Python>>正文


Python Configuration.base_opds_authentication_document方法代码示例

本文整理汇总了Python中config.Configuration.base_opds_authentication_document方法的典型用法代码示例。如果您正苦于以下问题:Python Configuration.base_opds_authentication_document方法的具体用法?Python Configuration.base_opds_authentication_document怎么用?Python Configuration.base_opds_authentication_document使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在config.Configuration的用法示例。


在下文中一共展示了Configuration.base_opds_authentication_document方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: create_authentication_document

# 需要导入模块: from config import Configuration [as 别名]
# 或者: from config.Configuration import base_opds_authentication_document [as 别名]
    def create_authentication_document(self):
        """Create the OPDS authentication document to be used when
        there's a 401 error.
        """
        base_opds_document = Configuration.base_opds_authentication_document()
        auth_type = [OPDSAuthenticationDocument.BASIC_AUTH_FLOW]

        custom_auth_types = {}
        for provider in self.oauth_providers:
            type = "http://librarysimplified.org/authtype/%s" % provider.NAME
            custom_auth_types[type] = provider
            auth_type.append(type)

        circulation_manager_url = Configuration.integration_url(
            Configuration.CIRCULATION_MANAGER_INTEGRATION, required=True)
        scheme, netloc, path, parameters, query, fragment = (
            urlparse.urlparse(circulation_manager_url))
        opds_id = str(uuid.uuid3(uuid.NAMESPACE_DNS, str(netloc)))

        links = {}
        for rel, value in (
                ("terms-of-service", Configuration.terms_of_service_url()),
                ("privacy-policy", Configuration.privacy_policy_url()),
                ("copyright", Configuration.acknowledgements_url()),
                ("about", Configuration.about_url()),
        ):
            if value:
                links[rel] = dict(href=value, type="text/html")

        doc = OPDSAuthenticationDocument.fill_in(
            base_opds_document, auth_type, unicode(_("Library")), opds_id, None, unicode(_("Barcode")),
            unicode(_("PIN")), links=links
            )

        for type, provider in custom_auth_types.items():
            provider_info = dict(
                authenticate=provider.authenticate_url(),
            )
            doc[type] = provider_info

        return json.dumps(doc)
开发者ID:dguo,项目名称:circulation,代码行数:43,代码来源:authenticator.py


注:本文中的config.Configuration.base_opds_authentication_document方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。