%global _empty_manifest_terminate_build 0 Name: python-Dtautils Version: 0.8.16 Release: 1 Summary: some utils to process data easy License: MIT URL: https://github.com/gitduk/utils Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4e/49/a5506f2a1b06976ee8f09f74a2b1f630cde443f8c6bbb406fa30d6bbc659/Dtautils-0.8.16.tar.gz BuildArch: noarch Requires: python3-logging Requires: python3-parsel Requires: python3-pymysql Requires: python3-requests %description ## data_factory > 数据处理模块,主要是一些处理字典的函数 ##### `search` > 搜索字典中的键值对,如果有多个相同的键,值会被放到一个列表。 参数及其类型 - key : `str, list, tuple` - data : `dict` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(search('name', data)) # output: ['search', 'find'] print(search(['name','intro'], data)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'find something']} ``` ##### `update` > 更新字典中的键值对。 参数及其类型 - update_map : `dict` - data : `dict` - target_type : `str, tuple` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(update({'name': 'PYTHON'}, data=data)) # output: {'name': 'PYTHON', 'intro': 'search key/value in dict data', 'desc': {'name': 'PYTHON', 'intro': 'find something'}} print(update({'name': 'PYTHON'}, data=data, target_type=int)) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'find', 'intro': 'find something'}} ``` target_type 字段标明更新字段的类型,默认更新类型:`str, bytes, int, float, list, dict`,如果字典的值的类型不在更新类型范围内,则不更新值。 ##### `replace` > 替换字典中的键值对。 参数及其类型 - replace_map : `dict` - data : `dict` - replace_key : `bool` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(replace({'find': 'search'}, data=data)) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'search', 'intro': 'search something'}} print(replace({'name': 'Name'}, data=data, replace_key=True)) # output: {'Name': 'search', 'intro': 'search key/value in dict data', 'desc': {'Name': 'find', 'intro': 'find something'}} ``` ##### `strip` > 清洗字典 参数及其类型 - *args : `str` - data : `dict` - strip_key : `bool` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(strip('key/', 'find', data=data)) # output: {'name': 'search', 'intro': 'search value in dict data', 'desc': {'name': '', 'intro': ' something'}} print(strip('ame', data=data, strip_key=True)) # output: {'n': 'search', 'intro': 'search key/value in dict data', 'desc': {'n': 'find', 'intro': 'find something'}} ``` ##### `delete` > 删除键值对 参数及其类型 - *args : `str` - data : `dict` - target_type : `str, tuple` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(delete('desc', data=data)) # output: {'name': 'search', 'intro': 'search key/value in dict data'} ``` 默认target_key 类型为 `str, bytes, int, float, list, dict` ##### `flatten` > 展开字典 参数及其类型 - data : `dict` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'Name':'find', 'Intro':'find something' } } print(dict(flatten(data))) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'Name': 'find', 'Intro': 'find something'} ``` ##### `merge` > 合并字典 参数及其类型 - *args : `dict` - overwrite : `bool` 用法: ```python data1 = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'Name':'find', 'Intro':'find something' } } data2 = { 'name':'find', 'intro':'searching', 'desc':{ 'Name':'search', 'Intro':'find something' } } print(merge(data1, data2)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something', 'find something']}} print(merge(data1, data2, overwrite=True)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something']}} ``` %package -n python3-Dtautils Summary: some utils to process data easy Provides: python-Dtautils BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-Dtautils ## data_factory > 数据处理模块,主要是一些处理字典的函数 ##### `search` > 搜索字典中的键值对,如果有多个相同的键,值会被放到一个列表。 参数及其类型 - key : `str, list, tuple` - data : `dict` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(search('name', data)) # output: ['search', 'find'] print(search(['name','intro'], data)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'find something']} ``` ##### `update` > 更新字典中的键值对。 参数及其类型 - update_map : `dict` - data : `dict` - target_type : `str, tuple` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(update({'name': 'PYTHON'}, data=data)) # output: {'name': 'PYTHON', 'intro': 'search key/value in dict data', 'desc': {'name': 'PYTHON', 'intro': 'find something'}} print(update({'name': 'PYTHON'}, data=data, target_type=int)) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'find', 'intro': 'find something'}} ``` target_type 字段标明更新字段的类型,默认更新类型:`str, bytes, int, float, list, dict`,如果字典的值的类型不在更新类型范围内,则不更新值。 ##### `replace` > 替换字典中的键值对。 参数及其类型 - replace_map : `dict` - data : `dict` - replace_key : `bool` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(replace({'find': 'search'}, data=data)) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'search', 'intro': 'search something'}} print(replace({'name': 'Name'}, data=data, replace_key=True)) # output: {'Name': 'search', 'intro': 'search key/value in dict data', 'desc': {'Name': 'find', 'intro': 'find something'}} ``` ##### `strip` > 清洗字典 参数及其类型 - *args : `str` - data : `dict` - strip_key : `bool` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(strip('key/', 'find', data=data)) # output: {'name': 'search', 'intro': 'search value in dict data', 'desc': {'name': '', 'intro': ' something'}} print(strip('ame', data=data, strip_key=True)) # output: {'n': 'search', 'intro': 'search key/value in dict data', 'desc': {'n': 'find', 'intro': 'find something'}} ``` ##### `delete` > 删除键值对 参数及其类型 - *args : `str` - data : `dict` - target_type : `str, tuple` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(delete('desc', data=data)) # output: {'name': 'search', 'intro': 'search key/value in dict data'} ``` 默认target_key 类型为 `str, bytes, int, float, list, dict` ##### `flatten` > 展开字典 参数及其类型 - data : `dict` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'Name':'find', 'Intro':'find something' } } print(dict(flatten(data))) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'Name': 'find', 'Intro': 'find something'} ``` ##### `merge` > 合并字典 参数及其类型 - *args : `dict` - overwrite : `bool` 用法: ```python data1 = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'Name':'find', 'Intro':'find something' } } data2 = { 'name':'find', 'intro':'searching', 'desc':{ 'Name':'search', 'Intro':'find something' } } print(merge(data1, data2)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something', 'find something']}} print(merge(data1, data2, overwrite=True)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something']}} ``` %package help Summary: Development documents and examples for Dtautils Provides: python3-Dtautils-doc %description help ## data_factory > 数据处理模块,主要是一些处理字典的函数 ##### `search` > 搜索字典中的键值对,如果有多个相同的键,值会被放到一个列表。 参数及其类型 - key : `str, list, tuple` - data : `dict` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(search('name', data)) # output: ['search', 'find'] print(search(['name','intro'], data)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'find something']} ``` ##### `update` > 更新字典中的键值对。 参数及其类型 - update_map : `dict` - data : `dict` - target_type : `str, tuple` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(update({'name': 'PYTHON'}, data=data)) # output: {'name': 'PYTHON', 'intro': 'search key/value in dict data', 'desc': {'name': 'PYTHON', 'intro': 'find something'}} print(update({'name': 'PYTHON'}, data=data, target_type=int)) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'find', 'intro': 'find something'}} ``` target_type 字段标明更新字段的类型,默认更新类型:`str, bytes, int, float, list, dict`,如果字典的值的类型不在更新类型范围内,则不更新值。 ##### `replace` > 替换字典中的键值对。 参数及其类型 - replace_map : `dict` - data : `dict` - replace_key : `bool` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(replace({'find': 'search'}, data=data)) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'desc': {'name': 'search', 'intro': 'search something'}} print(replace({'name': 'Name'}, data=data, replace_key=True)) # output: {'Name': 'search', 'intro': 'search key/value in dict data', 'desc': {'Name': 'find', 'intro': 'find something'}} ``` ##### `strip` > 清洗字典 参数及其类型 - *args : `str` - data : `dict` - strip_key : `bool` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(strip('key/', 'find', data=data)) # output: {'name': 'search', 'intro': 'search value in dict data', 'desc': {'name': '', 'intro': ' something'}} print(strip('ame', data=data, strip_key=True)) # output: {'n': 'search', 'intro': 'search key/value in dict data', 'desc': {'n': 'find', 'intro': 'find something'}} ``` ##### `delete` > 删除键值对 参数及其类型 - *args : `str` - data : `dict` - target_type : `str, tuple` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'name':'find', 'intro':'find something' } } print(delete('desc', data=data)) # output: {'name': 'search', 'intro': 'search key/value in dict data'} ``` 默认target_key 类型为 `str, bytes, int, float, list, dict` ##### `flatten` > 展开字典 参数及其类型 - data : `dict` 用法: ```python data = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'Name':'find', 'Intro':'find something' } } print(dict(flatten(data))) # output: {'name': 'search', 'intro': 'search key/value in dict data', 'Name': 'find', 'Intro': 'find something'} ``` ##### `merge` > 合并字典 参数及其类型 - *args : `dict` - overwrite : `bool` 用法: ```python data1 = { 'name':'search', 'intro':'search key/value in dict data', 'desc':{ 'Name':'find', 'Intro':'find something' } } data2 = { 'name':'find', 'intro':'searching', 'desc':{ 'Name':'search', 'Intro':'find something' } } print(merge(data1, data2)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something', 'find something']}} print(merge(data1, data2, overwrite=True)) # output: {'name': ['search', 'find'], 'intro': ['search key/value in dict data', 'searching'], 'desc': {'Name': ['find', 'search'], 'Intro': ['find something']}} ``` %prep %autosetup -n Dtautils-0.8.16 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-Dtautils -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.8.16-1 - Package Spec generated