Previous topic

stalker.core.models.structure

Next topic

stalker.core.models.tag

This Page

stalker.core.models.structure.Structure

Inheritance diagram of stalker.core.models.structure.Structure

class stalker.core.models.structure.Structure(project_template='', asset_templates=[], reference_templates=[], **kwargs)[source]

Bases: stalker.core.models.entity.Entity

A structure object is the place to hold data about how the physical files are arranged in the Repository.

Parameters:
  • project_template

    it is a string holding several lines of text showing the folder structure of the project. Whenever a project is created, folders are created by looking at this folder template.

    The template string can have Jinja2 directives. These variables are given to the template engine:

    • project: holds the current Project object using this structure, so you can use {{project.code}} or {{project.sequences}} kind of variables in the Jinja2 template
  • asset_templates

    holds TypeTemplate objects with an AssetType connected to its type attribute, which can help specifying templates based on the related AssetType object.

    Testing a second paragraph addition.

  • reference_templates – holds TypeTemplate objects, which can help specifying templates based on the given LinkType object

This templates are used in creation of Project folder structure and also while interacting with the assets and references in the current Project. You can create one project structure for Commmercials and another project structure for Movies and another one for Print projects etc. and can reuse them with new projects.

__init__(project_template='', asset_templates=[], reference_templates=[], **kwargs)[source]

Methods

__init__(**kwargs[, project_template, ...])

Attributes

asset_templates A list of
code The code name of this object.
created_by The User who has created
date_created A datetime.datetime instance showing the creation
date_updated A datetime.datetime instance showing the update
description Description of this object.
name name of this object
nice_name The nice name of this object.
notes all the notes about this entity, it should be a list of Notes
project_template A string which shows the folder structure of the current project.
reference_templates A list of
tags a list of Tag objects which shows the related tags to the
updated_by The User who has updated
asset_templates[source]

A list of TypeTemplate objects which gives information about the Asset Version file placements

reference_templates[source]

A list of TypeTemplate objects which gives information about the placement of references to entities

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 to the uppercase form of the nice_name attribute. If the 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.

name

name of this object

nice_name

The 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 should be a list of Notes objects or an empty list, None is not accepted

tags

a list of Tag objects which shows the related tags to the entity

updated_by

The User who has updated this object.

project_template[source]

A string which shows the folder structure of the current project. It can have Jinja2 directives. See the documentation of Structure object for more information