diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-10 08:13:49 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 08:13:49 +0000 |
commit | e75b11a770dd820ed9b4bf3b76874d51f3124e95 (patch) | |
tree | 40998d1b477c403eb2a91468a6dc504659320d6e | |
parent | 57d2492b96df2a6ce061b2e20a3ad1727efa688f (diff) |
automatic import of python-click-odoo
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-click-odoo.spec | 505 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 507 insertions, 0 deletions
@@ -0,0 +1 @@ +/click-odoo-1.6.0.tar.gz diff --git a/python-click-odoo.spec b/python-click-odoo.spec new file mode 100644 index 0000000..1c8e293 --- /dev/null +++ b/python-click-odoo.spec @@ -0,0 +1,505 @@ +%global _empty_manifest_terminate_build 0 +Name: python-click-odoo +Version: 1.6.0 +Release: 1 +Summary: Beautiful, robust CLI for Odoo +License: LGPLv3+ +URL: http://github.com/acsone/click-odoo +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/25/1c/a17e3f004165ea2dd00f81d9592a9c41b74ee190a9dd6ecc9eda2c505ec5/click-odoo-1.6.0.tar.gz +BuildArch: noarch + +Requires: python3-click + +%description +``click-odoo`` helps you create and run beautiful and robust command line scripts +for Odoo. It is based on the excellent Click_ library. +Useful community-managed scripts can be found in click-odoo-contrib_. +Quick start +~~~~~~~~~~~ +Check Odoo is correctly installed: ``python -c "import odoo"`` must +work when run from another directory than the Odoo root directory. +Install ``click-odoo``:: + pip install click-odoo +Assuming the following script named ``list-users.py``. + #!/usr/bin/env python + from __future__ import print_function + for u in env['res.users'].search([]): + print(u.login, u.name) +It can be run with:: + python -m click_odoo -d dbname --log-level=error ./list-users.py +or:: + click-odoo -d dbname --log-level=error ./list-users.py +or:: + ./list-users.py -d dbname --log-level=error +The other technique to create scripts looks like this. Assuming +the following script named ``list-users2.py``. + #!/usr/bin/env python + from __future__ import print_function + import click + import click_odoo + @click.command() + @click_odoo.env_options(default_log_level='error') + @click.option('--say-hello', is_flag=True) + def main(env, say_hello): + if say_hello: + click.echo("Hello!") + for u in env['res.users'].search([]): + print(u.login, u.name) + if __name__ == '__main__': + main() +It can be run like this:: + $ ./list-users2.py --help + Usage: list-users2.py [OPTIONS] + Options: + -c, --config PATH Specify the Odoo configuration file. Other ways to + provide it are with the ODOO_RC or OPENERP_SERVER + environment variables, or ~/.odoorc (Odoo >= 10) or + ~/.openerp_serverrc. + -d, --database TEXT Specify the database name. If present, this + parameter takes precedence over the database + provided in the Odoo configuration file. + --log-level TEXT Specify the logging level. Accepted values depend on + the Odoo version, and include debug, info, warn, + error, critical. [default: error] + --logfile PATH Specify the log file. + --rollback Rollback the transaction even if the script + does not raise an exception. Note that if + the script itself commits, this option has no + effect, this is why it is not named dry run. + This option is implied when an interactive + console is started. + --say-hello + --help Show this message and exit. + $ ./list-users2.py --say-hello -d dbname + Hello! + admin Administrator +Finally, you can start an interactive shell by simply typing +``python -m click_odoo -d dbname`` or ``click-odoo -d dbname``. +This will launch the python REPL with an Odoo ``env`` available +as a global variable. +Supported Odoo versions +~~~~~~~~~~~~~~~~~~~~~~~ +Odoo version 11, 12, 13, 14, 15 and 16 are supported. +An important design goal is to provide a consistent behaviour +across Odoo versions. + ``click-odoo`` does not mandate any particular method of installing odoo. The only + prerequisiste is that ``import odoo`` must work when run from another directory than + the Odoo root directory. + You may also rely on the fact that python adds the current directory to + ``sys.path``, so ``import odoo`` works from the Odoo root directory. + In such case, the only working invocation method may be + ``python -m click_odoo``. +Database transactions +~~~~~~~~~~~~~~~~~~~~~ +By default ``click-odoo`` commits the transaction for you, unless your script +raises an exception. This is so that you don't need to put explicit commits +in your scripts, which are therefore easier to compose in larger transactions +(provided they pass around the same env). +There is a ``--rollback`` option to force a rollback. +A rollback is always performed after an interactive session. If you need to +commit changes made before or during an interactive session, use ``env.cr.commit()``. +Logging +~~~~~~~ +Logging is controlled by the usual Odoo logging options (``--log-level``, +``--logfile``) or the Odoo configuration file. +Note the ``--log-level`` option applies to the ``odoo`` package only. +Command line interface (click-odoo) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Usage: click-odoo [OPTIONS] [SCRIPT] [SCRIPT_ARGS]... + Execute a python script in an initialized Odoo environment. The script has + access to a 'env' global variable which is an odoo.api.Environment + initialized for the given database. If no script is provided, the script + is read from stdin or an interactive console is started if stdin appears + to be a terminal. + Options: + -c, --config FILE Specify the Odoo configuration file. Other + ways to provide it are with the ODOO_RC or + OPENERP_SERVER environment variables, or + ~/.odoorc (Odoo >= 10) or + ~/.openerp_serverrc. + --addons-path TEXT Specify the addons path. If present, this + parameter takes precedence over the addons + path provided in the Odoo configuration + file. + -d, --database TEXT Specify the database name. If present, this + parameter takes precedence over the database + provided in the Odoo configuration file. + --log-level TEXT Specify the logging level. Accepted values + depend on the Odoo version, and include + debug, info, warn, error. [default: info] + --logfile FILE Specify the log file. + --rollback Rollback the transaction even if the script + does not raise an exception. Note that if + the script itself commits, this option has + no effect. This is why it is not named dry + run. This option is implied when an + interactive console is started. + -i, --interactive / --no-interactive + Inspect interactively after running the + script. + --shell-interface TEXT Preferred shell interface for interactive + mode. Accepted values are ipython, ptpython, + bpython, python. If not provided they are + tried in this order. + --help Show this message and exit. +Most options above are the same as ``odoo`` options and behave identically. +Additional Odoo options can be set in the the configuration file. +Note however that most server-related options (workers, http interface etc) +are ignored because no server is actually started when running a script. +An important feature of ``click-odoo`` compared to, say, ``odoo shell`` is +the capability to pass arguments to scripts. +In order to avoid confusion between ``click-odoo`` options and your script +options and arguments, it is recommended to separate them with ``--``:: + click-odoo -d dbname -- list-users.py -d a b + ./list-users.py -d dbname -- -d a b +In both examples above, ``sys.argv[1:]`` will contain ``['-d', 'a', 'b']`` +in the script. +API +~~~ + +%package -n python3-click-odoo +Summary: Beautiful, robust CLI for Odoo +Provides: python-click-odoo +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-click-odoo +``click-odoo`` helps you create and run beautiful and robust command line scripts +for Odoo. It is based on the excellent Click_ library. +Useful community-managed scripts can be found in click-odoo-contrib_. +Quick start +~~~~~~~~~~~ +Check Odoo is correctly installed: ``python -c "import odoo"`` must +work when run from another directory than the Odoo root directory. +Install ``click-odoo``:: + pip install click-odoo +Assuming the following script named ``list-users.py``. + #!/usr/bin/env python + from __future__ import print_function + for u in env['res.users'].search([]): + print(u.login, u.name) +It can be run with:: + python -m click_odoo -d dbname --log-level=error ./list-users.py +or:: + click-odoo -d dbname --log-level=error ./list-users.py +or:: + ./list-users.py -d dbname --log-level=error +The other technique to create scripts looks like this. Assuming +the following script named ``list-users2.py``. + #!/usr/bin/env python + from __future__ import print_function + import click + import click_odoo + @click.command() + @click_odoo.env_options(default_log_level='error') + @click.option('--say-hello', is_flag=True) + def main(env, say_hello): + if say_hello: + click.echo("Hello!") + for u in env['res.users'].search([]): + print(u.login, u.name) + if __name__ == '__main__': + main() +It can be run like this:: + $ ./list-users2.py --help + Usage: list-users2.py [OPTIONS] + Options: + -c, --config PATH Specify the Odoo configuration file. Other ways to + provide it are with the ODOO_RC or OPENERP_SERVER + environment variables, or ~/.odoorc (Odoo >= 10) or + ~/.openerp_serverrc. + -d, --database TEXT Specify the database name. If present, this + parameter takes precedence over the database + provided in the Odoo configuration file. + --log-level TEXT Specify the logging level. Accepted values depend on + the Odoo version, and include debug, info, warn, + error, critical. [default: error] + --logfile PATH Specify the log file. + --rollback Rollback the transaction even if the script + does not raise an exception. Note that if + the script itself commits, this option has no + effect, this is why it is not named dry run. + This option is implied when an interactive + console is started. + --say-hello + --help Show this message and exit. + $ ./list-users2.py --say-hello -d dbname + Hello! + admin Administrator +Finally, you can start an interactive shell by simply typing +``python -m click_odoo -d dbname`` or ``click-odoo -d dbname``. +This will launch the python REPL with an Odoo ``env`` available +as a global variable. +Supported Odoo versions +~~~~~~~~~~~~~~~~~~~~~~~ +Odoo version 11, 12, 13, 14, 15 and 16 are supported. +An important design goal is to provide a consistent behaviour +across Odoo versions. + ``click-odoo`` does not mandate any particular method of installing odoo. The only + prerequisiste is that ``import odoo`` must work when run from another directory than + the Odoo root directory. + You may also rely on the fact that python adds the current directory to + ``sys.path``, so ``import odoo`` works from the Odoo root directory. + In such case, the only working invocation method may be + ``python -m click_odoo``. +Database transactions +~~~~~~~~~~~~~~~~~~~~~ +By default ``click-odoo`` commits the transaction for you, unless your script +raises an exception. This is so that you don't need to put explicit commits +in your scripts, which are therefore easier to compose in larger transactions +(provided they pass around the same env). +There is a ``--rollback`` option to force a rollback. +A rollback is always performed after an interactive session. If you need to +commit changes made before or during an interactive session, use ``env.cr.commit()``. +Logging +~~~~~~~ +Logging is controlled by the usual Odoo logging options (``--log-level``, +``--logfile``) or the Odoo configuration file. +Note the ``--log-level`` option applies to the ``odoo`` package only. +Command line interface (click-odoo) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Usage: click-odoo [OPTIONS] [SCRIPT] [SCRIPT_ARGS]... + Execute a python script in an initialized Odoo environment. The script has + access to a 'env' global variable which is an odoo.api.Environment + initialized for the given database. If no script is provided, the script + is read from stdin or an interactive console is started if stdin appears + to be a terminal. + Options: + -c, --config FILE Specify the Odoo configuration file. Other + ways to provide it are with the ODOO_RC or + OPENERP_SERVER environment variables, or + ~/.odoorc (Odoo >= 10) or + ~/.openerp_serverrc. + --addons-path TEXT Specify the addons path. If present, this + parameter takes precedence over the addons + path provided in the Odoo configuration + file. + -d, --database TEXT Specify the database name. If present, this + parameter takes precedence over the database + provided in the Odoo configuration file. + --log-level TEXT Specify the logging level. Accepted values + depend on the Odoo version, and include + debug, info, warn, error. [default: info] + --logfile FILE Specify the log file. + --rollback Rollback the transaction even if the script + does not raise an exception. Note that if + the script itself commits, this option has + no effect. This is why it is not named dry + run. This option is implied when an + interactive console is started. + -i, --interactive / --no-interactive + Inspect interactively after running the + script. + --shell-interface TEXT Preferred shell interface for interactive + mode. Accepted values are ipython, ptpython, + bpython, python. If not provided they are + tried in this order. + --help Show this message and exit. +Most options above are the same as ``odoo`` options and behave identically. +Additional Odoo options can be set in the the configuration file. +Note however that most server-related options (workers, http interface etc) +are ignored because no server is actually started when running a script. +An important feature of ``click-odoo`` compared to, say, ``odoo shell`` is +the capability to pass arguments to scripts. +In order to avoid confusion between ``click-odoo`` options and your script +options and arguments, it is recommended to separate them with ``--``:: + click-odoo -d dbname -- list-users.py -d a b + ./list-users.py -d dbname -- -d a b +In both examples above, ``sys.argv[1:]`` will contain ``['-d', 'a', 'b']`` +in the script. +API +~~~ + +%package help +Summary: Development documents and examples for click-odoo +Provides: python3-click-odoo-doc +%description help +``click-odoo`` helps you create and run beautiful and robust command line scripts +for Odoo. It is based on the excellent Click_ library. +Useful community-managed scripts can be found in click-odoo-contrib_. +Quick start +~~~~~~~~~~~ +Check Odoo is correctly installed: ``python -c "import odoo"`` must +work when run from another directory than the Odoo root directory. +Install ``click-odoo``:: + pip install click-odoo +Assuming the following script named ``list-users.py``. + #!/usr/bin/env python + from __future__ import print_function + for u in env['res.users'].search([]): + print(u.login, u.name) +It can be run with:: + python -m click_odoo -d dbname --log-level=error ./list-users.py +or:: + click-odoo -d dbname --log-level=error ./list-users.py +or:: + ./list-users.py -d dbname --log-level=error +The other technique to create scripts looks like this. Assuming +the following script named ``list-users2.py``. + #!/usr/bin/env python + from __future__ import print_function + import click + import click_odoo + @click.command() + @click_odoo.env_options(default_log_level='error') + @click.option('--say-hello', is_flag=True) + def main(env, say_hello): + if say_hello: + click.echo("Hello!") + for u in env['res.users'].search([]): + print(u.login, u.name) + if __name__ == '__main__': + main() +It can be run like this:: + $ ./list-users2.py --help + Usage: list-users2.py [OPTIONS] + Options: + -c, --config PATH Specify the Odoo configuration file. Other ways to + provide it are with the ODOO_RC or OPENERP_SERVER + environment variables, or ~/.odoorc (Odoo >= 10) or + ~/.openerp_serverrc. + -d, --database TEXT Specify the database name. If present, this + parameter takes precedence over the database + provided in the Odoo configuration file. + --log-level TEXT Specify the logging level. Accepted values depend on + the Odoo version, and include debug, info, warn, + error, critical. [default: error] + --logfile PATH Specify the log file. + --rollback Rollback the transaction even if the script + does not raise an exception. Note that if + the script itself commits, this option has no + effect, this is why it is not named dry run. + This option is implied when an interactive + console is started. + --say-hello + --help Show this message and exit. + $ ./list-users2.py --say-hello -d dbname + Hello! + admin Administrator +Finally, you can start an interactive shell by simply typing +``python -m click_odoo -d dbname`` or ``click-odoo -d dbname``. +This will launch the python REPL with an Odoo ``env`` available +as a global variable. +Supported Odoo versions +~~~~~~~~~~~~~~~~~~~~~~~ +Odoo version 11, 12, 13, 14, 15 and 16 are supported. +An important design goal is to provide a consistent behaviour +across Odoo versions. + ``click-odoo`` does not mandate any particular method of installing odoo. The only + prerequisiste is that ``import odoo`` must work when run from another directory than + the Odoo root directory. + You may also rely on the fact that python adds the current directory to + ``sys.path``, so ``import odoo`` works from the Odoo root directory. + In such case, the only working invocation method may be + ``python -m click_odoo``. +Database transactions +~~~~~~~~~~~~~~~~~~~~~ +By default ``click-odoo`` commits the transaction for you, unless your script +raises an exception. This is so that you don't need to put explicit commits +in your scripts, which are therefore easier to compose in larger transactions +(provided they pass around the same env). +There is a ``--rollback`` option to force a rollback. +A rollback is always performed after an interactive session. If you need to +commit changes made before or during an interactive session, use ``env.cr.commit()``. +Logging +~~~~~~~ +Logging is controlled by the usual Odoo logging options (``--log-level``, +``--logfile``) or the Odoo configuration file. +Note the ``--log-level`` option applies to the ``odoo`` package only. +Command line interface (click-odoo) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Usage: click-odoo [OPTIONS] [SCRIPT] [SCRIPT_ARGS]... + Execute a python script in an initialized Odoo environment. The script has + access to a 'env' global variable which is an odoo.api.Environment + initialized for the given database. If no script is provided, the script + is read from stdin or an interactive console is started if stdin appears + to be a terminal. + Options: + -c, --config FILE Specify the Odoo configuration file. Other + ways to provide it are with the ODOO_RC or + OPENERP_SERVER environment variables, or + ~/.odoorc (Odoo >= 10) or + ~/.openerp_serverrc. + --addons-path TEXT Specify the addons path. If present, this + parameter takes precedence over the addons + path provided in the Odoo configuration + file. + -d, --database TEXT Specify the database name. If present, this + parameter takes precedence over the database + provided in the Odoo configuration file. + --log-level TEXT Specify the logging level. Accepted values + depend on the Odoo version, and include + debug, info, warn, error. [default: info] + --logfile FILE Specify the log file. + --rollback Rollback the transaction even if the script + does not raise an exception. Note that if + the script itself commits, this option has + no effect. This is why it is not named dry + run. This option is implied when an + interactive console is started. + -i, --interactive / --no-interactive + Inspect interactively after running the + script. + --shell-interface TEXT Preferred shell interface for interactive + mode. Accepted values are ipython, ptpython, + bpython, python. If not provided they are + tried in this order. + --help Show this message and exit. +Most options above are the same as ``odoo`` options and behave identically. +Additional Odoo options can be set in the the configuration file. +Note however that most server-related options (workers, http interface etc) +are ignored because no server is actually started when running a script. +An important feature of ``click-odoo`` compared to, say, ``odoo shell`` is +the capability to pass arguments to scripts. +In order to avoid confusion between ``click-odoo`` options and your script +options and arguments, it is recommended to separate them with ``--``:: + click-odoo -d dbname -- list-users.py -d a b + ./list-users.py -d dbname -- -d a b +In both examples above, ``sys.argv[1:]`` will contain ``['-d', 'a', 'b']`` +in the script. +API +~~~ + +%prep +%autosetup -n click-odoo-1.6.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-click-odoo -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6.0-1 +- Package Spec generated @@ -0,0 +1 @@ +4632bc65b4de4268ba4025337b97183a click-odoo-1.6.0.tar.gz |