Calendar and date management por the Panama Canal
Project description
============
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.
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.
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
acp-calendar-1.7.0.tar.gz
(21.1 kB
view details)
File details
Details for the file acp-calendar-1.7.0.tar.gz
.
File metadata
- Download URL: acp-calendar-1.7.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e68df33d1154f0f1a1ad1a28811e50669b52205c2d6504bd20a8dd39aef848 |
|
MD5 | 8f0e7865647928fbabdf08df18fb9bbe |
|
BLAKE2b-256 | baa4489fe15e3e36c2a675b1e8cedcc9d0d7b702b916f63f9e0f28c1d12f4c9f |