stalker.core.models.Project — Stalker v0.1.1.a9 documentation

### Navigation

- index
- next |
- previous |
- Stalker v0.1.1.a9 documentation »

# stalker.core.models.Project

class `stalker.core.models.` `Project`(lead=None, repository=None, structure=None, sequences=[], assets=[], image_format=None, fps=25.0, is_stereoscopic=False, display_width=1.0, **kwargs)

  Bases: `stalker.core.models.Entity`, `stalker.core.mixins.ReferenceMixin`, `stalker.core.mixins.StatusMixin`, `stalker.core.mixins.ScheduleMixin`, `stalker.core.mixins.TaskMixin`

  All the information about a Project in Stalker is hold in this class.

  Project is one of the main classes that will direct the others. A project in Stalker is a gathering point.

  It is mixed with `ReferenceMixin`, `StatusMixin`, `ScheduleMixin` and `TaskMixin` to give reference, status, schedule and task abilities. Please read the individual documentation of each of the mixins.

  The `users` attributes content is gathered from all the `Task`s of the project itself and from the `Task`s of the `Sequence`s stored in the `sequences` attribute, the `Shot`s stored in the `shots` attribute, the `Asset`s stored in the `assets`. It is a read only attribute.

  Parameters: | lead (`User`) – The lead of the project. Default value is None. sequences (list) – The sequences of the project, it should be a list of `Sequence` instances, if set to None it is converted to an empty list. Default value is an empty list. assets (list) – The assets used in this project, it should be a list of `Asset` instances, if set to None it is converted to an empty list. Default value is an empty list. image_format (`ImageFormat`) – The output image format of the project. Default value is None. fps (float) – The FPS of the project, it should be a integer or float number, or a string literal which can be correctly converted to a float. Default value is 25.0. type (`ProjectType`) – The type of the project. Default value is None. structure (`Structure`) – The structure of the project. Default value is None repository (`Repository`.) – The repository that the project files are going to be stored in. You can not create the project folder structure if the project doesn’t have a connection to a `Repository`. Default value is None. is_stereoscopic (bool) – a bool value, showing if the project is going to be a stereo 3D project, anything given as the argument will be converted to True or False. Default value is False. display_width (float) – the width of the display that the output of the project is going to be displayed (very unnecessary if you are not using stereo 3D setup). Should be an int or float value, negative values converted to the positive values. Default value is 1.

  `__init__`(lead=None, repository=None, structure=None, sequences=[], assets=[], image_format=None, fps=25.0, is_stereoscopic=False, display_width=1.0, **kwargs)

  Methods

  `__init__`(**kwargs[, lead, repository, ...]) |

  Attributes

  `assets` | the list of assets created in this project
  `code` | The code name of this object.
  `created_by` | The `User` who has created this object.
  `date_created` | A `datetime.datetime` instance showing the creation date and time of this object.
  `date_updated` | A `datetime.datetime` instance showing the update date and time of this object.
  `description` | Description of this object.
  `display_width` | the target display width that this project is going to be
  `due_date` | The date that the entity should be delivered.
  `duration` | Duration of the entity.
  `fps` | the fps of the project, it is a float value, any other types
  `image_format` | the image format of the current project. This value defines
  `is_stereoscopic` | True if the project is a stereoscopic project
  `lead` | the lead of the project, should be an instance of
  `name` | Name of this object
  `nice_name` | Nice name of this object.
  `notes` | All the notes about this entity.
  `references` | References are lists containing `Entity` instances.
  `repository` | the repository that this project should reside, should be an
  `sequences` | the sequences contained in this project, should be a list
  `start_date` | The date that this entity should start.
  `status` | The current status index of the object.
  `status_list` | The list of statuses that this object can have.
  `structure` | The structure of the project.
  `tags` | A list of tags attached to this object.
  `tasks` | The list of `Task` instances.
  `type` | The type of the object.
  `updated_by` | The `User` who has updated this object.
  `users` | The users assigned to this project.

  `assets`

    the list of assets created in this project

  `display_width`

    the target display width that this project is going to be displayed on, meaningfull if this project is a stereoscopic project

  `fps`

    the fps of the project, it is a float value, any other types will be converted to float. The default value is 25.0

  `image_format`

    the image format of the current project. This value defines the output image format of the project, should be an instance of `ImageFormat`, can not be skipped

  `is_stereoscopic`

    True if the project is a stereoscopic project

  `lead`

    the lead of the project, should be an instance of `User`, also can set to None

  `repository`

    the repository that this project should reside, should be an instance of `Repository`, can not be skipped

  `sequences`

    the sequences contained in this project, should be a list containing all of `Sequence` instances, when set to None it is converted to an empty list

  `structure`

    The structure of the project. Should be an instance of `Structure` class

  `users`

    The users assigned to this project.

    This is a list of `User` instances. All the elements are gathered from all the `Task`s of the project itself and from `Sequence`s, `Shot`s, `Asset`s.

  `code`

    The code name of this object.

    It accepts string or unicode values and any other kind of objects will be converted to string. In any update to the name attribute the code also will be updated. If the code is not initialized or given as None, it will be set to the uppercase version of the nice_name attribute. Setting the code attribute to None will reset it to the default value. The default value is the upper case form of the nice_name.

  `created_by`

    The `User` who has created this object.

  `date_created`

    A `datetime.datetime` instance showing the creation date and time of this object.

  `date_updated`

    A `datetime.datetime` instance showing the update date and time of this object.

  `description`

    Description of this object.

  `due_date`

    The date that the entity should be delivered.

    The due_date can be set to a datetime.timedelta and in this case it will be calculated as an offset from the start_date and converted to datetime.date again. Setting the start_date to a date passing the due_date will also set the due_date so the timedelta between them is preserved, default value is 10 days

  `duration`

    Duration of the entity.

    It is a datetime.timedelta instance. Showing the difference of the `start_date` and the `due_date`. If edited it changes the `due_date` attribute value.

  `name`

    Name of this object

  `nice_name`

    Nice name of this object.

    It has the same value with the name (contextually) but with a different format like, all the white spaces replaced by underscores (“_”), all the CamelCase form will be expanded by underscore (_) characters and it is always lower case.

    There is also the `code` attribute which is simply the upper case form of `nice_name` if it is not defined differently (i.e set to another value).

  `notes`

    All the notes about this entity.

    It is a list of `Note` objects or an empty list, None will be converted to an empty list.

  `references`

    References are lists containing `Entity` instances.

  `start_date`

    The date that this entity should start.

    Also effects the `due_date` attribute value in certain conditions, if the `start_date` is set to a time passing the `due_date` it will also offset the `due_date` to keep the `duration` value fixed. `start_date` should be an instance of class:datetime.date and the default value is `datetime.date.today()`

  `status`

    The current status index of the object.

    This is an integer value and shows the index of the `Status` object in the `StatusList` of this object.

  `status_list`

    The list of statuses that this object can have.

  `tags`

    A list of tags attached to this object.

    It is a list of `Tag` instances which shows the tags of this object

  `tasks`

    The list of `Task` instances.

  `type`

    The type of the object.

    It is an instance of `Type` with a proper `target_entity_type`.

  `updated_by`

    The `User` who has updated this object.

### Navigation

- index
- next |
- previous |
- Stalker v0.1.1.a9 documentation »