Skip to main content
Skip table of contents

ppms.period

The period API lets you create and delete periods.

Classes

PeriodCreator

The PeriodCreator is a context manager for creating new periods.

Methods

Function

Parameters

Return Value

Description

PeriodCreator.__enter__(self)

The PeriodCreator instance

Enter the context to queue up period changes

PeriodCreator.__exit__(self, type, value, tb)

type: Exception Type
value: Exception instance
tb: Traceback

When the context is left, all periods are created

PeriodCreator.add(self, res_id, start_period, end_period)

res_id: The Resource to add periods for
start_period: Days since 01.01.1970
end_period: Days since 01.01.1970

Adds a resource and timeframe to generate periods for. When the context is left, these periods will be created.

Note: The newly created periods will not be aggregated

Functions

Function

Parameters

Return Value

Description

aggregate_periods(parent_res_id, start_period, end_period)

parent_res_id: Resource
start_period: Days since 01.01.1970
end_period: Days since 01.01.1970

Aggregate the periods of the parent_res_id in the given timeframe up across all parent resources

aggregate_periods_from_start_to_end(res_id)

res_id: Resource

Aggregate all periods of the resource based on their Start period and End period

any_child_resource_has_workday(resource_id, period)

resource_id: Resource
period: Days since 01.01.1970

True if the given period is a workday for any child resource, False if it is not.

Check whether a given date is a workday for any child resource of a department

delete_obsolete_periods(res_id)

res_id: Resource

Delete all period records outside the Start period and End period

get_amount_of_children(parent_res_id)

parent_res_id: Resource

Amount of child resources

get_start_end_period_from_db(res_id)

res_id: Resource

Start and end period as a tuple

Fetch the start and end period of a resource from the database

reset_summarized_periods(res_id)

res_id: Resource

Sets all aggregated data items in the period table to 0

Examples

Creating new periods

PY
from ppms.period import PeriodCreator

with PeriodCreator() as creator:
    creator.add('R2', (100, 200))
    creator.add('R41', (100, 800))

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.