summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 08:20:59 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 08:20:59 +0000
commit41b1d72c11b46ec836dd6815efc4f582c2075044 (patch)
tree2fa058f4eceae3b70a3d2c4b4e800b6930fa7ea5
parent14cc0759f8e421d230acb3624b99cdfd22e17136 (diff)
automatic import of python-flask-crontab
-rw-r--r--.gitignore1
-rw-r--r--python-flask-crontab.spec382
-rw-r--r--sources1
3 files changed, 384 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..e25484d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/flask-crontab-0.1.2.tar.gz
diff --git a/python-flask-crontab.spec b/python-flask-crontab.spec
new file mode 100644
index 0000000..e4f4a62
--- /dev/null
+++ b/python-flask-crontab.spec
@@ -0,0 +1,382 @@
+%global _empty_manifest_terminate_build 0
+Name: python-flask-crontab
+Version: 0.1.2
+Release: 1
+Summary: Simple Flask scheduled tasks without extra daemons
+License: MIT
+URL: https://github.com/frostming/flask-crontab
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a3/8d/bb417566d4890769fc5c1dd6d7ffd2e2d6cfa65b9005060661714e76ccc1/flask-crontab-0.1.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-flask
+
+%description
+# flask-crontab
+
+> Simple Flask scheduled tasks without extra daemons
+
+[![PyPI](https://img.shields.io/pypi/v/flask-crontab)](https://pypi.org/project/flask-crontab) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flask-crontab)](https://pypi.org/project/flask-crontab) [![Github Action](https://github.com/frostming/flask-crontab/workflows/Continuous%20Integration/badge.svg)](https://github.com/frostming/flask-crontab/actions?query=workflow%3A%22Continuous+Integration%22) ![Supported Platforms](https://img.shields.io/badge/platform-Linux%20%7C%20macOS-lightgrey)
+
+This project is strongly inspired by [django-crontab](https://github.com/kraiz/django-crontab), and only works on Python 3.5+.
+Due to the coming EOL of Python 2 on 2020/01/01, there is no plan for Python 2 support.
+
+## Quick Start
+
+Install via `pip`:
+
+```bash
+$ pip install flask-crontab
+```
+
+Instantiate the extension in your `app.py` after the creation of Flask app:
+
+```python
+from flask import Flask
+from flask_crontab import Crontab
+
+app = Flask(__name__)
+crontab = Crontab(app)
+```
+
+If you are using App Factory pattern, you can also register the extension later:
+
+```python
+crontab = Crontab()
+
+def create_app():
+ ...
+ crontab.init_app(app)
+```
+
+Now create a scheduled job:
+
+```python
+@crontab.job(minute="0", hour="6")
+def my_scheduled_job():
+ do_something()
+```
+
+An app context is automatically activated for every job run, so that you can access objects that are attached to app context.
+Then add the job to crontab:
+
+```bash
+$ flask crontab add
+```
+
+That's it! If you type in `crontab -l` in your shell, you can see some new lines created by `flask-crontab`.
+
+Show jobs managed by current app:
+
+```bash
+$ flask crontab show
+```
+
+Purge all jobs managed by current app:
+
+```bash
+$ flask crontab remove
+```
+
+Run a specific job given by hash:
+
+```bash
+$ flask crontab run <job_hash>
+```
+
+See supported options via `--help` for every commands.
+
+## Decorator API
+
+```python
+def job(
+ minute: str = "*",
+ hour: str = "*",
+ day: str = "*",
+ month: str = "*",
+ day_of_week: str = "*",
+ args: Tuple[Any, ...] = (),
+ kwargs: Optional[Dict[str, Any]] = None,
+) -> Callable:
+```
+
+The decorator accepts five arguments `minute`, `hour`, `day`, `month`, `day_of_month`, which are the same as crontab 5-parts time format. Any part that is not given defaults to `*`.
+Besides, `job` decorator accepts `args` and `kwargs` which will be passed to the decorated function as positional arguments and keywords arguments, respectively.
+
+## Configuration
+
+| Config item | Description | Default value |
+| ------------------ | ------------------------------ | ------------------ |
+| CRONTAB_EXECUTABLE | The absolute path of `crontab` | `/usr/bin/crontab` |
+| CRONTAB_LOCK_JOBS | Whether lock jobs when running | `False` |
+
+## License
+
+This project is publised under [MIT](LICENSE) license.
+
+
+
+
+%package -n python3-flask-crontab
+Summary: Simple Flask scheduled tasks without extra daemons
+Provides: python-flask-crontab
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-flask-crontab
+# flask-crontab
+
+> Simple Flask scheduled tasks without extra daemons
+
+[![PyPI](https://img.shields.io/pypi/v/flask-crontab)](https://pypi.org/project/flask-crontab) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flask-crontab)](https://pypi.org/project/flask-crontab) [![Github Action](https://github.com/frostming/flask-crontab/workflows/Continuous%20Integration/badge.svg)](https://github.com/frostming/flask-crontab/actions?query=workflow%3A%22Continuous+Integration%22) ![Supported Platforms](https://img.shields.io/badge/platform-Linux%20%7C%20macOS-lightgrey)
+
+This project is strongly inspired by [django-crontab](https://github.com/kraiz/django-crontab), and only works on Python 3.5+.
+Due to the coming EOL of Python 2 on 2020/01/01, there is no plan for Python 2 support.
+
+## Quick Start
+
+Install via `pip`:
+
+```bash
+$ pip install flask-crontab
+```
+
+Instantiate the extension in your `app.py` after the creation of Flask app:
+
+```python
+from flask import Flask
+from flask_crontab import Crontab
+
+app = Flask(__name__)
+crontab = Crontab(app)
+```
+
+If you are using App Factory pattern, you can also register the extension later:
+
+```python
+crontab = Crontab()
+
+def create_app():
+ ...
+ crontab.init_app(app)
+```
+
+Now create a scheduled job:
+
+```python
+@crontab.job(minute="0", hour="6")
+def my_scheduled_job():
+ do_something()
+```
+
+An app context is automatically activated for every job run, so that you can access objects that are attached to app context.
+Then add the job to crontab:
+
+```bash
+$ flask crontab add
+```
+
+That's it! If you type in `crontab -l` in your shell, you can see some new lines created by `flask-crontab`.
+
+Show jobs managed by current app:
+
+```bash
+$ flask crontab show
+```
+
+Purge all jobs managed by current app:
+
+```bash
+$ flask crontab remove
+```
+
+Run a specific job given by hash:
+
+```bash
+$ flask crontab run <job_hash>
+```
+
+See supported options via `--help` for every commands.
+
+## Decorator API
+
+```python
+def job(
+ minute: str = "*",
+ hour: str = "*",
+ day: str = "*",
+ month: str = "*",
+ day_of_week: str = "*",
+ args: Tuple[Any, ...] = (),
+ kwargs: Optional[Dict[str, Any]] = None,
+) -> Callable:
+```
+
+The decorator accepts five arguments `minute`, `hour`, `day`, `month`, `day_of_month`, which are the same as crontab 5-parts time format. Any part that is not given defaults to `*`.
+Besides, `job` decorator accepts `args` and `kwargs` which will be passed to the decorated function as positional arguments and keywords arguments, respectively.
+
+## Configuration
+
+| Config item | Description | Default value |
+| ------------------ | ------------------------------ | ------------------ |
+| CRONTAB_EXECUTABLE | The absolute path of `crontab` | `/usr/bin/crontab` |
+| CRONTAB_LOCK_JOBS | Whether lock jobs when running | `False` |
+
+## License
+
+This project is publised under [MIT](LICENSE) license.
+
+
+
+
+%package help
+Summary: Development documents and examples for flask-crontab
+Provides: python3-flask-crontab-doc
+%description help
+# flask-crontab
+
+> Simple Flask scheduled tasks without extra daemons
+
+[![PyPI](https://img.shields.io/pypi/v/flask-crontab)](https://pypi.org/project/flask-crontab) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flask-crontab)](https://pypi.org/project/flask-crontab) [![Github Action](https://github.com/frostming/flask-crontab/workflows/Continuous%20Integration/badge.svg)](https://github.com/frostming/flask-crontab/actions?query=workflow%3A%22Continuous+Integration%22) ![Supported Platforms](https://img.shields.io/badge/platform-Linux%20%7C%20macOS-lightgrey)
+
+This project is strongly inspired by [django-crontab](https://github.com/kraiz/django-crontab), and only works on Python 3.5+.
+Due to the coming EOL of Python 2 on 2020/01/01, there is no plan for Python 2 support.
+
+## Quick Start
+
+Install via `pip`:
+
+```bash
+$ pip install flask-crontab
+```
+
+Instantiate the extension in your `app.py` after the creation of Flask app:
+
+```python
+from flask import Flask
+from flask_crontab import Crontab
+
+app = Flask(__name__)
+crontab = Crontab(app)
+```
+
+If you are using App Factory pattern, you can also register the extension later:
+
+```python
+crontab = Crontab()
+
+def create_app():
+ ...
+ crontab.init_app(app)
+```
+
+Now create a scheduled job:
+
+```python
+@crontab.job(minute="0", hour="6")
+def my_scheduled_job():
+ do_something()
+```
+
+An app context is automatically activated for every job run, so that you can access objects that are attached to app context.
+Then add the job to crontab:
+
+```bash
+$ flask crontab add
+```
+
+That's it! If you type in `crontab -l` in your shell, you can see some new lines created by `flask-crontab`.
+
+Show jobs managed by current app:
+
+```bash
+$ flask crontab show
+```
+
+Purge all jobs managed by current app:
+
+```bash
+$ flask crontab remove
+```
+
+Run a specific job given by hash:
+
+```bash
+$ flask crontab run <job_hash>
+```
+
+See supported options via `--help` for every commands.
+
+## Decorator API
+
+```python
+def job(
+ minute: str = "*",
+ hour: str = "*",
+ day: str = "*",
+ month: str = "*",
+ day_of_week: str = "*",
+ args: Tuple[Any, ...] = (),
+ kwargs: Optional[Dict[str, Any]] = None,
+) -> Callable:
+```
+
+The decorator accepts five arguments `minute`, `hour`, `day`, `month`, `day_of_month`, which are the same as crontab 5-parts time format. Any part that is not given defaults to `*`.
+Besides, `job` decorator accepts `args` and `kwargs` which will be passed to the decorated function as positional arguments and keywords arguments, respectively.
+
+## Configuration
+
+| Config item | Description | Default value |
+| ------------------ | ------------------------------ | ------------------ |
+| CRONTAB_EXECUTABLE | The absolute path of `crontab` | `/usr/bin/crontab` |
+| CRONTAB_LOCK_JOBS | Whether lock jobs when running | `False` |
+
+## License
+
+This project is publised under [MIT](LICENSE) license.
+
+
+
+
+%prep
+%autosetup -n flask-crontab-0.1.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-flask-crontab -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..0e97f99
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+bf106443c3908edd1aa9cd132a4b3052 flask-crontab-0.1.2.tar.gz