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__ |
|
The |
Enter the context to queue up period changes |
|
PeriodCreator.__exit__ |
type: Exception Type
|
|
When the context is left, all periods are created |
|
PeriodCreator.add |
res_id: The Resource to add periods for
|
|
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: Resource
|
|
Aggregate the periods of the |
|
aggregate_periods_from_start_to_end |
res_id: Resource |
|
Aggregate all periods of the resource based on their Start period and End period |
|
any_child_resource_has_workday |
resource_id: Resource
|
|
Check whether a given date is a workday for any child resource of a department |
|
delete_obsolete_periods |
res_id: Resource |
|
Delete all period records outside the Start period and End period |
|
get_amount_of_children |
parent_res_id: Resource |
Amount of child resources |
|
|
get_start_end_period_from_db |
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: Resource |
|
Sets all aggregated data items in the period table to 0 |
Examples
Creating new periods
from ppms.period import PeriodCreator
with PeriodCreator() as creator:
creator.add('R2', (100, 200))
creator.add('R41', (100, 800))