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, image_format=None, fps=25.0, is_stereoscopic=False, **kwargs)[source]

Bases: stalker.core.models.TaskableEntity, stalker.core.models.ReferenceMixin, stalker.core.models.StatusMixin, stalker.core.models.ScheduleMixin

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.
  • 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 a project without specifying the repository argument and passing a Repository to it. Default value is None which raises a TypeError.
  • 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, image_format=None, fps=25.0, is_stereoscopic=False, **kwargs)[source]

Methods

__init__(**kwargs[, lead, repository, ...])
create_secondary_tables_for_references() creates any secondary table

Attributes

assets returns the assets related to this project
code The code name of this object.
created_by The User who has created this object.
created_by_id
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.
duration Duration of the entity.
entity_id
entity_type
fps The fps of the project.
id
image_format The ImageFormat of this project.
image_format_id
is_stereoscopic True if the project is a stereoscopic project
lead The lead of the project.
lead_id
name Name of this object
nice_name Nice name of this object.
notes All the Notess attached to this entity.
project The Project instance that this object belongs to.
project_id
project_id_local
references
repository The Repository that this project should reside.
repository_id
reviews All the Reviews about this Entity.
sequences returns the sequences related to this project
start_date The date that this entity should start.
status
status_list
status_list_id
structure The structure of the project.
structure_id
tags A list of tags attached to this object.
taskableEntity_id
tasks
type The type of the object.
type_id
updated_by The User who has updated this object.
updated_by_id
users returns the users related to this project
lead_id

class:~stalker.core.models.Asset. class:~stalker.core.models.Sequence instances. The attribute is class:~stalker.core.models.Sequence to this class:~stalker.core.models.Project is to create the class:~stalker.core.models.Sequence with this class:~stalker.core.models.Project by passing this class:~stalker.core.models.Project in the project argument of

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. It is a read-only attribute. So it is not possible to change the repository of one project.

structure

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

image_format

The ImageFormat of this project.

This value defines the output image format of the project, should be an instance of ImageFormat.

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.

is_stereoscopic

True if the project is a stereoscopic project

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.

classmethod create_secondary_tables_for_references()

creates any secondary table

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 Notess attached to this entity.

It is a list of Note instances or an empty list, setting it None will raise a TypeError.

project

The Project instance that this object belongs to.

reviews

All the Reviews about this Entity.

It is a list of Review instances or an empty list, setting it None will raise a TypeError.

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()

tags

A list of tags attached to this object.

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

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.

users[source]

returns the users related to this project

assets[source]

returns the assets related to this project

sequences[source]

returns the sequences related to this project