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__ | 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. |
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))