Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

acp-calendar

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

acp-calendar

Calendar and date management por the Panama Canal

  • 1.7.0
  • PyPI
  • Socket score

Maintainers
1

============ 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.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc