跳转到主要内容

用于生成FOLIO数据迁移预测性UUID的库

项目描述

folio_uuid

在FOLIO之外迁移数据时创建确定性的UUID(UUID v5)的Python模块。

安装

该模块已上传到pypi。只需做

pip install folio-uuid

pipenv install folio-uuid      

概述

UUID(v5)按照以下方式构建

  • 命名空间对所有“Folio UUID”相同: 8405ae4d-b315-42e1-918a-d1919900cf3f
  • 名称由以下部分构成,由冒号(:)分隔
    • OKAPI_URL 这应该是包括https在内的完整OKAPI URL。 示例: https://okapi-bugfest-juniper.folio.ebsco.com
    • OBJECT_TYPE_NAME 这应该是为ID生成的对象类型的名称。如果是复数,则在该存储库中的 file folio_namespaces.py 中有当前使用的完整列表。 示例: items
    • 遗留标识符 这应该是来自源系统的遗留标识符。如果标识符是Sierra/Millennium标识符,库将对其进行一些规范化*。 示例: i3696836

* 规范化会从标识符中移除任何点(.)、校验位和校园代码

测试/示例

Bash/Linux 示例

image

uuidgen --sha1 -n 8405ae4d-b315-42e1-918a-d1919900cf3f -N https://okapi-bugfest-juniper.folio.ebsco.com:items:i3696836

在支持apt的Linux发行版上安装uuidgen,使用

sudo apt-get install uuid-runtime

Python 示例

def test_deterministic_uuid_generation_holdings():
    deterministic_uuid = FolioUUID(
	"https://okapi-bugfest-juniper.folio.ebsco.com",
	FOLIONamespaces.holdings,
	"000000167",
    )
    assert "a0b4c8a2-01fd-50fd-8158-81bd551412a0" == str(deterministic_uuid)

参考文献

维基百科有关于UUID版本5的文章

有许多基于浏览器的工具可以创建单个UUID v5。 UUIDTools 是其中之一。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

folio_uuid-0.2.10.tar.gz (6.2 kB 查看哈希)

上传时间 源代码

构建分发

folio_uuid-0.2.10-py3-none-any.whl (6.9 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面