ACP-Calendar
============
.. image:: https://badge.fury.io/py/acp-calendar.png
:target: https://badge.fury.io/py/acp-calendar
.. image:: https://api.travis-ci.org/luiscberrocal/django-acp-calendar.svg?branch=master
:target: https://travis-ci.org/luiscberrocal/django-acp-calendar
.. image:: https://coveralls.io/repos/github/luiscberrocal/django-acp-calendar/badge.svg?branch=master
:target: https://coveralls.io/github/luiscberrocal/django-acp-calendar?branch=master
.. image:: https://codeclimate.com/github/luiscberrocal/django-acp-calendar/badges/gpa.svg
:target: https://codeclimate.com/github/luiscberrocal/django-acp-calendar
:alt: Code Climate
.. image:: https://requires.io/github/luiscberrocal/django-acp-calendar/requirements.svg?branch=master
:target: https://requires.io/github/luiscberrocal/django-acp-calendar/requirements/?branch=master
:alt: Requirements Status
Holiday calendar and date management for the Panama Canal. Includes Panama Canal holidays from 2006 to 2017.
Documentation
=============
The full documentation is at http://django-acp-calendar.readthedocs.io/.
Requirements
=============
As of version 1.7.0 Django 1.8 will no longer be supported due to the fact that the latest Django Restframework version
does not support it.
Requires
* Python 3.4, 3.5 or 3.6
* Django 1.9, 1.10 or 1.11.6
Quickstart
==========
Install ACP-Calendar
.. code-block:: bash
$ pip install acp-calendar
Open your settings file and include acp_calendar and `rest_framework`_ to the THIRD_PARTY_APPS variable on your settings
file.
.. _rest_framework: http://www.django-rest-framework.org/
The settings file
.. code-block:: python
DJANGO_APPS = (
# Default Django apps:
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Useful template tags:
# 'django.contrib.humanize',
# Admin
'django.contrib.admin',
)
THIRD_PARTY_APPS = (
'crispy_forms', # Form layouts
'allauth', # registration
'allauth.account', # registration
'allauth.socialaccount', # registration
'rest_framework',
'acp_calendar',
)
# Apps specific for this project go here.
LOCAL_APPS = (
'acp_calendar_project.users', # custom users app
# Your stuff: custom apps go here
)
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
Add the acp_calendar.urls to your urls file.
.. code-block:: python
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name='home'),
url(r'^about/$', TemplateView.as_view(template_name='pages/about.html'), name='about'),
# Django Admin, use {% url 'admin:index' %}
url(settings.ADMIN_URL, include(admin.site.urls)),
# User management
url(r'^users/', include('acp_calendar_project.users.urls', namespace='users')),
url(r'^calendar/', include('acp_calendar.urls', namespace='calendar')),
url(r'^accounts/', include('allauth.urls')),
# Your stuff: custom urls includes go here
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Features
========
Holidays
++++++++
To get the working days for the Panama Canal between january 1st to january 31st 2016.
.. code-block:: python
In [ 3 ]: import datetime
In [ 4 ]: start_date = datetime.date(2016, 1,1)
In [ 5 ]: end_date = datetime.date(2016,1,31)
In [ 6 ]: working_days = ACPHoliday.get_working_days(start_date, end_date)
In [ 7 ]: print(working_days)
19
Fiscal Year
+++++++++++
.. code-block:: python
In [ 1 ]: import datetime
In [ 2 ]: from acp_calendar.models import FiscalYear
In [ 3 ]: start_date = datetime.date(2015, 10,1)
In [ 4 ]: fiscal_year = FiscalYear.create_from_date(start_date)
In [ 5 ]: print(fiscal_year)
FY16
In [ 6 ]: fiscal_year.start_date
Out[6]: datetime.date(2015, 10, 1)
In [ 7 ]: fiscal_year.end_date
Out[7]: datetime.date(2016, 9, 30)
Calculator
++++++++++
To access the calculator go to http://<your_host>:<your_port>/calendar/calculator/
.. image:: docs/images/calculator_01.png
To use the calculator your base.html must have:
* A javascript block at the end of the html
* jQuery (version 2.2.x)
* jQuery ui (version 1.12.x)
Virtual Environment
-------------------
Use virtualenv to manage a virtual environment.
In a Mac use the following command to create the virtual environment.
.. code-block:: bash
$ python3 /usr/local/lib/python3.4/site-packages/virtualenv.py --no-site-packages acp_calendar_env
Running Tests
-------------
Does the code actually work?
.. code-block:: bash
$ source acp_calendar_env/bin/activate
(acp_calendar_env) $ pip install -r requirements-test.txt
(acp_calendar_env) $ python runtests.py
Builds
------
We are using Travis for continuos integration https://travis-ci.org/luiscberrocal/django-acp-calendar/builds
For coverage we are using coveralls https://coveralls.io/github/luiscberrocal/django-acp-calendar
Run bumpversion
.. code-block:: bash
$ bumpversion minor
Instead of minor you could also use **major** o **patch** depending on the level of the release.
.. code-block:: bash
python setup.py sdist bdist_wheel
python setup.py register -r pypitest
python setup.py sdist upload -r pypitest
Check https://testpypi.python.org/pypi/acp-calendar/
.. code-block:: bash
python setup.py register -r pypi
python setup.py sdist upload -r pypi
Development
-----------
The development project is in the ./example folder.
To use it
Credits
-------
Tools used in rendering this package:
* Cookiecutter_
* `cookiecutter-pypackage`_
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage
History
-------
0.2.2 (2016-04-10)
++++++++++++++++++
* First release on PyPI.
Metadata
Release files for acp-calendar 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| acp-calendar-1.7.0.tar.gz | 21.1 kB | Without provenance | Details |
Release files / acp-calendar-1.7.0.tar.gz
| Download URL | acp-calendar-1.7.0.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8e68df33d1154f0f1a1ad1a28811e50669b52205c2d6504bd20a8dd39aef848
|
|
BLAKE2b-256 checksum How to use checksums |
baa4489fe15e3e36c2a675b1e8cedcc9d0d7b702b916f63f9e0f28c1d12f4c9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for acp-calendar 1.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.