summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 02:58:00 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 02:58:00 +0000
commit649f502dd61f38b0c13a9f7335204ebfda019c4c (patch)
treea2f77021009a6556fc8a02dfd9b178953f47d0b5
parent83a8cd3ad94f3d1d6177303e4bd7dff1f66f09ad (diff)
automatic import of python-env-utils
-rw-r--r--.gitignore1
-rw-r--r--python-env-utils.spec198
-rw-r--r--sources1
3 files changed, 200 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1c16280 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/env_utils-1.2.0.tar.gz
diff --git a/python-env-utils.spec b/python-env-utils.spec
new file mode 100644
index 0000000..6d0d3f2
--- /dev/null
+++ b/python-env-utils.spec
@@ -0,0 +1,198 @@
+%global _empty_manifest_terminate_build 0
+Name: python-env_utils
+Version: 1.2.0
+Release: 1
+Summary: Utility functions to make it easier to work with os.environ
+License: MIT
+URL: https://github.com/yunojuno/python-env-utils
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7b/2a/ce19d7bdad70c42a0573fb11566eb166c3f00b52bb034bcaa043885b3c70/env_utils-1.2.0.tar.gz
+BuildArch: noarch
+
+
+%description
+This library extends the standard library's ``getenv`` function, allowing
+you to coerce the return value into a type.
+And that's it.
+It's been released as a library because every project we have includes the
+same requirements - read in environment variables, coerce them into the
+correct type.
+The problem is that environment variables are always stored as strings, but
+Python will evaluate any string (even "") as True if cast to a boolean. This
+is almost never the desired behaviour. If you set an environment variable to
+"", "0" or "False", you want it to be False.
+ >>> os.environ['foo'] = "0"
+ >>> val = os.getenv('foo')
+ >>> val
+ "0"
+ >>> bool(val)
+ True
+``env_utils.get_env`` will coerce the value into the type you require. The package contains basic helper functions that coerce booleans, integers, decimals, floats, dates, lists and dictionaries.
+ # FOO=0
+ >>> env_utils.get_env('FOO')
+ "0"
+ >>> env_utils.get_bool('FOO')
+ False
+ >>> env_utils.get_int('FOO')
+ 0
+ # FOO=foo,bar
+ >>> env_utils.get_list('FOO', separator=',')
+ ['foo', 'bar']
+ # FOO='{"foo": true}'
+ >>> env_utils.get_dict('FOO')
+ {'foo': True}
+ # FOO=2016-11-23
+ >>> env_utils.get_date('FOO')
+ datetime.date(2016, 11, 23)
+You can supply any function you like to coerce the value, e.g.:
+ >>> import os
+ >>> os.getenv('FOO_NAME')
+ 'bob'
+ >>> class Foo(object):
+ >>> coerce = lambda x: Foo(x)
+ >>> import env_utils
+ >>> foo = env_utils.get_env('FOO_NAME', coerce=coerce)
+ >>> foo.name
+ >>> 'bob'
+
+%package -n python3-env_utils
+Summary: Utility functions to make it easier to work with os.environ
+Provides: python-env_utils
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-env_utils
+This library extends the standard library's ``getenv`` function, allowing
+you to coerce the return value into a type.
+And that's it.
+It's been released as a library because every project we have includes the
+same requirements - read in environment variables, coerce them into the
+correct type.
+The problem is that environment variables are always stored as strings, but
+Python will evaluate any string (even "") as True if cast to a boolean. This
+is almost never the desired behaviour. If you set an environment variable to
+"", "0" or "False", you want it to be False.
+ >>> os.environ['foo'] = "0"
+ >>> val = os.getenv('foo')
+ >>> val
+ "0"
+ >>> bool(val)
+ True
+``env_utils.get_env`` will coerce the value into the type you require. The package contains basic helper functions that coerce booleans, integers, decimals, floats, dates, lists and dictionaries.
+ # FOO=0
+ >>> env_utils.get_env('FOO')
+ "0"
+ >>> env_utils.get_bool('FOO')
+ False
+ >>> env_utils.get_int('FOO')
+ 0
+ # FOO=foo,bar
+ >>> env_utils.get_list('FOO', separator=',')
+ ['foo', 'bar']
+ # FOO='{"foo": true}'
+ >>> env_utils.get_dict('FOO')
+ {'foo': True}
+ # FOO=2016-11-23
+ >>> env_utils.get_date('FOO')
+ datetime.date(2016, 11, 23)
+You can supply any function you like to coerce the value, e.g.:
+ >>> import os
+ >>> os.getenv('FOO_NAME')
+ 'bob'
+ >>> class Foo(object):
+ >>> coerce = lambda x: Foo(x)
+ >>> import env_utils
+ >>> foo = env_utils.get_env('FOO_NAME', coerce=coerce)
+ >>> foo.name
+ >>> 'bob'
+
+%package help
+Summary: Development documents and examples for env_utils
+Provides: python3-env_utils-doc
+%description help
+This library extends the standard library's ``getenv`` function, allowing
+you to coerce the return value into a type.
+And that's it.
+It's been released as a library because every project we have includes the
+same requirements - read in environment variables, coerce them into the
+correct type.
+The problem is that environment variables are always stored as strings, but
+Python will evaluate any string (even "") as True if cast to a boolean. This
+is almost never the desired behaviour. If you set an environment variable to
+"", "0" or "False", you want it to be False.
+ >>> os.environ['foo'] = "0"
+ >>> val = os.getenv('foo')
+ >>> val
+ "0"
+ >>> bool(val)
+ True
+``env_utils.get_env`` will coerce the value into the type you require. The package contains basic helper functions that coerce booleans, integers, decimals, floats, dates, lists and dictionaries.
+ # FOO=0
+ >>> env_utils.get_env('FOO')
+ "0"
+ >>> env_utils.get_bool('FOO')
+ False
+ >>> env_utils.get_int('FOO')
+ 0
+ # FOO=foo,bar
+ >>> env_utils.get_list('FOO', separator=',')
+ ['foo', 'bar']
+ # FOO='{"foo": true}'
+ >>> env_utils.get_dict('FOO')
+ {'foo': True}
+ # FOO=2016-11-23
+ >>> env_utils.get_date('FOO')
+ datetime.date(2016, 11, 23)
+You can supply any function you like to coerce the value, e.g.:
+ >>> import os
+ >>> os.getenv('FOO_NAME')
+ 'bob'
+ >>> class Foo(object):
+ >>> coerce = lambda x: Foo(x)
+ >>> import env_utils
+ >>> foo = env_utils.get_env('FOO_NAME', coerce=coerce)
+ >>> foo.name
+ >>> 'bob'
+
+%prep
+%autosetup -n env_utils-1.2.0
+
+%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-env_utils -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.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..79d4adb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+178d44f97a157df081fc6f65b26e2779 env_utils-1.2.0.tar.gz