diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 04:33:26 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 04:33:26 +0000 |
commit | cb4db2a078ffb4ea359fc41a20196fb91de3f35b (patch) | |
tree | c0a8c214c06e54da8bb85cb3eb77f45d122c34e8 | |
parent | 2d57f00c89c0b25030bf89179db5aab09f758015 (diff) |
automatic import of python-cron-schedule-triggers
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cron-schedule-triggers.spec | 325 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 327 insertions, 0 deletions
@@ -0,0 +1 @@ +/cron-schedule-triggers-0.0.11.tar.gz diff --git a/python-cron-schedule-triggers.spec b/python-cron-schedule-triggers.spec new file mode 100644 index 0000000..bba4664 --- /dev/null +++ b/python-cron-schedule-triggers.spec @@ -0,0 +1,325 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cron-schedule-triggers +Version: 0.0.11 +Release: 1 +Summary: Cron Schedule Triggers ~ A library for determining Quartz Cron schedule trigger dates. +License: MIT +URL: https://gitlab.com/dameon.andersen/cstriggers +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/8b/18/a17e97d1155166f61ac88861302a069bb05e240ca64a3b351391f98129a2/cron-schedule-triggers-0.0.11.tar.gz +BuildArch: noarch + +Requires: python3-pytz + +%description +# CronScheduleTriggers: Quartz Syntax based Cron Trigger library. + +[](https://gitlab.com/dameon.andersen/cstriggers/commits/master) [](https://gitlab.com/dameon.andersen/cstriggers/commits/master) + + Cron Schedule Triggers (CSTriggers) is a Python library enabling the ability to determine the next execution of a live schedule. Its syntax is that of [Quartz Job Scheduler](http://www.quartz-scheduler.org). This library is not a scheduling app or a task queue, there are plenty of those in the wild to choose from. When you need advanced customisation of triggers for tasks, and a common and conventional syntax for schedule notation, CSTriggers comes to your aid. + +## This library is for those who + + - Want the ability to generate future task data for visualization purposes. + - Want to combine their own choice of solutions to build a customizable integrated task queuing/scheduling system at any scale. + - Do not want to run java, but want to take advantage of the rich _Quartz Cron_ syntax + - Do not want to drag in many dependencies into their project (Uses standard Python3 libraries only). + + +## Example usage + +Initialize a schedule object with a cron notation string, a start date, and an optional end date. Call `.next_trigger()` for a new date. Notice that when an end_date is given, The schedule terminates at `2022-10-13T00:00:00` and not `2030-03-01T00:00:00` as it would naturally. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_trigger(isoformat=True)) +``` +``` +>> 2020-01-01T00:00:00 +``` + +For multiple sequential dates call either `.next_trigger()` multiple times. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_trigger(isoformat=True)) +print(cron_obj.next_trigger(isoformat=True)) + +``` + +``` +>> 2020-01-01T00:00:00 +>> 2020-02-01T00:00:00 +``` + +Or call `.next_triggers()` with the number of triggers needed. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_triggers(number_of_triggers=10, isoformat=True)) +``` + +``` +>> [ + '2020-01-01T00:00:00', + '2020-02-01T00:00:00', + '2020-03-01T00:00:00', + '2021-01-01T00:00:00', + '2021-02-01T00:00:00', + '2021-03-01T00:00:00', + '2022-01-01T00:00:00', + '2022-02-01T00:00:00', + '2022-03-01T00:00:00', + '2023-01-01T00:00:00' +] +``` + +## Roadmap +- Support for last_trigger(s) to retroactively look at schedule dates. +- Support for AWS Cron Expression syntax. + + + +%package -n python3-cron-schedule-triggers +Summary: Cron Schedule Triggers ~ A library for determining Quartz Cron schedule trigger dates. +Provides: python-cron-schedule-triggers +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cron-schedule-triggers +# CronScheduleTriggers: Quartz Syntax based Cron Trigger library. + +[](https://gitlab.com/dameon.andersen/cstriggers/commits/master) [](https://gitlab.com/dameon.andersen/cstriggers/commits/master) + + Cron Schedule Triggers (CSTriggers) is a Python library enabling the ability to determine the next execution of a live schedule. Its syntax is that of [Quartz Job Scheduler](http://www.quartz-scheduler.org). This library is not a scheduling app or a task queue, there are plenty of those in the wild to choose from. When you need advanced customisation of triggers for tasks, and a common and conventional syntax for schedule notation, CSTriggers comes to your aid. + +## This library is for those who + + - Want the ability to generate future task data for visualization purposes. + - Want to combine their own choice of solutions to build a customizable integrated task queuing/scheduling system at any scale. + - Do not want to run java, but want to take advantage of the rich _Quartz Cron_ syntax + - Do not want to drag in many dependencies into their project (Uses standard Python3 libraries only). + + +## Example usage + +Initialize a schedule object with a cron notation string, a start date, and an optional end date. Call `.next_trigger()` for a new date. Notice that when an end_date is given, The schedule terminates at `2022-10-13T00:00:00` and not `2030-03-01T00:00:00` as it would naturally. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_trigger(isoformat=True)) +``` +``` +>> 2020-01-01T00:00:00 +``` + +For multiple sequential dates call either `.next_trigger()` multiple times. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_trigger(isoformat=True)) +print(cron_obj.next_trigger(isoformat=True)) + +``` + +``` +>> 2020-01-01T00:00:00 +>> 2020-02-01T00:00:00 +``` + +Or call `.next_triggers()` with the number of triggers needed. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_triggers(number_of_triggers=10, isoformat=True)) +``` + +``` +>> [ + '2020-01-01T00:00:00', + '2020-02-01T00:00:00', + '2020-03-01T00:00:00', + '2021-01-01T00:00:00', + '2021-02-01T00:00:00', + '2021-03-01T00:00:00', + '2022-01-01T00:00:00', + '2022-02-01T00:00:00', + '2022-03-01T00:00:00', + '2023-01-01T00:00:00' +] +``` + +## Roadmap +- Support for last_trigger(s) to retroactively look at schedule dates. +- Support for AWS Cron Expression syntax. + + + +%package help +Summary: Development documents and examples for cron-schedule-triggers +Provides: python3-cron-schedule-triggers-doc +%description help +# CronScheduleTriggers: Quartz Syntax based Cron Trigger library. + +[](https://gitlab.com/dameon.andersen/cstriggers/commits/master) [](https://gitlab.com/dameon.andersen/cstriggers/commits/master) + + Cron Schedule Triggers (CSTriggers) is a Python library enabling the ability to determine the next execution of a live schedule. Its syntax is that of [Quartz Job Scheduler](http://www.quartz-scheduler.org). This library is not a scheduling app or a task queue, there are plenty of those in the wild to choose from. When you need advanced customisation of triggers for tasks, and a common and conventional syntax for schedule notation, CSTriggers comes to your aid. + +## This library is for those who + + - Want the ability to generate future task data for visualization purposes. + - Want to combine their own choice of solutions to build a customizable integrated task queuing/scheduling system at any scale. + - Do not want to run java, but want to take advantage of the rich _Quartz Cron_ syntax + - Do not want to drag in many dependencies into their project (Uses standard Python3 libraries only). + + +## Example usage + +Initialize a schedule object with a cron notation string, a start date, and an optional end date. Call `.next_trigger()` for a new date. Notice that when an end_date is given, The schedule terminates at `2022-10-13T00:00:00` and not `2030-03-01T00:00:00` as it would naturally. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_trigger(isoformat=True)) +``` +``` +>> 2020-01-01T00:00:00 +``` + +For multiple sequential dates call either `.next_trigger()` multiple times. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_trigger(isoformat=True)) +print(cron_obj.next_trigger(isoformat=True)) + +``` + +``` +>> 2020-01-01T00:00:00 +>> 2020-02-01T00:00:00 +``` + +Or call `.next_triggers()` with the number of triggers needed. + +```python +from cstriggers.core.trigger import QuartzCron + +schedule_string = "0 0 0 1 JAN-MAR ? 2010-2030" +start_date = "2019-10-13T00:00:00" +end_date = "2022-10-13T00:00:00" +cron_obj = QuartzCron(schedule_string=schedule_string, start_date=start_date, end_date=end_date) + +print(cron_obj.next_triggers(number_of_triggers=10, isoformat=True)) +``` + +``` +>> [ + '2020-01-01T00:00:00', + '2020-02-01T00:00:00', + '2020-03-01T00:00:00', + '2021-01-01T00:00:00', + '2021-02-01T00:00:00', + '2021-03-01T00:00:00', + '2022-01-01T00:00:00', + '2022-02-01T00:00:00', + '2022-03-01T00:00:00', + '2023-01-01T00:00:00' +] +``` + +## Roadmap +- Support for last_trigger(s) to retroactively look at schedule dates. +- Support for AWS Cron Expression syntax. + + + +%prep +%autosetup -n cron-schedule-triggers-0.0.11 + +%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-cron-schedule-triggers -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.11-1 +- Package Spec generated @@ -0,0 +1 @@ +db73c8773c04f0edb1fd4ce340637b8e cron-schedule-triggers-0.0.11.tar.gz |