diff options
Diffstat (limited to 'python-short-url.spec')
| -rw-r--r-- | python-short-url.spec | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/python-short-url.spec b/python-short-url.spec new file mode 100644 index 0000000..433b196 --- /dev/null +++ b/python-short-url.spec @@ -0,0 +1,162 @@ +%global _empty_manifest_terminate_build 0 +Name: python-short_url +Version: 1.2.2 +Release: 1 +Summary: Python implementation for generating Tiny URL- and bit.ly-like URLs. +License: MIT +URL: https://github.com/Alir3z4/short_url +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c5/33/0837510726656dfda6439d3de085e1f994cf91d9c1a95bc0a87051b27970/short_url-1.2.2.tar.gz +BuildArch: noarch + + +%description +Python implementation for generating Tiny URL- and bit.ly-like URLs. +A bit-shuffling approach is used to avoid generating consecutive, predictable +URLs. However, the algorithm is deterministic and will guarantee that no +collisions will occur. +The URL alphabet is fully customizable and may contain any number of +characters. By default, digits and lower-case letters are used, with +some removed to avoid confusion between characters like o, O and 0. The +default alphabet is shuffled and has a prime number of characters to further +improve the results of the algorithm. +The block size specifies how many bits will be shuffled. The lower BLOCK_SIZE +bits are reversed. Any bits higher than BLOCK_SIZE will remain as is. +BLOCK_SIZE of 0 will leave all bits unaffected and the algorithm will simply +be converting your integer to a different base. +The intended use is that incrementing, consecutive integers will be used as +keys to generate the short URLs. For example, when creating a new URL, the +unique integer ID assigned by a database could be used to generate the URL +by using this module. Or a simple counter may be used. As long as the same +integer is not used twice, the same short URL will not be generated twice. +The module supports both encoding and decoding of URLs. The min_length +parameter allows you to pad the URL if you want it to be a specific length. +Sample Usage: +>>> import short_url +>>> url = short_url.encode_url(12) +>>> print url +LhKA +>>> key = short_url.decode_url(url) +>>> print key +12 +Use the functions in the top-level of the module to use the default encoder. +Otherwise, you may create your own UrlEncoder object and use its encode_url +and decode_url methods. + +%package -n python3-short_url +Summary: Python implementation for generating Tiny URL- and bit.ly-like URLs. +Provides: python-short_url +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-short_url +Python implementation for generating Tiny URL- and bit.ly-like URLs. +A bit-shuffling approach is used to avoid generating consecutive, predictable +URLs. However, the algorithm is deterministic and will guarantee that no +collisions will occur. +The URL alphabet is fully customizable and may contain any number of +characters. By default, digits and lower-case letters are used, with +some removed to avoid confusion between characters like o, O and 0. The +default alphabet is shuffled and has a prime number of characters to further +improve the results of the algorithm. +The block size specifies how many bits will be shuffled. The lower BLOCK_SIZE +bits are reversed. Any bits higher than BLOCK_SIZE will remain as is. +BLOCK_SIZE of 0 will leave all bits unaffected and the algorithm will simply +be converting your integer to a different base. +The intended use is that incrementing, consecutive integers will be used as +keys to generate the short URLs. For example, when creating a new URL, the +unique integer ID assigned by a database could be used to generate the URL +by using this module. Or a simple counter may be used. As long as the same +integer is not used twice, the same short URL will not be generated twice. +The module supports both encoding and decoding of URLs. The min_length +parameter allows you to pad the URL if you want it to be a specific length. +Sample Usage: +>>> import short_url +>>> url = short_url.encode_url(12) +>>> print url +LhKA +>>> key = short_url.decode_url(url) +>>> print key +12 +Use the functions in the top-level of the module to use the default encoder. +Otherwise, you may create your own UrlEncoder object and use its encode_url +and decode_url methods. + +%package help +Summary: Development documents and examples for short_url +Provides: python3-short_url-doc +%description help +Python implementation for generating Tiny URL- and bit.ly-like URLs. +A bit-shuffling approach is used to avoid generating consecutive, predictable +URLs. However, the algorithm is deterministic and will guarantee that no +collisions will occur. +The URL alphabet is fully customizable and may contain any number of +characters. By default, digits and lower-case letters are used, with +some removed to avoid confusion between characters like o, O and 0. The +default alphabet is shuffled and has a prime number of characters to further +improve the results of the algorithm. +The block size specifies how many bits will be shuffled. The lower BLOCK_SIZE +bits are reversed. Any bits higher than BLOCK_SIZE will remain as is. +BLOCK_SIZE of 0 will leave all bits unaffected and the algorithm will simply +be converting your integer to a different base. +The intended use is that incrementing, consecutive integers will be used as +keys to generate the short URLs. For example, when creating a new URL, the +unique integer ID assigned by a database could be used to generate the URL +by using this module. Or a simple counter may be used. As long as the same +integer is not used twice, the same short URL will not be generated twice. +The module supports both encoding and decoding of URLs. The min_length +parameter allows you to pad the URL if you want it to be a specific length. +Sample Usage: +>>> import short_url +>>> url = short_url.encode_url(12) +>>> print url +LhKA +>>> key = short_url.decode_url(url) +>>> print key +12 +Use the functions in the top-level of the module to use the default encoder. +Otherwise, you may create your own UrlEncoder object and use its encode_url +and decode_url methods. + +%prep +%autosetup -n short_url-1.2.2 + +%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-short_url -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.2-1 +- Package Spec generated |
