Metadata-Version: 1.1
Name: icemac.recurrence
Version: 1.2
Summary: Compute recurrences of events
Home-page: https://bitbucket.org/icemac/icemac.recurrence
Author: Michael Howitz
Author-email: icemac@gmx.net
License: ZPL 2.1
Download-URL: http://pypi.python.org/pypi/icemac.recurrence
Description: This package provides helper functions to compute recurrences of events in a
        environment using the Zope Component Architecture (ZCA).
        
        Copyright (c) 2013-2016 Michael Howitz
        
        All Rights Reserved.
        
        This software is subject to the provisions of the Zope Public License,
        Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
        THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
        WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
        FOR A PARTICULAR PURPOSE.
        
        .. contents::
        
        =====
        Usage
        =====
        
        * Register the package at the ZCA via ZCML::
        
          <include package="icemac.recurrence" />
        
        * Compute recurrences. The example computes the 2nd Tuesday each month.::
        
              >>> from icemac.recurrence import get_recurrences
              >>> get_recurrences(
              ...     datetime=datetime(2015, 10, 13, 11, 15),
              ...     period='nth weekday of month',
              ...     interval_start=datetime(2015, 1, 1),
              ...     interval_end=datetime(2015, 12, 31))
              [datetime(2015, 10, 13, 11, 15),
               datetime(2015, 11, 10, 11, 15),
               datetime(2015, 12, 8, 11, 15)]
        
        * Supported recurrence periods:
        
          * ``daily``
          * ``weekly``
          * ``biweekly``
          * ``nth weekday of month``
          * ``nth weekday every other month``
          * ``nth weekday from end of month``
          * ``nth weekday from end of other month``
          * ``yearly``
        
        =========
         Hacking
        =========
        
        Source code
        ===========
        
        Get the source code::
        
           $ hg clone https://bitbucket.org/icemac/icemac.recurrence
        
        or fork me on: https://bitbucket.org/icemac/icemac.recurrence
        
        Running the tests
        =================
        
        To run the tests yourself call::
        
          $ python2.7 bootstrap.py
          $ bin/buildout -n
          $ bin/py.test
        
        
        ===========
         Changelog
        ===========
        
        1.2 (2016-04-16)
        ================
        
        - Fix handling for dates with a timezone which has a daylight saving time
          (DST): The local time of the recurrence does not change when switching DST
          though the UTC representation of the time will now change.
        
        
        1.1 (2016-03-01)
        ================
        
        - Shorten the import path of ``get_recurrences()`` from
          ``icemac.recurrence.recurrence`` to just ``icemac.recurrence``.
        
        - Refactor tests to use ``py.test`` fixtures.
        
        - Fix an off by one month error in the periods `nth weekday every other month`
          and `nth weekday from end of other month`.
        
        - Bring the test coverage to 100 % even in branch coverage.
        
        
        1.0.1 (2015-10-22)
        ==================
        
        - Fix broken 1.0.0 release.
        
        
        1.0.0 (2015-10-13)
        ==================
        
        * Extract package from `icemac.ab.calendar` for reuse in other projects.
        
Keywords: calendar event recurring recurrence datetime
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 2 :: Only
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: Implementation :: CPython
