diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 10:38:57 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 10:38:57 +0000 |
| commit | f901d86f6cd6db7edd4b1c7c78422525fb457e88 (patch) | |
| tree | 535686442deb7a954208addc83da67ee89cdc3c8 | |
| parent | 688ce036ed2687aa76758bc9e4b14e13d2552d1f (diff) | |
automatic import of python-scriptionopeneuler20.03
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-scription.spec | 349 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 351 insertions, 0 deletions
@@ -0,0 +1 @@ +/scription-0.86.20.tar.gz diff --git a/python-scription.spec b/python-scription.spec new file mode 100644 index 0000000..069fe56 --- /dev/null +++ b/python-scription.spec @@ -0,0 +1,349 @@ +%global _empty_manifest_terminate_build 0 +Name: python-scription +Version: 0.86.20 +Release: 1 +Summary: simple script parameter parser +License: BSD License +URL: https://github.com/ethanfurman/scription.git +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4f/28/9e6fbd1e8613253dd6556455aa8ecaddf256aa2722ea78390336c8a73a7b/scription-0.86.20.tar.gz +BuildArch: noarch + +Requires: python3-aenum + +%description +scription + +light-weight library to enhance command-line scripts; includes conversion of +parameters to specified data types, parameter checking, basic input/output with +users, support for suid [1], sending email, executing sub-programs, and having +sub-commands within a script + + +decorators + + - Script: sets global variables and/or parameters for Commands; the decorated + function will be called by Main/Run before any specified Command + + - Command: marks function as a subcommand for the script (e.g. add, delete, + list, etc.); if no subcommand is specified on the command-line, scription + will look for a Command with the same name as the script + + - Alias: registers other names for Commands (e.g. delete / remove / kill) + + +functions + + - Main: if the importing module's __name__ is __main__, call Run() (this + allows for importing the script as a module) + + - Run: unconditionally attempts to run the Script function (if any) and the + Command found on the command-line + + Main() or Run() should be the last thing in the script + + +classes + + - Spec: can be used when defining the command-line parameters (can also just + use tuples) + + +helper functions/classes + + - abort: quits immediately by raising SystemExit + + - Execute: class for executing other programs; uses subprocess.Popen by + default, but if `pty=True` is specified then `pty.fork` will be used + (handy for programs that only accept input from a pty) + + - get_response: function for displaying text and getting feedback + + - help: quits immediately, but adds a reference to --help in the quit message + + - log_exception: logs an exception with logging.logger + + - mail: rudimentary mail sender + + - OrmFile: lightweight orm -- supports str, int, float, date, time, + datetime, bool, and path (which defaults to str); custom data types can + also be specified + + - print: wrapper around print that adds a 'verbose_level' keyword (default: 1); + default verbosity is 0 (so print does nothing), but can be increased using + -v, -vv, --verbose, or --verbose=2 (in Python 2 the script must use + 'from __future__ import print_function' to use scription's print) + + - user_ids: context manager useful for suid scripts -- all actions taken + within the context are run as the user/group specified + + +features + + - extra parameters defined by Script are global, and can be accessed from any + function or Command + + - 'module' is a namespace inserted into the script + + - 'script_command' is the Command selected from the command line (useful when + one needs to call the subcommand directly from a main() function) + + - 'script_command_name' is the name of the script_command + + - 'script_verbosity' is the level of verboseness selected (defaults to 0) + + - 'script_name' is the name of the script + + - builtin options are: --help, --verbose (-v or -vv), --version, --all-versions + --version attempts to display the version of the main package in use + --all-versions attempts to display the versions of any imported packages + + - command-line is decoded to unicode under Python 2 (Python 3 does this for us) + + +[1] I use the suid-python program, available at http://selliott.org/python/suid-python.c + + + + +%package -n python3-scription +Summary: simple script parameter parser +Provides: python-scription +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-scription +scription + +light-weight library to enhance command-line scripts; includes conversion of +parameters to specified data types, parameter checking, basic input/output with +users, support for suid [1], sending email, executing sub-programs, and having +sub-commands within a script + + +decorators + + - Script: sets global variables and/or parameters for Commands; the decorated + function will be called by Main/Run before any specified Command + + - Command: marks function as a subcommand for the script (e.g. add, delete, + list, etc.); if no subcommand is specified on the command-line, scription + will look for a Command with the same name as the script + + - Alias: registers other names for Commands (e.g. delete / remove / kill) + + +functions + + - Main: if the importing module's __name__ is __main__, call Run() (this + allows for importing the script as a module) + + - Run: unconditionally attempts to run the Script function (if any) and the + Command found on the command-line + + Main() or Run() should be the last thing in the script + + +classes + + - Spec: can be used when defining the command-line parameters (can also just + use tuples) + + +helper functions/classes + + - abort: quits immediately by raising SystemExit + + - Execute: class for executing other programs; uses subprocess.Popen by + default, but if `pty=True` is specified then `pty.fork` will be used + (handy for programs that only accept input from a pty) + + - get_response: function for displaying text and getting feedback + + - help: quits immediately, but adds a reference to --help in the quit message + + - log_exception: logs an exception with logging.logger + + - mail: rudimentary mail sender + + - OrmFile: lightweight orm -- supports str, int, float, date, time, + datetime, bool, and path (which defaults to str); custom data types can + also be specified + + - print: wrapper around print that adds a 'verbose_level' keyword (default: 1); + default verbosity is 0 (so print does nothing), but can be increased using + -v, -vv, --verbose, or --verbose=2 (in Python 2 the script must use + 'from __future__ import print_function' to use scription's print) + + - user_ids: context manager useful for suid scripts -- all actions taken + within the context are run as the user/group specified + + +features + + - extra parameters defined by Script are global, and can be accessed from any + function or Command + + - 'module' is a namespace inserted into the script + + - 'script_command' is the Command selected from the command line (useful when + one needs to call the subcommand directly from a main() function) + + - 'script_command_name' is the name of the script_command + + - 'script_verbosity' is the level of verboseness selected (defaults to 0) + + - 'script_name' is the name of the script + + - builtin options are: --help, --verbose (-v or -vv), --version, --all-versions + --version attempts to display the version of the main package in use + --all-versions attempts to display the versions of any imported packages + + - command-line is decoded to unicode under Python 2 (Python 3 does this for us) + + +[1] I use the suid-python program, available at http://selliott.org/python/suid-python.c + + + + +%package help +Summary: Development documents and examples for scription +Provides: python3-scription-doc +%description help +scription + +light-weight library to enhance command-line scripts; includes conversion of +parameters to specified data types, parameter checking, basic input/output with +users, support for suid [1], sending email, executing sub-programs, and having +sub-commands within a script + + +decorators + + - Script: sets global variables and/or parameters for Commands; the decorated + function will be called by Main/Run before any specified Command + + - Command: marks function as a subcommand for the script (e.g. add, delete, + list, etc.); if no subcommand is specified on the command-line, scription + will look for a Command with the same name as the script + + - Alias: registers other names for Commands (e.g. delete / remove / kill) + + +functions + + - Main: if the importing module's __name__ is __main__, call Run() (this + allows for importing the script as a module) + + - Run: unconditionally attempts to run the Script function (if any) and the + Command found on the command-line + + Main() or Run() should be the last thing in the script + + +classes + + - Spec: can be used when defining the command-line parameters (can also just + use tuples) + + +helper functions/classes + + - abort: quits immediately by raising SystemExit + + - Execute: class for executing other programs; uses subprocess.Popen by + default, but if `pty=True` is specified then `pty.fork` will be used + (handy for programs that only accept input from a pty) + + - get_response: function for displaying text and getting feedback + + - help: quits immediately, but adds a reference to --help in the quit message + + - log_exception: logs an exception with logging.logger + + - mail: rudimentary mail sender + + - OrmFile: lightweight orm -- supports str, int, float, date, time, + datetime, bool, and path (which defaults to str); custom data types can + also be specified + + - print: wrapper around print that adds a 'verbose_level' keyword (default: 1); + default verbosity is 0 (so print does nothing), but can be increased using + -v, -vv, --verbose, or --verbose=2 (in Python 2 the script must use + 'from __future__ import print_function' to use scription's print) + + - user_ids: context manager useful for suid scripts -- all actions taken + within the context are run as the user/group specified + + +features + + - extra parameters defined by Script are global, and can be accessed from any + function or Command + + - 'module' is a namespace inserted into the script + + - 'script_command' is the Command selected from the command line (useful when + one needs to call the subcommand directly from a main() function) + + - 'script_command_name' is the name of the script_command + + - 'script_verbosity' is the level of verboseness selected (defaults to 0) + + - 'script_name' is the name of the script + + - builtin options are: --help, --verbose (-v or -vv), --version, --all-versions + --version attempts to display the version of the main package in use + --all-versions attempts to display the versions of any imported packages + + - command-line is decoded to unicode under Python 2 (Python 3 does this for us) + + +[1] I use the suid-python program, available at http://selliott.org/python/suid-python.c + + + + +%prep +%autosetup -n scription-0.86.20 + +%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-scription -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.86.20-1 +- Package Spec generated @@ -0,0 +1 @@ +5446dbedae35649bbf61aa8c43a5ef5a scription-0.86.20.tar.gz |
