summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-multi_key_dict.spec122
-rw-r--r--sources1
3 files changed, 124 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8608246 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/multi_key_dict-2.0.3.tar.gz
diff --git a/python-multi_key_dict.spec b/python-multi_key_dict.spec
new file mode 100644
index 0000000..47f3de8
--- /dev/null
+++ b/python-multi_key_dict.spec
@@ -0,0 +1,122 @@
+%global _empty_manifest_terminate_build 0
+Name: python-multi_key_dict
+Version: 2.0.3
+Release: 1
+Summary: Multi key dictionary implementation
+License: License :: OSI Approved :: MIT License (http://opensource.org/licenses/MIT)
+URL: https://github.com/formiaczek/multi_key_dict
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6d/97/2e9c47ca1bbde6f09cb18feb887d5102e8eacd82fbc397c77b221f27a2ab/multi_key_dict-2.0.3.tar.gz
+BuildArch: noarch
+
+
+%description
+Implementation of a multi-key dictionary, i.e.:
+(key1[,key2, ..]) => value
+This dictionary has a similar interface to the standard dictionary => but is extended to support multiple keys referring to the same element.
+If element is created using multiple keys, e.g.:
+ from multi_key_dict import multi_key_dict
+ k = multi_key_dict()
+ k[1000, 'kilo', 'k'] = 'kilo (x1000)'
+ print k[1000] # will print 'kilo (x1000)'
+ print k['k'] # will also print 'kilo (x1000)'
+ # the same way objects can be updated, deleted:
+ # and if an object is updated using one key, the new value will
+ # be accessible using any other key, e.g. for example above:
+ k['kilo'] = 'kilo'
+ print k[1000] # will now print 'kilo' as value was updated
+These elements can be accessed using either of those keys (e.g for read/update/deletion).
+Multi-key dict provides also extended interface for iterating over items and keys (e.g. by the key type), which might be useful when creating, e.g. dictionaries with index-name key pair allowing to iterate over items using either: names or indexes.
+It can be useful for many many other similar use-cases, and there is no limit to the number of keys used to map to the value.
+There are few other useful methods, e.g. to iterate over dictionary (by/using) selected key type, finding other keys mapping to the same value etc. Refer to example/test code to see it in action.
+
+%package -n python3-multi_key_dict
+Summary: Multi key dictionary implementation
+Provides: python-multi_key_dict
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+%description -n python3-multi_key_dict
+Implementation of a multi-key dictionary, i.e.:
+(key1[,key2, ..]) => value
+This dictionary has a similar interface to the standard dictionary => but is extended to support multiple keys referring to the same element.
+If element is created using multiple keys, e.g.:
+ from multi_key_dict import multi_key_dict
+ k = multi_key_dict()
+ k[1000, 'kilo', 'k'] = 'kilo (x1000)'
+ print k[1000] # will print 'kilo (x1000)'
+ print k['k'] # will also print 'kilo (x1000)'
+ # the same way objects can be updated, deleted:
+ # and if an object is updated using one key, the new value will
+ # be accessible using any other key, e.g. for example above:
+ k['kilo'] = 'kilo'
+ print k[1000] # will now print 'kilo' as value was updated
+These elements can be accessed using either of those keys (e.g for read/update/deletion).
+Multi-key dict provides also extended interface for iterating over items and keys (e.g. by the key type), which might be useful when creating, e.g. dictionaries with index-name key pair allowing to iterate over items using either: names or indexes.
+It can be useful for many many other similar use-cases, and there is no limit to the number of keys used to map to the value.
+There are few other useful methods, e.g. to iterate over dictionary (by/using) selected key type, finding other keys mapping to the same value etc. Refer to example/test code to see it in action.
+
+%package help
+Summary: Development documents and examples for multi_key_dict
+Provides: python3-multi_key_dict-doc
+%description help
+Implementation of a multi-key dictionary, i.e.:
+(key1[,key2, ..]) => value
+This dictionary has a similar interface to the standard dictionary => but is extended to support multiple keys referring to the same element.
+If element is created using multiple keys, e.g.:
+ from multi_key_dict import multi_key_dict
+ k = multi_key_dict()
+ k[1000, 'kilo', 'k'] = 'kilo (x1000)'
+ print k[1000] # will print 'kilo (x1000)'
+ print k['k'] # will also print 'kilo (x1000)'
+ # the same way objects can be updated, deleted:
+ # and if an object is updated using one key, the new value will
+ # be accessible using any other key, e.g. for example above:
+ k['kilo'] = 'kilo'
+ print k[1000] # will now print 'kilo' as value was updated
+These elements can be accessed using either of those keys (e.g for read/update/deletion).
+Multi-key dict provides also extended interface for iterating over items and keys (e.g. by the key type), which might be useful when creating, e.g. dictionaries with index-name key pair allowing to iterate over items using either: names or indexes.
+It can be useful for many many other similar use-cases, and there is no limit to the number of keys used to map to the value.
+There are few other useful methods, e.g. to iterate over dictionary (by/using) selected key type, finding other keys mapping to the same value etc. Refer to example/test code to see it in action.
+
+%prep
+%autosetup -n multi_key_dict-2.0.3
+
+%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-multi_key_dict -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Sat Feb 25 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..12e66e7
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+fea179deaaf496872c9db77dab30d523 multi_key_dict-2.0.3.tar.gz