Bases: stalker.core.models.entity.Entity
The template model holds templates for Types.
Template objects help to specify where to place a file related to TypeEntity objects and its derived classes.
The first very important usage of Templates is to place asset Version‘s to proper places inside a Project‘s Structure.
Parameters: |
|
---|
Examples:
A template for asset versions can have this parameters:
from stalker import db
from satlker.db import auth
from stalker.core.models import typeEntity, template, pipelineStep
# setup the default database
db.setup()
# store the query method for ease of use
session = db.meta.session
query = db.meta.session.query
# login to the system as admin
admin = auth.login('admin', 'admin')
# create a couple of variables
path_code = "{{repository.path}}/{{project.code}}/ASSETS/{{asset_type.name}}/{{pipeline_step.code}}"
file_code = "{{asset.name}}_{{take.name}}_{{asset_type.name}}_v{{version.version_number}}"
# create a pipeline step object
modelingStep = pipelineStep.PipelineStep(
name='Modeling',
code='MODEL',
description='The modeling step of the asset',
created_by=admin
)
# create a 'Character' AssetType with only one step
typeObj = typeEntity.AssetType(
name='Character',
description='this is the character asset type',
created_by=admin,
steps=[modelingStep]
)
# now create our template
char_template = template.Template(
name='Character',
description='this is the template which explains how to place Character assets',
path_code=path_code,
file_code=file_code,
type=typeObj,
)
# assign this template to the structure of the project with id=101
myProject = query(project.Project).filter_by(id=101).first()
# append the template to the structures asset templates
myProject.structure.asset_templates.append(char_template)
session.commit()
Now with the code above, whenever a new Version created for a Character asset, Stalker will automatically place the related file to a certain folder and with a certain file name defined by the template. For example the above template should render something like below for Windows:
And one of the good side is you can create a version from Linux, Windows or OSX all the paths will be correctly handled by Stalker.
Methods
__init__(template_code, **kwargs) |
Attributes
created_by | gets and sets the User object who has created this |
date_created | gets and sets the datetime.datetime object which shows when |
date_updated | gets and sets the datetime.datetime object which shows when |
description | the description of the entity |
name | the name of the entity |
nice_name | this is the nice name of the SimpleEntity, it is a string which is a little bit more formatted than the name attribute |
tags | a list of Tag objects which shows the related tags to the |
template_code | this is the property that helps you assign values to |
updated_by | gets and sets the User object who has updated this |
gets and sets the User object who has created this AuditEntity
gets and sets the datetime.datetime object which shows when this object has been created
gets and sets the datetime.datetime object which shows when this object has been updated
the description of the entity
the name of the entity
this is the nice name of the SimpleEntity, it is a string which is a little bit more formatted than the name attribute
a list of Tag objects which shows the related tags to the entity
gets and sets the User object who has updated this AuditEntity