通用Python工具
项目描述
visaplan.tools
这是一个用于Python项目的实用模块集合。
特性
buildout模块,用于buildout构建的项目
函数checkPathForPackage用于检查给定包是否与版本白名单匹配。如果您希望限制该包的版本而不实际需要它,则非常有用。
coding模块
工厂函数,用于创建所需的safe_encode resp. safe_decode函数
classes模块
从Python字典派生出的几个简单但有用的类,例如Mirror和Proxy
dates模块
解析日期,支持多种格式
debug模块
trace_this装饰器
dicts模块
与标准字典一起工作的几个工具
files模块
与文件相关的函数;目前有make_mtime_checker
html模块
HtmlEntityProxy - 一个字典,当给定一个命名的HTML实体时返回Unicode字符
http模块
extract_hostname(使用url.split并引发ValueError)
lands0模块
用于处理列表和字符串的几个工具
minifuncs 模块
非常小的函数,用于某些函数作为参数的情况
profile 模块
一个 StopWatch 上下文管理器和 @profile 装饰器
sequences 模块
用于序列的工具,例如 inject_indexes
sql 模块
生成 SQL 语句的函数,包括 insert、update、delete 和 select。
visaplan.zope.reldb 包含了这个模块的一个副本,它使用 SQLAlchemy 占位符约定(:name)。
times 模块
与日期和/或时间计算相关的函数
文档
这些模块由 doctests 进行文档说明。除此之外,我们还没有真正的用户文档(抱歉)。
安装
简单地通过 pip 安装 visaplan.tools
pip install visaplan.tools
或者将其添加到您的 buildout
[buildout] ... eggs = visaplan.tools
然后运行 bin/buildout
贡献
支持
如果您遇到问题,请告诉我们;请使用上面提到的 问题跟踪器。
许可协议
该项目采用 GNU 通用公共许可证 v2(GPLv2)。
待办事项
预计未来版本中的破坏性更改
对于 dicts.update_dict 的签名更改(例如,第一个参数的名称:form –> dic)
(预计发布 2.0.0)
移除已弃用的 .http 函数
http_statustext,因为 func 选项有问题
make_url
(预计发布 1.5.0)
待修复的错误
当前 .html.make_picture 函数创建带有宽度描述符的 srcset 属性,但没有 sizes 属性——这是使 srcset 受尊重所必需的!
其他要完成的事情
在 .buildout 模块中使用 importlib-metadata!
将上述信息整理成一张漂亮的表格
贡献者
Tobias Herp,tobias.herp@visaplan.com
变更日志
1.5.0(预计)
破坏性更改
移除已弃用的 .http 函数
http_statustext,因为 func 选项有问题
make_url
1.3.13 (2024-03-21)
新功能
新增功能 .http.qad_hostname(仅适用于有效的绝对 URL)
改进
改进 .words.head 以避免隐式字符串解码
杂项
我们明确指出,我们的 .words.head 函数不能正确处理 HTML 标记(但仅在不请求的情况下转义实体)。请使用 visaplan.kitchen.extract 中的类似函数。
[tobiasherp]
1.3.12 (2023-05-02)
改进
.buildout.checkPathForPackage
将 invalid(路径条目)的默认值更改为 WARN,因为我们得到了找不到包的错误异常。
由于我们现在需要 importlib-metadata,.buildout.checkPathForPackage 不再扫描 sys.path 以查找给定的包(除非指定为 path 或通过 use_importlib=False 请求),而是尝试 importlib_metadata.version()。
需求
[tobiasherp]
1.3.11 (2023-03-21)
在 .minifuncs 模块中的新功能
NoneOrFloat
NoneOrDecimal
[tobiasherp]
1.3.10 (2023-03-08)
新功能
新模块 .minicurr,用于将一些流行的货币规范映射到它们各自的 ISO 4217 代码
新功能 .minifuncs.is_nonempty_string
[tobiasherp]
1.3.9 (2022-11-21)
错误修复
`.html.make_picture` 不支持 `sizes` 选项。我们现在支持 img[srcset](目前还不支持 picture 元素)。
改进
`.html.make_picture`
img_style 选项
[tobiasherp]
1.3.8 (2022-09-20)
改进
`.html.make_picture`
rel 选项(意味着 <a> 元素和需要 href)
outer_class 选项(用于最外层元素;与 img_class 一起使用,没有 <a>,意味着一个 <div>)
改进的内部 need_picture 标准
[tobiasherp]
1.3.7 (2021-10-27)
新功能
.html 模块
新函数 from_plain_text
新的字符生成器 entity_aware
.words 模块
head 的新选项
detect_entities(使用 .html.entity_aware)
max_fuzz
return_tuple
[tobiasherp]
1.3.6 (2021-10-06)
新功能
.words 模块,提供 head 函数
[tobiasherp]
1.3.5.post2(2021-10-01)
修正了变更列表。[tobiasherp]
1.3.5 (2021-09-07)
新功能
.html.make_picture 函数用于创建一个 <img> 元素,根据需要包裹在 <picture> 和 / 或 <a> 元素中(目前仅限于一个 <source>,且不支持 sizes 属性)
.lands0 模块
新函数 conflate 用于合并字符串,具有简单的移除相同前导词功能;允许非默认或抑制排序
键函数 nouns_first,例如用于与 conflate 一起使用
[tobiasherp]
1.3.4.post2(2021-10-01)
修正了变更列表。[tobiasherp]
1.3.4 (2021-03-24)
新功能
新函数 minifuncs.extract_float
[tobiasherp]
1.3.3.post2(2021-10-01)
修正了变更列表。[tobiasherp]
1.3.3 (2021-01-12)
杂项
以下 .http 函数已弃用
http_statustext,因为 func 选项有问题
make_url,因为它没有满足名字所暗示的承诺。
安装了 zope.deprecation 后,在第一次使用时将发出弃用警告。
[tobiasherp]
1.3.2 (2021-01-05)
错误修复
.sql.subdict_ne 如果检查的表单数据包含列表值,则会产生 TypeError 异常。
[tobiasherp]
1.3.1 (2020-12-16)
破坏性更改
.lands0.list_of_strings 现在默认分割字符串,就像 str.split 方法(在内部使用)一样,一个 None 分割字符会导致使用任何空白进行分割
要抑制分割,您现在可以指定 splitfunc=False,这将意味着要 去除,至少……
……除非同时给出 splitchar=False。
……除非 splitchar=False 也给出。
错误修复
.lands0.list_of_strings 默认不分割字符串……
(您 依赖 这个错误,是吗?!)
新功能
新类 .dicts.ChangesCollector;允许收集列表的添加和删除(请参阅 doctests)。如果安装了 collections-extended,则使用 setlist 类,一个“有序集合”。
改进
.sequences.nonempty_lines 现在接受一个函数参数,默认:string.strip
新功能
新模块 sql,有助于生成 SQL 语句;然而,它并不试图提供任何类型的对象关系映射。
以下函数返回一个包含占位符和值字典的语句字符串
插入
更新
删除
选择
(来自 visaplan.plone.sqlwrapper v1.0.2 的 utils 模块的修改版),以下未完成的功能已被删除
make_grouping_wrapper(包括辅助函数 _groupable_spectup)
make_join(在 [v1_3_x]@34490)
相反,我们有新的函数
subdict_ne - 创建非空值的子字典。这是 extract_dict 函数的替代品,不幸的是,它期望的参数与 fields 参数不同,类似于 .dicts.subdict 函数。
由.sql.make_dict_extractor工厂函数生成,该函数允许设置一些关键字选项,例如指定认为是空值的值。
新函数lands0.make_default_prefixer
[tobiasherp]
1.3.0 (2020-06-12)
新功能
新模块batches,包含一个batch_tuples函数,用于生成(sublist, txt)元组
新类classes.StackOfDicts
新函数minifuncs.check_kwargs
新函数debug.has_strings
新函数debug.make_debugfile_writer(尚未充分通用化)
需求
[tobiasherp]
1.2.6 (2020-01-08)
改进
添加了Travis CI集成。
为nose2(在Travis上使用)和nose配置测试发现。
错误修复
修复了以下doctests
.dicts.update_dict
.dicts.make_key_injector
移除了现在已过时的...tests/test_doctests.py文件,该文件导致nosetests失败。
新功能
.times.make_defaulttime_calculator:新增关键字-only选项utc=False,使doctests与Travis兼容。
[tobiasherp]
1.2.5 (2019-10-16)
新类classes.AliasDict
添加了一些doctests。
[tobiasherp]
1.2.4 (2019-05-09)
新函数dicts.update_dict(从v1.2.3版开始)“发布”在__all__列表中。尽管如此,我们对这个函数的签名并不满意,因此它可能在未来的版本中有所变化。
新函数classes.connected_dicts,它创建两个具有dic1[key] = val <–> dict2[val] = key的连接字典
log_or_trace在调用set_trace()之前将打印包含trace_key的有用信息
[tobiasherp]
1.2.3 (2019-01-30)
在dicts模块中添加了新函数update_dict(接受一个deletions列表参数)
buildout.extract_package_and_version支持具有子路径的egg规范(/eggs/目录的子目录)
buildout.checkPathForPackage记录无法找到的包的无效包条目
lands0.groupstring支持cumulate选项(默认:False)[tobiasherp]
1.2.2 (2018-11-08)
新模块buildout用于在buildout构建的项目中使用:使用checkPathForPackage函数检查已安装的包与版本白名单的匹配情况[tobiasherp]
1.2.1 (2018-09-17)
新模块dates
make_date_parser工厂用于创建一个可以理解多种日期格式的parse_date函数
make_date_formatter工厂用于创建一个函数,该函数可以将日期格式化为datetime对象或整数的元组
新模块profile
StopWatch 上下文管理器和@profile装饰器
新模块mock
一些用于doctests的小类
与visaplan.plone.tools.mock相同的模块
模块debug
新装饰器trace_this、log_result
新函数print_indented
新工厂函数make_sleeper
模块dicts
新函数make_key_injector
模块minifuncs
新函数translate_dummy
模块sequences
新增函数 nocomment_split
新增函数 columns [tobiasherp]
模块 lands0
新增函数 join_stripped
许可协议更改为GPLv2
1.2 (2018-07-11)
重大变更
类:Proxy 现在是一个工厂而不是一个类
模块 debug、dicts、lands0、minifuncs [tobiasherp]
1.1 (2018-06-12)
模块 sequences、times、files
小错误修复 [tobiasherp]
1.0 (2018-06-11)
首次发布,包括模块 classes、html、http 和 coding [tobiasherp]
项目详情
visaplan.tools-1.3.13.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05a26d0c430d52ad84dec2af05c8fe51aed2b572f1379769f0f413a8d07e3d2c |
|
MD5 | 48ae879a44f4f8c6699c22a03deece2f |
|
BLAKE2b-256 | da199cbeec5303c6237ee1c4a04ea20708eba5f4e37ce6cca7e240ba157c7ae4 |