Django utility wrapping dateutil.rrule
Project description
# django-recurrence
django-recurrence is a utility for working with recurring dates in
Django. Documentation is available at
https://django-recurrence.readthedocs.org/.
It provides:
- Recurrence/Rule objects using a subset of rfc2445 (wraps
`dateutil.rrule`) for specifying recurring date/times;
- `RecurrenceField` for storing recurring datetimes in the database;
- JavaScript widget.
`RecurrenceField` provides a Django model field which serializes
recurrence information for storage in the database.
For example - say you were storing information about a university
course in your app. You could use a model like this:
```python
import recurrence.fields
class Course(models.Model):
title = models.CharField(max_length=200)
start = models.TimeField()
end = models.TimeField()
recurrences = recurrence.fields.RecurrenceField()
```
You'll notice that I'm storing my own start and end time. The
recurrence field only deals with _recurrences_ not with specific time
information. I have an event that starts at 2pm. Its recurrences
would be "every Friday". For this to work, you'll need to put the
`recurrence` application into your `INSTALLED_APPS`
## Running the tests
Our test coverage is currently fairly poor (we're working on it!),
but you can run the tests by making sure you've got the test
requirements installed:
pip install -r requirements_test.txt
Once you've done that, you can run the tests using:
make test
You can generate a coverage report by running:
make coverage
You can run tests on multiple versions of Python and Django by
installing tox (`pip install tox`) and running:
tox
django-recurrence is a utility for working with recurring dates in
Django. Documentation is available at
https://django-recurrence.readthedocs.org/.
It provides:
- Recurrence/Rule objects using a subset of rfc2445 (wraps
`dateutil.rrule`) for specifying recurring date/times;
- `RecurrenceField` for storing recurring datetimes in the database;
- JavaScript widget.
`RecurrenceField` provides a Django model field which serializes
recurrence information for storage in the database.
For example - say you were storing information about a university
course in your app. You could use a model like this:
```python
import recurrence.fields
class Course(models.Model):
title = models.CharField(max_length=200)
start = models.TimeField()
end = models.TimeField()
recurrences = recurrence.fields.RecurrenceField()
```
You'll notice that I'm storing my own start and end time. The
recurrence field only deals with _recurrences_ not with specific time
information. I have an event that starts at 2pm. Its recurrences
would be "every Friday". For this to work, you'll need to put the
`recurrence` application into your `INSTALLED_APPS`
## Running the tests
Our test coverage is currently fairly poor (we're working on it!),
but you can run the tests by making sure you've got the test
requirements installed:
pip install -r requirements_test.txt
Once you've done that, you can run the tests using:
make test
You can generate a coverage report by running:
make coverage
You can run tests on multiple versions of Python and Django by
installing tox (`pip install tox`) and running:
tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-recurrence-1.3.0.tar.gz
(86.8 kB
view hashes)
Built Distribution
Close
Hashes for django_recurrence-1.3.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16c1a9aee8858ee062c6a57a8fe1059f3bef6919764dfe9872315c3038da0b31 |
|
MD5 | 73b3b8f3589f07d414f3717afb14066e |
|
BLAKE2b-256 | 36a8a2268949784a6fbd934d17482eb96b5b69160c575e54a588dd36719a7eb4 |