Skip to main content
============
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)

Source distribution for acp-calendar 1.7.0
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page