summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-crython.spec429
-rw-r--r--sources1
3 files changed, 431 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1060365 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/crython-0.2.0.tar.gz
diff --git a/python-crython.spec b/python-crython.spec
new file mode 100644
index 0000000..6a3f624
--- /dev/null
+++ b/python-crython.spec
@@ -0,0 +1,429 @@
+%global _empty_manifest_terminate_build 0
+Name: python-crython
+Version: 0.2.0
+Release: 1
+Summary: Lightweight task scheduler using cron expressions.
+License: MIT
+URL: https://github.com/ahawker/crython
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6d/d3/ca918cb4b77e219784a23cdf81a88ed2265964a30e6d89023153665bdb0f/crython-0.2.0.tar.gz
+BuildArch: noarch
+
+
+%description
+|Join the chat at https://gitter.im/crython/Lobby|
+|Build Status| |Build status| |codecov| |Code Climate| |Issue Count|
+|PyPI version| |PyPI versions|
+|Stories in Ready|
+crython is a lightweight task (function) scheduler using
+`cron <http://en.wikipedia.org/wiki/Cron>`__ expressions written in
+python.
+Status
+~~~~~~
+This module is actively maintained.
+Installation
+~~~~~~~~~~~~
+To install crython from `pip <https://pypi.python.org/pypi/pip>`__:
+ $ pip install crython
+To install crython from source:
+ $ git clone git@github.com:ahawker/crython.git
+ $ python setup.py install
+Usage
+~~~~~
+Crython supports seven fields (seconds, minutes, hours, day of month,
+month, weekday, year).
+Call a function once a minute:
+ import crython
+ # Fire once a minute.
+ @crython.job(second=0)
+ def foo():
+ print "... while heavy sack beatings are up a shocking nine hundred percent? - Kent Brockman"
+Call a function every ten seconds:
+ # Fire every 10 seconds.
+ @crython.job(second=range(0, 60, 10))
+ def foo():
+ print "I'm a big four-eyed lame-o and I wear the same stupid sweater every day. - Homer's Brain"
+Call a function with a single cron expression:
+ # Fire every 10 seconds.
+ @crython.job(second='*/10')
+ def foo():
+ print "Hail to the thee Kamp Krusty... - Kampers"
+Call a function with a full cron expression:
+ # Fire once a week.
+ @crython.job(expr='0 0 0 * * 0 *')
+ def foo():
+ print "Back in line, maggot! - Kearny"
+Call a function with positional and/or keyword arguments:
+ # Fire every second.
+ @job('safety gloves', second='*', name='Homer Simpson')
+ def foo(item, name):
+ print "Well, I don't need {0}, because I'm {1}. -- Grimey".format(item, name)
+Call a function using `predefined
+keywords <https://github.com/ahawker/crython#keywords>`__:
+ # Fire once a day.
+ @crython.job(expr='@daily')
+ def foo():
+ print "That's where I saw the leprechaun. He tells me to burn things! - Ralph Wiggum"
+ # Fire once immediately after scheduler starts.
+ @crython.job(expr='@reboot')
+ def foo():
+ print "I call the big one bitey. - Homer Simpson"
+Call a function and run it within a separate thread (default behaviour
+if ``ctx`` is not specified):
+ # Fire once a week.
+ @crython.job(expr='@weekly', ctx='thread')
+ def foo():
+ print "No, no, dig up stupid. - Chief Wiggum"
+Call a function and run it within a separate process:
+ # Fire every hour.
+ @crython.job(expr='@hourly', ctx='multiprocess')
+ def foo():
+ print "Eat my shorts. - Bart Simpson"
+Start the global job scheduler:
+ if __name__ == '__main__':
+ crython.start()
+Keywords
+~~~~~~~~
++-----------------------+-----------------------+-----------------------+
+| Entry | Description | Equivalent To |
++=======================+=======================+=======================+
+| @yearly/@annually | Run once a year at | 0 0 0 0 1 1 \* |
+| | midnight in the | |
+| | morning of January 1 | |
++-----------------------+-----------------------+-----------------------+
+| @monthly | Run once a month at | 0 0 0 0 1 \* \* |
+| | midnight in the | |
+| | morning of the first | |
+| | of the month | |
++-----------------------+-----------------------+-----------------------+
+| @weekly | Run once a week at | 0 0 0 0 \* 0 \* |
+| | midnight in the | |
+| | morning of Sunday | |
++-----------------------+-----------------------+-----------------------+
+| @daily | Run once a day at | 0 0 0 \* \* \* \* |
+| | midnight | |
++-----------------------+-----------------------+-----------------------+
+| @hourly | Run once an hour at | 0 0 \* \* \* \* \* |
+| | the beginning of the | |
+| | hour | |
++-----------------------+-----------------------+-----------------------+
+| @minutely | Run once a minute at | 0 \* \* \* \* \* \* |
+| | the beginning of the | |
+| | minute | |
++-----------------------+-----------------------+-----------------------+
+| @reboot | Run once at startup | @reboot |
++-----------------------+-----------------------+-----------------------+
+TODO
+~~~~
+- Support “L”, “W” and “#” specials.
+- Determine time delta from now -> next time expression is valid.
+Contributing
+~~~~~~~~~~~~
+If you would like to contribute, simply fork the repository, push your
+changes and send a pull request.
+License
+~~~~~~~
+Crython is available under the `MIT
+license <https://github.com/ahawker/crython/blob/master/LICENSE.md>`__.
+See Other
+~~~~~~~~~
+There are similar python cron libraries out there. See:
+`pycron <http://www.kalab.com/freeware/pycron/pycron.htm>`__,
+`python-crontab <http://pypi.python.org/pypi/python-crontab/>`__,
+`cronex <https://github.com/jameseric/cronex>`__.
+
+%package -n python3-crython
+Summary: Lightweight task scheduler using cron expressions.
+Provides: python-crython
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-crython
+|Join the chat at https://gitter.im/crython/Lobby|
+|Build Status| |Build status| |codecov| |Code Climate| |Issue Count|
+|PyPI version| |PyPI versions|
+|Stories in Ready|
+crython is a lightweight task (function) scheduler using
+`cron <http://en.wikipedia.org/wiki/Cron>`__ expressions written in
+python.
+Status
+~~~~~~
+This module is actively maintained.
+Installation
+~~~~~~~~~~~~
+To install crython from `pip <https://pypi.python.org/pypi/pip>`__:
+ $ pip install crython
+To install crython from source:
+ $ git clone git@github.com:ahawker/crython.git
+ $ python setup.py install
+Usage
+~~~~~
+Crython supports seven fields (seconds, minutes, hours, day of month,
+month, weekday, year).
+Call a function once a minute:
+ import crython
+ # Fire once a minute.
+ @crython.job(second=0)
+ def foo():
+ print "... while heavy sack beatings are up a shocking nine hundred percent? - Kent Brockman"
+Call a function every ten seconds:
+ # Fire every 10 seconds.
+ @crython.job(second=range(0, 60, 10))
+ def foo():
+ print "I'm a big four-eyed lame-o and I wear the same stupid sweater every day. - Homer's Brain"
+Call a function with a single cron expression:
+ # Fire every 10 seconds.
+ @crython.job(second='*/10')
+ def foo():
+ print "Hail to the thee Kamp Krusty... - Kampers"
+Call a function with a full cron expression:
+ # Fire once a week.
+ @crython.job(expr='0 0 0 * * 0 *')
+ def foo():
+ print "Back in line, maggot! - Kearny"
+Call a function with positional and/or keyword arguments:
+ # Fire every second.
+ @job('safety gloves', second='*', name='Homer Simpson')
+ def foo(item, name):
+ print "Well, I don't need {0}, because I'm {1}. -- Grimey".format(item, name)
+Call a function using `predefined
+keywords <https://github.com/ahawker/crython#keywords>`__:
+ # Fire once a day.
+ @crython.job(expr='@daily')
+ def foo():
+ print "That's where I saw the leprechaun. He tells me to burn things! - Ralph Wiggum"
+ # Fire once immediately after scheduler starts.
+ @crython.job(expr='@reboot')
+ def foo():
+ print "I call the big one bitey. - Homer Simpson"
+Call a function and run it within a separate thread (default behaviour
+if ``ctx`` is not specified):
+ # Fire once a week.
+ @crython.job(expr='@weekly', ctx='thread')
+ def foo():
+ print "No, no, dig up stupid. - Chief Wiggum"
+Call a function and run it within a separate process:
+ # Fire every hour.
+ @crython.job(expr='@hourly', ctx='multiprocess')
+ def foo():
+ print "Eat my shorts. - Bart Simpson"
+Start the global job scheduler:
+ if __name__ == '__main__':
+ crython.start()
+Keywords
+~~~~~~~~
++-----------------------+-----------------------+-----------------------+
+| Entry | Description | Equivalent To |
++=======================+=======================+=======================+
+| @yearly/@annually | Run once a year at | 0 0 0 0 1 1 \* |
+| | midnight in the | |
+| | morning of January 1 | |
++-----------------------+-----------------------+-----------------------+
+| @monthly | Run once a month at | 0 0 0 0 1 \* \* |
+| | midnight in the | |
+| | morning of the first | |
+| | of the month | |
++-----------------------+-----------------------+-----------------------+
+| @weekly | Run once a week at | 0 0 0 0 \* 0 \* |
+| | midnight in the | |
+| | morning of Sunday | |
++-----------------------+-----------------------+-----------------------+
+| @daily | Run once a day at | 0 0 0 \* \* \* \* |
+| | midnight | |
++-----------------------+-----------------------+-----------------------+
+| @hourly | Run once an hour at | 0 0 \* \* \* \* \* |
+| | the beginning of the | |
+| | hour | |
++-----------------------+-----------------------+-----------------------+
+| @minutely | Run once a minute at | 0 \* \* \* \* \* \* |
+| | the beginning of the | |
+| | minute | |
++-----------------------+-----------------------+-----------------------+
+| @reboot | Run once at startup | @reboot |
++-----------------------+-----------------------+-----------------------+
+TODO
+~~~~
+- Support “L”, “W” and “#” specials.
+- Determine time delta from now -> next time expression is valid.
+Contributing
+~~~~~~~~~~~~
+If you would like to contribute, simply fork the repository, push your
+changes and send a pull request.
+License
+~~~~~~~
+Crython is available under the `MIT
+license <https://github.com/ahawker/crython/blob/master/LICENSE.md>`__.
+See Other
+~~~~~~~~~
+There are similar python cron libraries out there. See:
+`pycron <http://www.kalab.com/freeware/pycron/pycron.htm>`__,
+`python-crontab <http://pypi.python.org/pypi/python-crontab/>`__,
+`cronex <https://github.com/jameseric/cronex>`__.
+
+%package help
+Summary: Development documents and examples for crython
+Provides: python3-crython-doc
+%description help
+|Join the chat at https://gitter.im/crython/Lobby|
+|Build Status| |Build status| |codecov| |Code Climate| |Issue Count|
+|PyPI version| |PyPI versions|
+|Stories in Ready|
+crython is a lightweight task (function) scheduler using
+`cron <http://en.wikipedia.org/wiki/Cron>`__ expressions written in
+python.
+Status
+~~~~~~
+This module is actively maintained.
+Installation
+~~~~~~~~~~~~
+To install crython from `pip <https://pypi.python.org/pypi/pip>`__:
+ $ pip install crython
+To install crython from source:
+ $ git clone git@github.com:ahawker/crython.git
+ $ python setup.py install
+Usage
+~~~~~
+Crython supports seven fields (seconds, minutes, hours, day of month,
+month, weekday, year).
+Call a function once a minute:
+ import crython
+ # Fire once a minute.
+ @crython.job(second=0)
+ def foo():
+ print "... while heavy sack beatings are up a shocking nine hundred percent? - Kent Brockman"
+Call a function every ten seconds:
+ # Fire every 10 seconds.
+ @crython.job(second=range(0, 60, 10))
+ def foo():
+ print "I'm a big four-eyed lame-o and I wear the same stupid sweater every day. - Homer's Brain"
+Call a function with a single cron expression:
+ # Fire every 10 seconds.
+ @crython.job(second='*/10')
+ def foo():
+ print "Hail to the thee Kamp Krusty... - Kampers"
+Call a function with a full cron expression:
+ # Fire once a week.
+ @crython.job(expr='0 0 0 * * 0 *')
+ def foo():
+ print "Back in line, maggot! - Kearny"
+Call a function with positional and/or keyword arguments:
+ # Fire every second.
+ @job('safety gloves', second='*', name='Homer Simpson')
+ def foo(item, name):
+ print "Well, I don't need {0}, because I'm {1}. -- Grimey".format(item, name)
+Call a function using `predefined
+keywords <https://github.com/ahawker/crython#keywords>`__:
+ # Fire once a day.
+ @crython.job(expr='@daily')
+ def foo():
+ print "That's where I saw the leprechaun. He tells me to burn things! - Ralph Wiggum"
+ # Fire once immediately after scheduler starts.
+ @crython.job(expr='@reboot')
+ def foo():
+ print "I call the big one bitey. - Homer Simpson"
+Call a function and run it within a separate thread (default behaviour
+if ``ctx`` is not specified):
+ # Fire once a week.
+ @crython.job(expr='@weekly', ctx='thread')
+ def foo():
+ print "No, no, dig up stupid. - Chief Wiggum"
+Call a function and run it within a separate process:
+ # Fire every hour.
+ @crython.job(expr='@hourly', ctx='multiprocess')
+ def foo():
+ print "Eat my shorts. - Bart Simpson"
+Start the global job scheduler:
+ if __name__ == '__main__':
+ crython.start()
+Keywords
+~~~~~~~~
++-----------------------+-----------------------+-----------------------+
+| Entry | Description | Equivalent To |
++=======================+=======================+=======================+
+| @yearly/@annually | Run once a year at | 0 0 0 0 1 1 \* |
+| | midnight in the | |
+| | morning of January 1 | |
++-----------------------+-----------------------+-----------------------+
+| @monthly | Run once a month at | 0 0 0 0 1 \* \* |
+| | midnight in the | |
+| | morning of the first | |
+| | of the month | |
++-----------------------+-----------------------+-----------------------+
+| @weekly | Run once a week at | 0 0 0 0 \* 0 \* |
+| | midnight in the | |
+| | morning of Sunday | |
++-----------------------+-----------------------+-----------------------+
+| @daily | Run once a day at | 0 0 0 \* \* \* \* |
+| | midnight | |
++-----------------------+-----------------------+-----------------------+
+| @hourly | Run once an hour at | 0 0 \* \* \* \* \* |
+| | the beginning of the | |
+| | hour | |
++-----------------------+-----------------------+-----------------------+
+| @minutely | Run once a minute at | 0 \* \* \* \* \* \* |
+| | the beginning of the | |
+| | minute | |
++-----------------------+-----------------------+-----------------------+
+| @reboot | Run once at startup | @reboot |
++-----------------------+-----------------------+-----------------------+
+TODO
+~~~~
+- Support “L”, “W” and “#” specials.
+- Determine time delta from now -> next time expression is valid.
+Contributing
+~~~~~~~~~~~~
+If you would like to contribute, simply fork the repository, push your
+changes and send a pull request.
+License
+~~~~~~~
+Crython is available under the `MIT
+license <https://github.com/ahawker/crython/blob/master/LICENSE.md>`__.
+See Other
+~~~~~~~~~
+There are similar python cron libraries out there. See:
+`pycron <http://www.kalab.com/freeware/pycron/pycron.htm>`__,
+`python-crontab <http://pypi.python.org/pypi/python-crontab/>`__,
+`cronex <https://github.com/jameseric/cronex>`__.
+
+%prep
+%autosetup -n crython-0.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-crython -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..7309c25
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6ad6638f95995dc2106cdf0b1317901b crython-0.2.0.tar.gz