Package: acp-calendar
============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 StatusHoliday 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 versiondoes not support it.Requires* Python 3.4, 3.5 or 3.6* Django 1.9, 1.10 or 1.11.6Quickstart==========Install ACP-Calendar.. code-block:: bash$ pip install acp-calendarOpen your settings file and include acp_calendar and `rest_framework`_ to the THIRD_PARTY_APPS variable on your settingsfile... _rest_framework: http://www.django-rest-framework.org/The settings file.. code-block:: pythonDJANGO_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-appsINSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPSAdd the acp_calendar.urls to your urls file... code-block:: pythonurlpatterns = [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 managementurl(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:: pythonIn [ 3 ]:  import datetimeIn [ 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)19Fiscal Year+++++++++++.. code-block:: pythonIn [ 1 ]:   import datetimeIn [ 2 ]:   from acp_calendar.models import FiscalYearIn [ 3 ]:   start_date = datetime.date(2015, 10,1)In [ 4 ]:   fiscal_year = FiscalYear.create_from_date(start_date)In [ 5 ]:   print(fiscal_year)FY16In [ 6 ]:   fiscal_year.start_dateOut[6]: datetime.date(2015, 10, 1)In [ 7 ]:   fiscal_year.end_dateOut[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.pngTo 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_envRunning 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.pyBuilds------We are using Travis for continuos integration https://travis-ci.org/luiscberrocal/django-acp-calendar/buildsFor coverage we are using coveralls https://coveralls.io/github/luiscberrocal/django-acp-calendarRun bumpversion.. code-block:: bash$ bumpversion minorInstead of minor you could also use **major** o **patch** depending on the level of the release... code-block:: bashpython setup.py sdist bdist_wheelpython setup.py register -r pypitestpython setup.py sdist upload -r pypitestCheck https://testpypi.python.org/pypi/acp-calendar/.. code-block:: bashpython setup.py register -r pypipython setup.py sdist upload -r pypiDevelopment-----------The development project is in the ./example folder.To use itCredits-------Tools used in rendering this package:*  Cookiecutter_*  `cookiecutter-pypackage`_.. _Cookiecutter: https://github.com/audreyr/cookiecutter.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackageHistory-------0.2.2 (2016-04-10)++++++++++++++++++* First release on PyPI.