summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-29 11:30:43 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-29 11:30:43 +0000
commit90766add337bc6d3b3dda1b945d632287715f572 (patch)
tree60791917ebbdbec4d2b9538b16f72158d7fcb887
parent73a9b0a329b29b35f19d73330cacd900d8fdd54c (diff)
automatic import of python-iso-4217
-rw-r--r--.gitignore1
-rw-r--r--python-iso-4217.spec251
-rw-r--r--sources1
3 files changed, 253 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..52ebece 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/iso_4217-0.5.230101.tar.gz
diff --git a/python-iso-4217.spec b/python-iso-4217.spec
new file mode 100644
index 0000000..ee19e92
--- /dev/null
+++ b/python-iso-4217.spec
@@ -0,0 +1,251 @@
+%global _empty_manifest_terminate_build 0
+Name: python-iso-4217
+Version: 0.5.230101
+Release: 1
+Summary: ISO 4217 currency code library
+License: MIT
+URL: https://pypi.org/project/iso-4217/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a3/51/d064ebfe5840c94a3303357ad1c143e44703ed72d0f940bca25181162287/iso_4217-0.5.230101.tar.gz
+BuildArch: noarch
+
+Requires: python3-Pint
+Requires: python3-pytest
+
+%description
+This package contains ISO 4217 *active* and *historical* currency data.
+Written and tested for Python 3.6 and above.
+Supports `pint`_ for operations with currency units.
+>>> from iso_4217 import Currency
+>>> Currency.USD
+<Currency.USD: 'US Dollar'>
+>>> Currency.USD.value
+'US Dollar'
+>>> Currency.USD.number
+840
+>>> Currency('US Dollar')
+<Currency.USD: 'US Dollar'>
+>>> Currency.JPY.entities
+frozenset({'JAPAN'})
+>>> Currency.ZWR
+<Currency.ZWR: 'Zimbabwe Dollar (2009)'>
+>>> Currency.ZWR.entities
+frozenset()
+>>> Currency.ZWR.withdrew_entities
+(Historic(entity='ZIMBABWE', name='Zimbabwe Dollar'...2009, month=6), begin=None)),)
+>>> Currency.VED
+<Currency.VED: 'Bolívar Soberano (VED)'>
+Pint units and subunits are available with convenient :code:`unit` and :code:`subunit`
+properties on Currency. Accessing these properties requires `pint` package installed
+and automatically defines currency units in application default registry.
+>>> Currency.USD.unit * 5 + Currency.USD.subunit * 5
+<Quantity(5.05, 'USD')>
+Currency units can be defined in any UnitRegistry manually
+>>> import pint
+>>> from decimal import Decimal
+>>> from iso_4217 import define_currency_units
+>>> reg = define_currency_units(pint.UnitRegistry(non_int_type=Decimal))
+>>> 5 * reg.USD
+<Quantity(5, 'USD')>
+But units from separate registries should not be mixed
+>>> Currency.USD.unit == reg.USD
+Traceback (most recent call last):
+ValueError: Cannot operate with Unit and Unit of different registries.
+If you want to replace registry used by Currency just replace the application registry:
+>>> pint.set_application_registry(reg)
+>>> Currency.USD.unit == reg.USD
+True
+Subunits are defined with `s` suffix:
+>>> 5 * reg.USDs
+<Quantity(5, 'USDs')>
+>>> (5 * reg.USDs).to("USD")
+<Quantity(0.05, 'USD')>
+>>> (5 * reg.BHDs).to_base_units()
+<Quantity(0.005, 'BHD')>
+Each currency is defined within it's own dimension:
+>>> (5 * reg.USD).to('EUR')
+Traceback (most recent call last):
+pint.errors.DimensionalityError: Cannot convert from 'USD' ([currency_USD]) to 'EUR' ([currency_EUR])
+But automatic currency conversion can be made via pint Contexts
+>>> context = pint.Context()
+>>> eur_to_usd = lambda r, eur: eur * r("1.2 USD/EUR")
+>>> context.add_transformation("[currency_EUR]", "[currency_USD]", eur_to_usd)
+>>> (Currency.EUR.unit * 5).to('USD', context)
+<Quantity(6.0, 'USD')>
+Inspired by `iso4217`_ package by Hong Minhee.
+
+%package -n python3-iso-4217
+Summary: ISO 4217 currency code library
+Provides: python-iso-4217
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-iso-4217
+This package contains ISO 4217 *active* and *historical* currency data.
+Written and tested for Python 3.6 and above.
+Supports `pint`_ for operations with currency units.
+>>> from iso_4217 import Currency
+>>> Currency.USD
+<Currency.USD: 'US Dollar'>
+>>> Currency.USD.value
+'US Dollar'
+>>> Currency.USD.number
+840
+>>> Currency('US Dollar')
+<Currency.USD: 'US Dollar'>
+>>> Currency.JPY.entities
+frozenset({'JAPAN'})
+>>> Currency.ZWR
+<Currency.ZWR: 'Zimbabwe Dollar (2009)'>
+>>> Currency.ZWR.entities
+frozenset()
+>>> Currency.ZWR.withdrew_entities
+(Historic(entity='ZIMBABWE', name='Zimbabwe Dollar'...2009, month=6), begin=None)),)
+>>> Currency.VED
+<Currency.VED: 'Bolívar Soberano (VED)'>
+Pint units and subunits are available with convenient :code:`unit` and :code:`subunit`
+properties on Currency. Accessing these properties requires `pint` package installed
+and automatically defines currency units in application default registry.
+>>> Currency.USD.unit * 5 + Currency.USD.subunit * 5
+<Quantity(5.05, 'USD')>
+Currency units can be defined in any UnitRegistry manually
+>>> import pint
+>>> from decimal import Decimal
+>>> from iso_4217 import define_currency_units
+>>> reg = define_currency_units(pint.UnitRegistry(non_int_type=Decimal))
+>>> 5 * reg.USD
+<Quantity(5, 'USD')>
+But units from separate registries should not be mixed
+>>> Currency.USD.unit == reg.USD
+Traceback (most recent call last):
+ValueError: Cannot operate with Unit and Unit of different registries.
+If you want to replace registry used by Currency just replace the application registry:
+>>> pint.set_application_registry(reg)
+>>> Currency.USD.unit == reg.USD
+True
+Subunits are defined with `s` suffix:
+>>> 5 * reg.USDs
+<Quantity(5, 'USDs')>
+>>> (5 * reg.USDs).to("USD")
+<Quantity(0.05, 'USD')>
+>>> (5 * reg.BHDs).to_base_units()
+<Quantity(0.005, 'BHD')>
+Each currency is defined within it's own dimension:
+>>> (5 * reg.USD).to('EUR')
+Traceback (most recent call last):
+pint.errors.DimensionalityError: Cannot convert from 'USD' ([currency_USD]) to 'EUR' ([currency_EUR])
+But automatic currency conversion can be made via pint Contexts
+>>> context = pint.Context()
+>>> eur_to_usd = lambda r, eur: eur * r("1.2 USD/EUR")
+>>> context.add_transformation("[currency_EUR]", "[currency_USD]", eur_to_usd)
+>>> (Currency.EUR.unit * 5).to('USD', context)
+<Quantity(6.0, 'USD')>
+Inspired by `iso4217`_ package by Hong Minhee.
+
+%package help
+Summary: Development documents and examples for iso-4217
+Provides: python3-iso-4217-doc
+%description help
+This package contains ISO 4217 *active* and *historical* currency data.
+Written and tested for Python 3.6 and above.
+Supports `pint`_ for operations with currency units.
+>>> from iso_4217 import Currency
+>>> Currency.USD
+<Currency.USD: 'US Dollar'>
+>>> Currency.USD.value
+'US Dollar'
+>>> Currency.USD.number
+840
+>>> Currency('US Dollar')
+<Currency.USD: 'US Dollar'>
+>>> Currency.JPY.entities
+frozenset({'JAPAN'})
+>>> Currency.ZWR
+<Currency.ZWR: 'Zimbabwe Dollar (2009)'>
+>>> Currency.ZWR.entities
+frozenset()
+>>> Currency.ZWR.withdrew_entities
+(Historic(entity='ZIMBABWE', name='Zimbabwe Dollar'...2009, month=6), begin=None)),)
+>>> Currency.VED
+<Currency.VED: 'Bolívar Soberano (VED)'>
+Pint units and subunits are available with convenient :code:`unit` and :code:`subunit`
+properties on Currency. Accessing these properties requires `pint` package installed
+and automatically defines currency units in application default registry.
+>>> Currency.USD.unit * 5 + Currency.USD.subunit * 5
+<Quantity(5.05, 'USD')>
+Currency units can be defined in any UnitRegistry manually
+>>> import pint
+>>> from decimal import Decimal
+>>> from iso_4217 import define_currency_units
+>>> reg = define_currency_units(pint.UnitRegistry(non_int_type=Decimal))
+>>> 5 * reg.USD
+<Quantity(5, 'USD')>
+But units from separate registries should not be mixed
+>>> Currency.USD.unit == reg.USD
+Traceback (most recent call last):
+ValueError: Cannot operate with Unit and Unit of different registries.
+If you want to replace registry used by Currency just replace the application registry:
+>>> pint.set_application_registry(reg)
+>>> Currency.USD.unit == reg.USD
+True
+Subunits are defined with `s` suffix:
+>>> 5 * reg.USDs
+<Quantity(5, 'USDs')>
+>>> (5 * reg.USDs).to("USD")
+<Quantity(0.05, 'USD')>
+>>> (5 * reg.BHDs).to_base_units()
+<Quantity(0.005, 'BHD')>
+Each currency is defined within it's own dimension:
+>>> (5 * reg.USD).to('EUR')
+Traceback (most recent call last):
+pint.errors.DimensionalityError: Cannot convert from 'USD' ([currency_USD]) to 'EUR' ([currency_EUR])
+But automatic currency conversion can be made via pint Contexts
+>>> context = pint.Context()
+>>> eur_to_usd = lambda r, eur: eur * r("1.2 USD/EUR")
+>>> context.add_transformation("[currency_EUR]", "[currency_USD]", eur_to_usd)
+>>> (Currency.EUR.unit * 5).to('USD', context)
+<Quantity(6.0, 'USD')>
+Inspired by `iso4217`_ package by Hong Minhee.
+
+%prep
+%autosetup -n iso-4217-0.5.230101
+
+%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-iso-4217 -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.230101-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..c33b184
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+9bee6990793bbf30c99367c35d3e570b iso_4217-0.5.230101.tar.gz