%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