file_saver.main#
The module contains the definition of FileSaverWidget
, the main widget used
by Bookmarks to create versioned template files.
The suggested save destination will be partially dependent on the extension specified, the current token config values as well as the active bookmark and asset items.
See the bookmarks.tokens
and bookmarks.editor.bookmark_properties
modules
for more information.
1editor = FileSaverWidget(
2 server,
3 job,
4 root,
5 asset=asset,
6 extension='fbx'
7)
- bookmarks.file_saver.main.SECTIONS#
The ui layout definition of the file saver widget.
- Type:
dict
- bookmarks.file_saver.main.INACTIVE_KEYS#
A tuple of keys used to mark hidden and disabled editors.
- Type:
tuple
Classes:
|
The main widget used to create template files. |
Functions:
|
Close the |
|
Increments the version number by one or to the smallest/largest available version number based on existing files found in the destination folder. |
|
Show the |
Data:
UI layout definition |
- class bookmarks.file_saver.main.FileSaverWidget(server, job, root, asset, extension=None, file=None, create_file=True, increment=False, parent=None)[source]#
Bases:
BasePropertyEditor
The main widget used to create template files.
Methods:
add_task
(relative_path)Adds a task folder to the folder editor.
Creates a new file on the disk.
A file path to use as the source of database values.
exec_
()Customized exec function.
File path.
Lets the user select a custom save destination.
Button click action.
Used to reveal the parent folder in the file explorer.
Initialises values of each editor.
name
()Returns the current name.
The folder where the new file is about to be saved.
Button click action.
Saves changes.
set_file
(file)Set the given file as the current file.
Slot connected to the update timer used to preview the current file name.
update_tasks
(ext)Update the available task folder options based on the given file extension.
Checks if the proposed file name exists already, and if it does, makes the output file name red.
Decrements the version number by one.
Increments the version number by one.
- db_source()[source]#
A file path to use as the source of database values.
- Returns:
The database source file.
- Return type:
str
- file_saver_task_button_clicked()[source]#
Lets the user select a custom save destination.
The selection has to be inside the currently selected asset, otherwise will be rejected. If the folder is not part of the current available options, it will be added as a new option.
- init_data()[source]#
Initialises values of each editor.
Some values are retrieved by the context the widget was called in, and some are loaded from the user settings if the user saved a custom value previously.
- set_file(file)[source]#
Set the given file as the current file.
- Parameters:
file (str) – Path to a file.
- update_expanded_template()[source]#
Slot connected to the update timer used to preview the current file name.
- update_tasks(ext)[source]#
Update the available task folder options based on the given file extension.
- bookmarks.file_saver.main.close()[source]#
Close the
FileSaverWidget
widget.
- bookmarks.file_saver.main.increment_version(v, dir, name, func, increment)[source]#
Increments the version number by one or to the smallest/largest available version number based on existing files found in the destination folder.
- bookmarks.file_saver.main.show(server, job, root, asset, extension=None, file=None, create_file=True, increment=False)[source]#
Show the
FileSaverWidget
widget.- Parameters:
server (str) – server path segment.
job (str) – job path segment.
root (str) – root path segment.
asset (str) – asset path segment.
extension (str) – Optional file extension. Default is
None
.file (str) – Optional, path to an existing file.
create_file (bool) – Optional, when
True
the widget will create empty placeholder files. Default isTrue
.increment (bool) – Optional bool. Will increment the version of
file
whenTrue
. Default isFalse
- bookmarks.file_saver.main.SECTIONS = {0: {'color': PySide2.QtGui.QColor.fromRgbF(0.254902, 0.254902, 0.254902, 1.000000), 'groups': {0: {0: {'button': 'Edit', 'description': "A short name of the bookmark (or job) used when saving files.\n\ne.g. 'MYB_sh0010_anim_v001.ma' where 'MYB' is the prefix specified here.", 'key': 'file_saver/template', 'name': 'Template', 'placeholder': "Custom prefix, e.g. 'MYB'", 'validator': <PySide2.QtGui.QRegExpValidator(0x2a201bce520)>, 'widget': <class 'bookmarks.file_saver.widgets.TemplateComboBox'>}, 1: {'button': 'Reveal', 'description': 'The file name, based on the current template.', 'key': 'filename', 'name': 'Name', 'placeholder': 'Invalid file name...', 'validator': None, 'widget': <class 'PySide2.QtWidgets.QLabel'>}}}, 'icon': 'file', 'name': 'Name Template'}, 1: {'color': PySide2.QtGui.QColor.fromRgbF(0.254902, 0.254902, 0.254902, 1.000000), 'groups': {0: {0: {'description': 'The current bookmark item.', 'key': 'bookmark', 'name': 'Bookmark', 'placeholder': None, 'validator': None, 'widget': <class 'bookmarks.file_saver.widgets.BookmarkComboBox'>}, 1: {'description': 'The current asset item.', 'key': 'asset', 'name': 'Asset', 'placeholder': None, 'validator': None, 'widget': <class 'bookmarks.file_saver.widgets.AssetComboBox'>}, 2: {'button': 'Pick', 'description': 'The current task item.', 'key': 'file_saver/task', 'name': 'Task', 'placeholder': None, 'validator': None, 'widget': <class 'bookmarks.file_saver.widgets.TaskComboBox'>}}, 1: {0: {'description': "A short description of the file's contents.\nIndicate significant changes and notes here.", 'key': 'description', 'name': 'Description', 'placeholder': "A short description, e.g. 'Compositing files'", 'validator': None, 'widget': <class 'bookmarks.ui.LineEdit'>}}, 2: {0: {'button': 'Edit', 'description': "A short prefix used to identify the job e.g.'MYB'.", 'key': 'prefix', 'name': 'Project Prefix', 'placeholder': 'Prefix not yet set!', 'validator': <PySide2.QtGui.QRegExpValidator(0x2a201bce520)>, 'widget': <class 'bookmarks.ui.LineEdit'>}, 1: {'description': "The name of the element being saved. e.g., 'ForegroundTower', or 'BackgroundElements'", 'key': 'file_saver/element', 'name': 'Specify Element', 'placeholder': "The element being saved, e.g. 'CastleInterior'", 'validator': <PySide2.QtGui.QRegExpValidator(0x2a201bce520)>, 'widget': <class 'bookmarks.ui.LineEdit'>}, 2: {'button': '+', 'button2': '-', 'description': "A version number with, or without, a preceding 'v'. e.g. 'v001'.", 'key': 'version', 'name': 'File Version', 'placeholder': "A version number, e.g. 'v001'", 'validator': <PySide2.QtGui.QRegExpValidator(0x2a201bce130)>, 'widget': <class 'bookmarks.ui.LineEdit'>}, 3: {'description': "The name of the current user, e.g. 'JohnDoe', or 'JD'", 'key': 'file_saver/user', 'name': 'User', 'placeholder': "Your name, e.g. 'JohnDoe'", 'validator': <PySide2.QtGui.QRegExpValidator(0x2a201bce520)>, 'widget': <class 'bookmarks.ui.LineEdit'>}, 4: {'description': "A file extension, without the leading dot. e.g. 'ma'", 'key': 'file_saver/extension', 'name': 'Format', 'placeholder': "File extension, e.g. 'exr'", 'validator': None, 'widget': <class 'bookmarks.file_saver.widgets.FormatComboBox'>}}}, 'icon': 'todo', 'name': 'Name Elements'}}#
UI layout definition