Bases: stalker.models.entity.Entity, stalker.models.mixins.TargetEntityTypeMixin
Holds templates for filename and path conventions.
FilenameTemplate objects help to specify where to place a Version related file.
Although, it is mainly used by Stalker to define Version related file paths and file names to place them in to proper places inside a Project‘s structure, the idea behind is open to endless possibilities.
Here is an example:
p1 = Project(name="Test Project") # shortened for this example
s1 = Structure(name="Commercial Project Structure") # shortened for this example
# this is going to be used by Stalker to decide the
# :stalker:`~stalker.models.link.Link`
# :stalker:`~stalker.models.link.Link.filename` and
# :stalker:`~stalker.models.link.Link.path` (which is the way Stalker
# links external files to Version instances)
f1 = FilenameTemplate(
name="Asset Version Template",
target_entity_type="Asset",
target_entity_type="Asset",
path="{{project.code}}/Assets/{{asset.type.code}}/{{asset.code}}/{{task.type.code}}",
filename="{{asset.code}}_{{version.take_name}}_{{task.type.code}}_v{{'%03d'|version.version_number}}{{link.extension}}"
)
s1.templates.append(f1)
p1.structure = s1
# now because we have defined a FilenameTemplate for Assets,
# Stalker is now able to produce a path and a filename for any Version
# related to this asset.
Parameters: |
|
---|
Methods
__init__([target_entity_type, path, filename]) |
Attributes
created_by | The User who has created this object. |
created_by_id | The id of the User who has created |
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. |
entity_id | |
entity_type | |
filename | The template code for the file part of the FilenameTemplate. |
filenameTemplate_id | |
generic_data | This attribute can hold any kind of data which exists in SOM. |
id | |
metadata | A collection of Table objects and their associated schema |
name | Name of this object |
nice_name | Nice name of this object. |
notes | All the Notess attached to this entity. |
path | The template code for the path of this FilenameTemplate. |
plural_class_name | the plural name of this class |
query | ORM-level SQL construction object. |
tags | A list of tags attached to this object. |
target_entity_type | The entity type which this object is valid for. |
thumbnail | |
thumbnail_id | |
tjp_id | returns TaskJuggler compatible id |
to_tjp | renders a TaskJuggler compliant string used for TaskJuggler |
type | The type of the object. |
type_id | The id of the Type of this entity. |
updated_by | The User who has updated this object. |
updated_by_id | The id of the User who has updated |
The template code for the path of this FilenameTemplate.
The template code for the file part of the FilenameTemplate.
A datetime.datetime instance showing the creation date and time of this object.
A datetime.datetime instance showing the update date and time of this object.
Description of this object.
This attribute can hold any kind of data which exists in SOM.
Name of this object
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.
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.
the plural name of this class
A list of tags attached to this object.
It is a list of Tag instances which shows the tags of this object
The entity type which this object is valid for.
Usually it is set to the TargetClass directly.
returns TaskJuggler compatible id
renders a TaskJuggler compliant string used for TaskJuggler integration. Needs to be overridden in inherited classes.
The type of the object.
It is an instance of Type with a proper target_entity_type.