Previous topic

stalker.core.models.PermissionGroup

Next topic

stalker.core.models.Repository

This Page

stalker.core.models.Project

Inheritance diagram of 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)[source]

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 Tasks of the project itself and from the Tasks of the Sequences stored in the sequences attribute, the Shots stored in the shots attribute, the Assets 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)[source]

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[source]

the list of assets created in this project

display_width[source]

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

fps[source]

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[source]

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[source]

True if the project is a stereoscopic project

lead[source]

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

repository[source]

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

sequences[source]

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[source]

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

users[source]

The users assigned to this project.

This is a list of User instances. All the elements are gathered from all the Tasks of the project itself and from Sequences, Shots, Assets.

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.