7.1 faces -- Project Managment Objects

This module defines several python objects to implement a project plan scheduling mechanism. A project plan is written as a sequence of nested functions which will be compiled to a hierachical structur of python objects. (see the tutorial section )

The module defines the following classes:

class Calendar( )
This class represents a project calendar. It can distinguish between working times and free times.

class Task( )
This class represents a single task in the project tree. A task can have other child tasks, or is a leaf of the tree. Resources will be allocated only to leafes. You will never create task objects by your self, they are created indirectly by Projects.

class Project( top_task, scenario="_default", id="")
This class is a subclass of Task and represents a whole project and is responsible for building the project tree. An instance of Project is the highest task in a project tree. Projects do not allocate resources to tasks. To archieve resource allocating use BalancedProject.

top_task is the highest function of a project definiton. scenario is the name of the scenario which should be scheduled. id, is a unique idenfication name to distinguish the project from other projects in the resource database. The default value for id is the name of top_task.

class BalancedProject( top_task, scenario="_default", id=None, balance=SMART)
This class is like Project, additionally it allocates resources to tasks.

class AdjustedProject( base_project)
This class adjusts a project to the actual tracking data. See 3.5.5 for more details.

class Resource( )
Subclasses of this class represent a resource which can be allocated for a task.

class WorkingDaytime( value, calendar=None)
This class represents a daytime-type which is aware of working and free times. All datetime attributes of Tasks are WorkingDaytimes. value can be a date literal (see 2.1.2) or a python datetime.



Subsections