2025-12-01
This commit is contained in:
@@ -5,14 +5,14 @@
|
||||
bl_info = {
|
||||
"name": "Flamenco",
|
||||
"author": "Sybren A. Stüvel",
|
||||
"version": (3, 6),
|
||||
"version": (3, 8),
|
||||
"blender": (3, 1, 0),
|
||||
"description": "Flamenco client for Blender.",
|
||||
"location": "Output Properties > Flamenco",
|
||||
"doc_url": "https://flamenco.blender.org/",
|
||||
"category": "System",
|
||||
"support": "COMMUNITY",
|
||||
"warning": "",
|
||||
"warning": "This is version 3.8-beta2 of the add-on, which is not a stable release",
|
||||
}
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
@@ -159,7 +159,7 @@ class Transferrer(submodules.transfer.FileTransferer): # type: ignore
|
||||
self.error_set("Giving up after multiple attempts to upload the files")
|
||||
return
|
||||
|
||||
self.log.info("All files uploaded succesfully")
|
||||
self.log.info("All files uploaded successfully")
|
||||
checkout_result = self._request_checkout(shaman_file_specs)
|
||||
assert checkout_result is not None
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"""
|
||||
|
||||
|
||||
__version__ = "3.6"
|
||||
__version__ = "3.8-beta2"
|
||||
|
||||
# import ApiClient
|
||||
from flamenco.manager.api_client import ApiClient
|
||||
|
||||
@@ -31,6 +31,7 @@ from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedI
|
||||
from flamenco.manager.model.job_mass_deletion_selection import JobMassDeletionSelection
|
||||
from flamenco.manager.model.job_priority_change import JobPriorityChange
|
||||
from flamenco.manager.model.job_status_change import JobStatusChange
|
||||
from flamenco.manager.model.job_tag_change import JobTagChange
|
||||
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
||||
from flamenco.manager.model.jobs_query_result import JobsQueryResult
|
||||
from flamenco.manager.model.submitted_job import SubmittedJob
|
||||
@@ -884,6 +885,62 @@ class JobsApi(object):
|
||||
},
|
||||
api_client=api_client
|
||||
)
|
||||
self.set_job_tag_endpoint = _Endpoint(
|
||||
settings={
|
||||
'response_type': None,
|
||||
'auth': [],
|
||||
'endpoint_path': '/api/v3/jobs/{job_id}/settag',
|
||||
'operation_id': 'set_job_tag',
|
||||
'http_method': 'POST',
|
||||
'servers': None,
|
||||
},
|
||||
params_map={
|
||||
'all': [
|
||||
'job_id',
|
||||
'job_tag_change',
|
||||
],
|
||||
'required': [
|
||||
'job_id',
|
||||
'job_tag_change',
|
||||
],
|
||||
'nullable': [
|
||||
],
|
||||
'enum': [
|
||||
],
|
||||
'validation': [
|
||||
]
|
||||
},
|
||||
root_map={
|
||||
'validations': {
|
||||
},
|
||||
'allowed_values': {
|
||||
},
|
||||
'openapi_types': {
|
||||
'job_id':
|
||||
(str,),
|
||||
'job_tag_change':
|
||||
(JobTagChange,),
|
||||
},
|
||||
'attribute_map': {
|
||||
'job_id': 'job_id',
|
||||
},
|
||||
'location_map': {
|
||||
'job_id': 'path',
|
||||
'job_tag_change': 'body',
|
||||
},
|
||||
'collection_format_map': {
|
||||
}
|
||||
},
|
||||
headers_map={
|
||||
'accept': [
|
||||
'application/json'
|
||||
],
|
||||
'content_type': [
|
||||
'application/json'
|
||||
]
|
||||
},
|
||||
api_client=api_client
|
||||
)
|
||||
self.set_task_status_endpoint = _Endpoint(
|
||||
settings={
|
||||
'response_type': None,
|
||||
@@ -2344,6 +2401,87 @@ class JobsApi(object):
|
||||
job_status_change
|
||||
return self.set_job_status_endpoint.call_with_http_info(**kwargs)
|
||||
|
||||
def set_job_tag(
|
||||
self,
|
||||
job_id,
|
||||
job_tag_change,
|
||||
**kwargs
|
||||
):
|
||||
"""set_job_tag # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.set_job_tag(job_id, job_tag_change, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
Args:
|
||||
job_id (str):
|
||||
job_tag_change (JobTagChange): The name or the UUID of the new tag. It replaces the old tag.
|
||||
|
||||
Keyword Args:
|
||||
_return_http_data_only (bool): response data without head status
|
||||
code and headers. Default is True.
|
||||
_preload_content (bool): if False, the urllib3.HTTPResponse object
|
||||
will be returned without reading/decoding response data.
|
||||
Default is True.
|
||||
_request_timeout (int/float/tuple): timeout setting for this request. If
|
||||
one number provided, it will be total request timeout. It can also
|
||||
be a pair (tuple) of (connection, read) timeouts.
|
||||
Default is None.
|
||||
_check_input_type (bool): specifies if type checking
|
||||
should be done one the data sent to the server.
|
||||
Default is True.
|
||||
_check_return_type (bool): specifies if type checking
|
||||
should be done one the data received from the server.
|
||||
Default is True.
|
||||
_spec_property_naming (bool): True if the variable names in the input data
|
||||
are serialized names, as specified in the OpenAPI document.
|
||||
False if the variable names in the input data
|
||||
are pythonic names, e.g. snake case (default)
|
||||
_content_type (str/None): force body content-type.
|
||||
Default is None and content-type will be predicted by allowed
|
||||
content-types and body.
|
||||
_host_index (int/None): specifies the index of the server
|
||||
that we want to use.
|
||||
Default is read from the configuration.
|
||||
async_req (bool): execute request asynchronously
|
||||
|
||||
Returns:
|
||||
None
|
||||
If the method is called asynchronously, returns the request
|
||||
thread.
|
||||
"""
|
||||
kwargs['async_req'] = kwargs.get(
|
||||
'async_req', False
|
||||
)
|
||||
kwargs['_return_http_data_only'] = kwargs.get(
|
||||
'_return_http_data_only', True
|
||||
)
|
||||
kwargs['_preload_content'] = kwargs.get(
|
||||
'_preload_content', True
|
||||
)
|
||||
kwargs['_request_timeout'] = kwargs.get(
|
||||
'_request_timeout', None
|
||||
)
|
||||
kwargs['_check_input_type'] = kwargs.get(
|
||||
'_check_input_type', True
|
||||
)
|
||||
kwargs['_check_return_type'] = kwargs.get(
|
||||
'_check_return_type', True
|
||||
)
|
||||
kwargs['_spec_property_naming'] = kwargs.get(
|
||||
'_spec_property_naming', False
|
||||
)
|
||||
kwargs['_content_type'] = kwargs.get(
|
||||
'_content_type')
|
||||
kwargs['_host_index'] = kwargs.get('_host_index')
|
||||
kwargs['job_id'] = \
|
||||
job_id
|
||||
kwargs['job_tag_change'] = \
|
||||
job_tag_change
|
||||
return self.set_job_tag_endpoint.call_with_http_info(**kwargs)
|
||||
|
||||
def set_task_status(
|
||||
self,
|
||||
task_id,
|
||||
|
||||
@@ -511,6 +511,56 @@ class MetaApi(object):
|
||||
},
|
||||
api_client=api_client
|
||||
)
|
||||
self.update_configuration_file_endpoint = _Endpoint(
|
||||
settings={
|
||||
'response_type': None,
|
||||
'auth': [],
|
||||
'endpoint_path': '/api/v3/configuration/file',
|
||||
'operation_id': 'update_configuration_file',
|
||||
'http_method': 'PUT',
|
||||
'servers': None,
|
||||
},
|
||||
params_map={
|
||||
'all': [
|
||||
'body',
|
||||
],
|
||||
'required': [
|
||||
'body',
|
||||
],
|
||||
'nullable': [
|
||||
],
|
||||
'enum': [
|
||||
],
|
||||
'validation': [
|
||||
]
|
||||
},
|
||||
root_map={
|
||||
'validations': {
|
||||
},
|
||||
'allowed_values': {
|
||||
},
|
||||
'openapi_types': {
|
||||
'body':
|
||||
({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
|
||||
},
|
||||
'attribute_map': {
|
||||
},
|
||||
'location_map': {
|
||||
'body': 'body',
|
||||
},
|
||||
'collection_format_map': {
|
||||
}
|
||||
},
|
||||
headers_map={
|
||||
'accept': [
|
||||
'application/json'
|
||||
],
|
||||
'content_type': [
|
||||
'application/json'
|
||||
]
|
||||
},
|
||||
api_client=api_client
|
||||
)
|
||||
|
||||
def check_blender_exe_path(
|
||||
self,
|
||||
@@ -1253,3 +1303,80 @@ class MetaApi(object):
|
||||
kwargs['_host_index'] = kwargs.get('_host_index')
|
||||
return self.save_setup_assistant_config_endpoint.call_with_http_info(**kwargs)
|
||||
|
||||
def update_configuration_file(
|
||||
self,
|
||||
body,
|
||||
**kwargs
|
||||
):
|
||||
"""Overwrites the configuration file. It does not actively reload the new configuration. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.update_configuration_file(body, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
Args:
|
||||
body ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): The configuration values as a JSON
|
||||
|
||||
Keyword Args:
|
||||
_return_http_data_only (bool): response data without head status
|
||||
code and headers. Default is True.
|
||||
_preload_content (bool): if False, the urllib3.HTTPResponse object
|
||||
will be returned without reading/decoding response data.
|
||||
Default is True.
|
||||
_request_timeout (int/float/tuple): timeout setting for this request. If
|
||||
one number provided, it will be total request timeout. It can also
|
||||
be a pair (tuple) of (connection, read) timeouts.
|
||||
Default is None.
|
||||
_check_input_type (bool): specifies if type checking
|
||||
should be done one the data sent to the server.
|
||||
Default is True.
|
||||
_check_return_type (bool): specifies if type checking
|
||||
should be done one the data received from the server.
|
||||
Default is True.
|
||||
_spec_property_naming (bool): True if the variable names in the input data
|
||||
are serialized names, as specified in the OpenAPI document.
|
||||
False if the variable names in the input data
|
||||
are pythonic names, e.g. snake case (default)
|
||||
_content_type (str/None): force body content-type.
|
||||
Default is None and content-type will be predicted by allowed
|
||||
content-types and body.
|
||||
_host_index (int/None): specifies the index of the server
|
||||
that we want to use.
|
||||
Default is read from the configuration.
|
||||
async_req (bool): execute request asynchronously
|
||||
|
||||
Returns:
|
||||
None
|
||||
If the method is called asynchronously, returns the request
|
||||
thread.
|
||||
"""
|
||||
kwargs['async_req'] = kwargs.get(
|
||||
'async_req', False
|
||||
)
|
||||
kwargs['_return_http_data_only'] = kwargs.get(
|
||||
'_return_http_data_only', True
|
||||
)
|
||||
kwargs['_preload_content'] = kwargs.get(
|
||||
'_preload_content', True
|
||||
)
|
||||
kwargs['_request_timeout'] = kwargs.get(
|
||||
'_request_timeout', None
|
||||
)
|
||||
kwargs['_check_input_type'] = kwargs.get(
|
||||
'_check_input_type', True
|
||||
)
|
||||
kwargs['_check_return_type'] = kwargs.get(
|
||||
'_check_return_type', True
|
||||
)
|
||||
kwargs['_spec_property_naming'] = kwargs.get(
|
||||
'_spec_property_naming', False
|
||||
)
|
||||
kwargs['_content_type'] = kwargs.get(
|
||||
'_content_type')
|
||||
kwargs['_host_index'] = kwargs.get('_host_index')
|
||||
kwargs['body'] = \
|
||||
body
|
||||
return self.update_configuration_file_endpoint.call_with_http_info(**kwargs)
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ class ApiClient(object):
|
||||
self.default_headers[header_name] = header_value
|
||||
self.cookie = cookie
|
||||
# Set default User-Agent.
|
||||
self.user_agent = 'Flamenco/3.6 (Blender add-on)'
|
||||
self.user_agent = 'Flamenco/3.8-beta2 (Blender add-on)'
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
@@ -404,7 +404,7 @@ conf = flamenco.manager.Configuration(
|
||||
"OS: {env}\n"\
|
||||
"Python Version: {pyversion}\n"\
|
||||
"Version of the API: 1.0.0\n"\
|
||||
"SDK Package Version: 3.6".\
|
||||
"SDK Package Version: 3.8-beta2".\
|
||||
format(env=sys.platform, pyversion=sys.version)
|
||||
|
||||
def get_host_settings(self):
|
||||
|
||||
@@ -98,6 +98,8 @@ class AssignedTask(ModelNormal):
|
||||
'job_type': (str,), # noqa: E501
|
||||
'task_type': (str,), # noqa: E501
|
||||
'commands': ([Command],), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
@@ -115,6 +117,8 @@ class AssignedTask(ModelNormal):
|
||||
'job_type': 'job_type', # noqa: E501
|
||||
'task_type': 'task_type', # noqa: E501
|
||||
'commands': 'commands', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
@@ -124,7 +128,7 @@ class AssignedTask(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, uuid, job, name, status, priority, job_priority, job_type, task_type, commands, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, uuid, job, name, status, priority, job_priority, job_type, task_type, commands, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""AssignedTask - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -137,6 +141,8 @@ class AssignedTask(ModelNormal):
|
||||
job_type (str):
|
||||
task_type (str):
|
||||
commands ([Command]):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -205,6 +211,8 @@ class AssignedTask(ModelNormal):
|
||||
self.job_type = job_type
|
||||
self.task_type = task_type
|
||||
self.commands = commands
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -225,7 +233,7 @@ class AssignedTask(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, uuid, job, name, status, priority, job_priority, job_type, task_type, commands, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, uuid, job, name, status, priority, job_priority, job_type, task_type, commands, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""AssignedTask - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -238,6 +246,8 @@ class AssignedTask(ModelNormal):
|
||||
job_type (str):
|
||||
task_type (str):
|
||||
commands ([Command]):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -304,6 +314,8 @@ class AssignedTask(ModelNormal):
|
||||
self.job_type = job_type
|
||||
self.task_type = task_type
|
||||
self.commands = commands
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
"""
|
||||
Flamenco manager
|
||||
|
||||
Render Farm manager API # noqa: E501
|
||||
|
||||
The version of the OpenAPI document: 1.0.0
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
import re # noqa: F401
|
||||
import sys # noqa: F401
|
||||
|
||||
from flamenco.manager.model_utils import ( # noqa: F401
|
||||
ApiTypeError,
|
||||
ModelComposed,
|
||||
ModelNormal,
|
||||
ModelSimple,
|
||||
cached_property,
|
||||
change_keys_js_to_python,
|
||||
convert_js_args_to_python_args,
|
||||
date,
|
||||
datetime,
|
||||
file_type,
|
||||
none_type,
|
||||
validate_get_composed_info,
|
||||
OpenApiModel
|
||||
)
|
||||
from flamenco.manager.exceptions import ApiAttributeError
|
||||
|
||||
|
||||
|
||||
class AssignedWorker(ModelNormal):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator.
|
||||
Ref: https://openapi-generator.tech
|
||||
|
||||
Do not edit the class manually.
|
||||
|
||||
Attributes:
|
||||
allowed_values (dict): The key is the tuple path to the attribute
|
||||
and the for var_name this is (var_name,). The value is a dict
|
||||
with a capitalized key describing the allowed value and an allowed
|
||||
value. These dicts store the allowed enum values.
|
||||
attribute_map (dict): The key is attribute name
|
||||
and the value is json key in definition.
|
||||
discriminator_value_class_map (dict): A dict to go from the discriminator
|
||||
variable value to the discriminator class name.
|
||||
validations (dict): The key is the tuple path to the attribute
|
||||
and the for var_name this is (var_name,). The value is a dict
|
||||
that stores validations for max_length, min_length, max_items,
|
||||
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
||||
inclusive_minimum, and regex.
|
||||
additional_properties_type (tuple): A tuple of classes accepted
|
||||
as additional properties values.
|
||||
"""
|
||||
|
||||
allowed_values = {
|
||||
}
|
||||
|
||||
validations = {
|
||||
}
|
||||
|
||||
@cached_property
|
||||
def additional_properties_type():
|
||||
"""
|
||||
This must be a method because a model may have properties that are
|
||||
of type self, this must run after the class is loaded
|
||||
"""
|
||||
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
||||
|
||||
_nullable = False
|
||||
|
||||
@cached_property
|
||||
def openapi_types():
|
||||
"""
|
||||
This must be a method because a model may have properties that are
|
||||
of type self, this must run after the class is loaded
|
||||
|
||||
Returns
|
||||
openapi_types (dict): The key is attribute name
|
||||
and the value is attribute type.
|
||||
"""
|
||||
return {
|
||||
'name': (str,), # noqa: E501
|
||||
'uuid': (str,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
def discriminator():
|
||||
return None
|
||||
|
||||
|
||||
attribute_map = {
|
||||
'name': 'name', # noqa: E501
|
||||
'uuid': 'uuid', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
}
|
||||
|
||||
_composed_schemas = {}
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, name, uuid, *args, **kwargs): # noqa: E501
|
||||
"""AssignedWorker - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
name (str):
|
||||
uuid (str):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
Defaults to True
|
||||
_path_to_item (tuple/list): This is a list of keys or values to
|
||||
drill down to the model in received_data
|
||||
when deserializing a response
|
||||
_spec_property_naming (bool): True if the variable names in the input data
|
||||
are serialized names, as specified in the OpenAPI document.
|
||||
False if the variable names in the input data
|
||||
are pythonic names, e.g. snake case (default)
|
||||
_configuration (Configuration): the instance to use when
|
||||
deserializing a file_type parameter.
|
||||
If passed, type conversion is attempted
|
||||
If omitted no type conversion is done.
|
||||
_visited_composed_classes (tuple): This stores a tuple of
|
||||
classes that we have traveled through so that
|
||||
if we see that class again we will not use its
|
||||
discriminator again.
|
||||
When traveling through a discriminator, the
|
||||
composed schema that is
|
||||
is traveled through is added to this set.
|
||||
For example if Animal has a discriminator
|
||||
petType and we pass in "Dog", and the class Dog
|
||||
allOf includes Animal, we move through Animal
|
||||
once using the discriminator, and pick Dog.
|
||||
Then in Dog, we will make an instance of the
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
||||
_path_to_item = kwargs.pop('_path_to_item', ())
|
||||
_configuration = kwargs.pop('_configuration', None)
|
||||
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
||||
|
||||
self = super(OpenApiModel, cls).__new__(cls)
|
||||
|
||||
if args:
|
||||
raise ApiTypeError(
|
||||
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
||||
args,
|
||||
self.__class__.__name__,
|
||||
),
|
||||
path_to_item=_path_to_item,
|
||||
valid_classes=(self.__class__,),
|
||||
)
|
||||
|
||||
self._data_store = {}
|
||||
self._check_type = _check_type
|
||||
self._spec_property_naming = _spec_property_naming
|
||||
self._path_to_item = _path_to_item
|
||||
self._configuration = _configuration
|
||||
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
||||
|
||||
self.name = name
|
||||
self.uuid = uuid
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
self._configuration.discard_unknown_keys and \
|
||||
self.additional_properties_type is None:
|
||||
# discard variable.
|
||||
continue
|
||||
setattr(self, var_name, var_value)
|
||||
return self
|
||||
|
||||
required_properties = set([
|
||||
'_data_store',
|
||||
'_check_type',
|
||||
'_spec_property_naming',
|
||||
'_path_to_item',
|
||||
'_configuration',
|
||||
'_visited_composed_classes',
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, name, uuid, *args, **kwargs): # noqa: E501
|
||||
"""AssignedWorker - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
name (str):
|
||||
uuid (str):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
Defaults to True
|
||||
_path_to_item (tuple/list): This is a list of keys or values to
|
||||
drill down to the model in received_data
|
||||
when deserializing a response
|
||||
_spec_property_naming (bool): True if the variable names in the input data
|
||||
are serialized names, as specified in the OpenAPI document.
|
||||
False if the variable names in the input data
|
||||
are pythonic names, e.g. snake case (default)
|
||||
_configuration (Configuration): the instance to use when
|
||||
deserializing a file_type parameter.
|
||||
If passed, type conversion is attempted
|
||||
If omitted no type conversion is done.
|
||||
_visited_composed_classes (tuple): This stores a tuple of
|
||||
classes that we have traveled through so that
|
||||
if we see that class again we will not use its
|
||||
discriminator again.
|
||||
When traveling through a discriminator, the
|
||||
composed schema that is
|
||||
is traveled through is added to this set.
|
||||
For example if Animal has a discriminator
|
||||
petType and we pass in "Dog", and the class Dog
|
||||
allOf includes Animal, we move through Animal
|
||||
once using the discriminator, and pick Dog.
|
||||
Then in Dog, we will make an instance of the
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
||||
_path_to_item = kwargs.pop('_path_to_item', ())
|
||||
_configuration = kwargs.pop('_configuration', None)
|
||||
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
||||
|
||||
if args:
|
||||
raise ApiTypeError(
|
||||
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
||||
args,
|
||||
self.__class__.__name__,
|
||||
),
|
||||
path_to_item=_path_to_item,
|
||||
valid_classes=(self.__class__,),
|
||||
)
|
||||
|
||||
self._data_store = {}
|
||||
self._check_type = _check_type
|
||||
self._spec_property_naming = _spec_property_naming
|
||||
self._path_to_item = _path_to_item
|
||||
self._configuration = _configuration
|
||||
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
||||
|
||||
self.name = name
|
||||
self.uuid = uuid
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
self._configuration.discard_unknown_keys and \
|
||||
self.additional_properties_type is None:
|
||||
# discard variable.
|
||||
continue
|
||||
setattr(self, var_name, var_value)
|
||||
if var_name in self.read_only_vars:
|
||||
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
||||
f"class with read only attributes.")
|
||||
@@ -83,6 +83,7 @@ class Command(ModelNormal):
|
||||
return {
|
||||
'name': (str,), # noqa: E501
|
||||
'parameters': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
|
||||
'total_step_count': (int,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
@@ -93,6 +94,7 @@ class Command(ModelNormal):
|
||||
attribute_map = {
|
||||
'name': 'name', # noqa: E501
|
||||
'parameters': 'parameters', # noqa: E501
|
||||
'total_step_count': 'total_step_count', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
@@ -102,12 +104,13 @@ class Command(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, name, parameters, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, name, parameters, total_step_count, *args, **kwargs): # noqa: E501
|
||||
"""Command - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
name (str):
|
||||
parameters ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}):
|
||||
total_step_count (int): Number of steps this command executes. This has to be implemented in the command's implementation on the Worker (to recognise what a \"step\" is), as well as given in the authoring code of the job type JavaScript script (to indicate how many steps the command invocation will perform). If not given, or set to 0, the command is not expected to send any step progress. In this case, the Worker will send a step update at completion of the command.
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -169,6 +172,7 @@ class Command(ModelNormal):
|
||||
|
||||
self.name = name
|
||||
self.parameters = parameters
|
||||
self.total_step_count = total_step_count
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -189,12 +193,13 @@ class Command(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, name, parameters, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, name, parameters, total_step_count, *args, **kwargs): # noqa: E501
|
||||
"""Command - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
name (str):
|
||||
parameters ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}):
|
||||
total_step_count (int): Number of steps this command executes. This has to be implemented in the command's implementation on the Worker (to recognise what a \"step\" is), as well as given in the authoring code of the job type JavaScript script (to indicate how many steps the command invocation will perform). If not given, or set to 0, the command is not expected to send any step progress. In this case, the Worker will send a step update at completion of the command.
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -254,6 +259,7 @@ class Command(ModelNormal):
|
||||
|
||||
self.name = name
|
||||
self.parameters = parameters
|
||||
self.total_step_count = total_step_count
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -93,6 +93,8 @@ class EventJobUpdate(ModelNormal):
|
||||
'type': (str,), # noqa: E501
|
||||
'priority': (int,), # noqa: E501
|
||||
'refresh_tasks': (bool,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'name': (str,), # noqa: E501
|
||||
'previous_status': (JobStatus,), # noqa: E501
|
||||
'delete_requested_at': (datetime,), # noqa: E501
|
||||
@@ -111,6 +113,8 @@ class EventJobUpdate(ModelNormal):
|
||||
'type': 'type', # noqa: E501
|
||||
'priority': 'priority', # noqa: E501
|
||||
'refresh_tasks': 'refresh_tasks', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'name': 'name', # noqa: E501
|
||||
'previous_status': 'previous_status', # noqa: E501
|
||||
'delete_requested_at': 'delete_requested_at', # noqa: E501
|
||||
@@ -124,7 +128,7 @@ class EventJobUpdate(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, id, updated, status, type, refresh_tasks, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, id, updated, status, type, refresh_tasks, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""EventJobUpdate - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -133,6 +137,8 @@ class EventJobUpdate(ModelNormal):
|
||||
status (JobStatus):
|
||||
type (str):
|
||||
refresh_tasks (bool): Indicates that the client should refresh all the job's tasks. This is sent for mass updates, where updating each individual task would generate too many updates to be practical.
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
priority (int): defaults to 50 # noqa: E501
|
||||
@@ -204,6 +210,8 @@ class EventJobUpdate(ModelNormal):
|
||||
self.type = type
|
||||
self.priority = priority
|
||||
self.refresh_tasks = refresh_tasks
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -224,7 +232,7 @@ class EventJobUpdate(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, id, updated, status, type, refresh_tasks, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, id, updated, status, type, refresh_tasks, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""EventJobUpdate - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -233,6 +241,8 @@ class EventJobUpdate(ModelNormal):
|
||||
status (JobStatus):
|
||||
type (str):
|
||||
refresh_tasks (bool): Indicates that the client should refresh all the job's tasks. This is sent for mass updates, where updating each individual task would generate too many updates to be practical.
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
priority (int): defaults to 50 # noqa: E501
|
||||
@@ -302,6 +312,8 @@ class EventJobUpdate(ModelNormal):
|
||||
self.type = type
|
||||
self.priority = priority
|
||||
self.refresh_tasks = refresh_tasks
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -30,7 +30,9 @@ from flamenco.manager.exceptions import ApiAttributeError
|
||||
|
||||
|
||||
def lazy_import():
|
||||
from flamenco.manager.model.assigned_worker import AssignedWorker
|
||||
from flamenco.manager.model.task_status import TaskStatus
|
||||
globals()['AssignedWorker'] = AssignedWorker
|
||||
globals()['TaskStatus'] = TaskStatus
|
||||
|
||||
|
||||
@@ -93,6 +95,9 @@ class EventTaskUpdate(ModelNormal):
|
||||
'updated': (datetime,), # noqa: E501
|
||||
'status': (TaskStatus,), # noqa: E501
|
||||
'activity': (str,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'worker': (AssignedWorker,), # noqa: E501
|
||||
'previous_status': (TaskStatus,), # noqa: E501
|
||||
}
|
||||
|
||||
@@ -108,6 +113,9 @@ class EventTaskUpdate(ModelNormal):
|
||||
'updated': 'updated', # noqa: E501
|
||||
'status': 'status', # noqa: E501
|
||||
'activity': 'activity', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'worker': 'worker', # noqa: E501
|
||||
'previous_status': 'previous_status', # noqa: E501
|
||||
}
|
||||
|
||||
@@ -118,7 +126,7 @@ class EventTaskUpdate(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, id, job_id, name, updated, status, activity, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, id, job_id, name, updated, status, activity, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""EventTaskUpdate - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -128,6 +136,8 @@ class EventTaskUpdate(ModelNormal):
|
||||
updated (datetime): Timestamp of last update
|
||||
status (TaskStatus):
|
||||
activity (str):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -160,6 +170,7 @@ class EventTaskUpdate(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
worker (AssignedWorker): [optional] # noqa: E501
|
||||
previous_status (TaskStatus): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
@@ -194,6 +205,8 @@ class EventTaskUpdate(ModelNormal):
|
||||
self.updated = updated
|
||||
self.status = status
|
||||
self.activity = activity
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -214,7 +227,7 @@ class EventTaskUpdate(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, id, job_id, name, updated, status, activity, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, id, job_id, name, updated, status, activity, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""EventTaskUpdate - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -224,6 +237,8 @@ class EventTaskUpdate(ModelNormal):
|
||||
updated (datetime): Timestamp of last update
|
||||
status (TaskStatus):
|
||||
activity (str):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -256,6 +271,7 @@ class EventTaskUpdate(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
worker (AssignedWorker): [optional] # noqa: E501
|
||||
previous_status (TaskStatus): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
@@ -288,6 +304,8 @@ class EventTaskUpdate(ModelNormal):
|
||||
self.updated = updated
|
||||
self.status = status
|
||||
self.activity = activity
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -106,6 +106,8 @@ class Job(ModelComposed):
|
||||
'updated': (datetime,), # noqa: E501
|
||||
'status': (JobStatus,), # noqa: E501
|
||||
'activity': (str,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'type_etag': (str,), # noqa: E501
|
||||
'settings': (JobSettings,), # noqa: E501
|
||||
'metadata': (JobMetadata,), # noqa: E501
|
||||
@@ -130,6 +132,8 @@ class Job(ModelComposed):
|
||||
'updated': 'updated', # noqa: E501
|
||||
'status': 'status', # noqa: E501
|
||||
'activity': 'activity', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'type_etag': 'type_etag', # noqa: E501
|
||||
'settings': 'settings', # noqa: E501
|
||||
'metadata': 'metadata', # noqa: E501
|
||||
@@ -157,6 +161,8 @@ class Job(ModelComposed):
|
||||
updated (datetime): Timestamp of last update.
|
||||
status (JobStatus):
|
||||
activity (str): Description of the last activity on this job.
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
@@ -187,11 +193,11 @@ class Job(ModelComposed):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501
|
||||
settings (JobSettings): [optional] # noqa: E501
|
||||
metadata (JobMetadata): [optional] # noqa: E501
|
||||
storage (JobStorageInfo): [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
initial_status (JobStatus): [optional] # noqa: E501
|
||||
delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501
|
||||
"""
|
||||
@@ -273,6 +279,8 @@ class Job(ModelComposed):
|
||||
updated (datetime): Timestamp of last update.
|
||||
status (JobStatus):
|
||||
activity (str): Description of the last activity on this job.
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
@@ -303,11 +311,11 @@ class Job(ModelComposed):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501
|
||||
settings (JobSettings): [optional] # noqa: E501
|
||||
metadata (JobMetadata): [optional] # noqa: E501
|
||||
storage (JobStorageInfo): [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
initial_status (JobStatus): [optional] # noqa: E501
|
||||
delete_requested_at (datetime): If job deletion was requested, this is the timestamp at which that request was stored on Flamenco Manager. . [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
@@ -92,6 +92,8 @@ class JobAllOf(ModelNormal):
|
||||
'updated': (datetime,), # noqa: E501
|
||||
'status': (JobStatus,), # noqa: E501
|
||||
'activity': (str,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'delete_requested_at': (datetime,), # noqa: E501
|
||||
}
|
||||
|
||||
@@ -106,6 +108,8 @@ class JobAllOf(ModelNormal):
|
||||
'updated': 'updated', # noqa: E501
|
||||
'status': 'status', # noqa: E501
|
||||
'activity': 'activity', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'delete_requested_at': 'delete_requested_at', # noqa: E501
|
||||
}
|
||||
|
||||
@@ -116,7 +120,7 @@ class JobAllOf(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, id, created, updated, status, activity, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, id, created, updated, status, activity, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""JobAllOf - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -125,6 +129,8 @@ class JobAllOf(ModelNormal):
|
||||
updated (datetime): Timestamp of last update.
|
||||
status (JobStatus):
|
||||
activity (str): Description of the last activity on this job.
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -190,6 +196,8 @@ class JobAllOf(ModelNormal):
|
||||
self.updated = updated
|
||||
self.status = status
|
||||
self.activity = activity
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -210,7 +218,7 @@ class JobAllOf(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, id, created, updated, status, activity, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, id, created, updated, status, activity, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""JobAllOf - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -219,6 +227,8 @@ class JobAllOf(ModelNormal):
|
||||
updated (datetime): Timestamp of last update.
|
||||
status (JobStatus):
|
||||
activity (str): Description of the last activity on this job.
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -282,6 +292,8 @@ class JobAllOf(ModelNormal):
|
||||
self.updated = updated
|
||||
self.status = status
|
||||
self.activity = activity
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
"""
|
||||
Flamenco manager
|
||||
|
||||
Render Farm manager API # noqa: E501
|
||||
|
||||
The version of the OpenAPI document: 1.0.0
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
import re # noqa: F401
|
||||
import sys # noqa: F401
|
||||
|
||||
from flamenco.manager.model_utils import ( # noqa: F401
|
||||
ApiTypeError,
|
||||
ModelComposed,
|
||||
ModelNormal,
|
||||
ModelSimple,
|
||||
cached_property,
|
||||
change_keys_js_to_python,
|
||||
convert_js_args_to_python_args,
|
||||
date,
|
||||
datetime,
|
||||
file_type,
|
||||
none_type,
|
||||
validate_get_composed_info,
|
||||
OpenApiModel
|
||||
)
|
||||
from flamenco.manager.exceptions import ApiAttributeError
|
||||
|
||||
|
||||
|
||||
class JobTagChange(ModelNormal):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator.
|
||||
Ref: https://openapi-generator.tech
|
||||
|
||||
Do not edit the class manually.
|
||||
|
||||
Attributes:
|
||||
allowed_values (dict): The key is the tuple path to the attribute
|
||||
and the for var_name this is (var_name,). The value is a dict
|
||||
with a capitalized key describing the allowed value and an allowed
|
||||
value. These dicts store the allowed enum values.
|
||||
attribute_map (dict): The key is attribute name
|
||||
and the value is json key in definition.
|
||||
discriminator_value_class_map (dict): A dict to go from the discriminator
|
||||
variable value to the discriminator class name.
|
||||
validations (dict): The key is the tuple path to the attribute
|
||||
and the for var_name this is (var_name,). The value is a dict
|
||||
that stores validations for max_length, min_length, max_items,
|
||||
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
||||
inclusive_minimum, and regex.
|
||||
additional_properties_type (tuple): A tuple of classes accepted
|
||||
as additional properties values.
|
||||
"""
|
||||
|
||||
allowed_values = {
|
||||
}
|
||||
|
||||
validations = {
|
||||
}
|
||||
|
||||
@cached_property
|
||||
def additional_properties_type():
|
||||
"""
|
||||
This must be a method because a model may have properties that are
|
||||
of type self, this must run after the class is loaded
|
||||
"""
|
||||
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
||||
|
||||
_nullable = False
|
||||
|
||||
@cached_property
|
||||
def openapi_types():
|
||||
"""
|
||||
This must be a method because a model may have properties that are
|
||||
of type self, this must run after the class is loaded
|
||||
|
||||
Returns
|
||||
openapi_types (dict): The key is attribute name
|
||||
and the value is attribute type.
|
||||
"""
|
||||
return {
|
||||
'id': (str,), # noqa: E501
|
||||
'name': (str,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
def discriminator():
|
||||
return None
|
||||
|
||||
|
||||
attribute_map = {
|
||||
'id': 'id', # noqa: E501
|
||||
'name': 'name', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
}
|
||||
|
||||
_composed_schemas = {}
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
|
||||
"""JobTagChange - a model defined in OpenAPI
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
Defaults to True
|
||||
_path_to_item (tuple/list): This is a list of keys or values to
|
||||
drill down to the model in received_data
|
||||
when deserializing a response
|
||||
_spec_property_naming (bool): True if the variable names in the input data
|
||||
are serialized names, as specified in the OpenAPI document.
|
||||
False if the variable names in the input data
|
||||
are pythonic names, e.g. snake case (default)
|
||||
_configuration (Configuration): the instance to use when
|
||||
deserializing a file_type parameter.
|
||||
If passed, type conversion is attempted
|
||||
If omitted no type conversion is done.
|
||||
_visited_composed_classes (tuple): This stores a tuple of
|
||||
classes that we have traveled through so that
|
||||
if we see that class again we will not use its
|
||||
discriminator again.
|
||||
When traveling through a discriminator, the
|
||||
composed schema that is
|
||||
is traveled through is added to this set.
|
||||
For example if Animal has a discriminator
|
||||
petType and we pass in "Dog", and the class Dog
|
||||
allOf includes Animal, we move through Animal
|
||||
once using the discriminator, and pick Dog.
|
||||
Then in Dog, we will make an instance of the
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
id (str): UUID of the tag. If this is given, 'name' should not be given.. [optional] # noqa: E501
|
||||
name (str): Name of the tag. If this is given, 'id' should not be given.. [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
||||
_path_to_item = kwargs.pop('_path_to_item', ())
|
||||
_configuration = kwargs.pop('_configuration', None)
|
||||
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
||||
|
||||
self = super(OpenApiModel, cls).__new__(cls)
|
||||
|
||||
if args:
|
||||
raise ApiTypeError(
|
||||
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
||||
args,
|
||||
self.__class__.__name__,
|
||||
),
|
||||
path_to_item=_path_to_item,
|
||||
valid_classes=(self.__class__,),
|
||||
)
|
||||
|
||||
self._data_store = {}
|
||||
self._check_type = _check_type
|
||||
self._spec_property_naming = _spec_property_naming
|
||||
self._path_to_item = _path_to_item
|
||||
self._configuration = _configuration
|
||||
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
||||
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
self._configuration.discard_unknown_keys and \
|
||||
self.additional_properties_type is None:
|
||||
# discard variable.
|
||||
continue
|
||||
setattr(self, var_name, var_value)
|
||||
return self
|
||||
|
||||
required_properties = set([
|
||||
'_data_store',
|
||||
'_check_type',
|
||||
'_spec_property_naming',
|
||||
'_path_to_item',
|
||||
'_configuration',
|
||||
'_visited_composed_classes',
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, *args, **kwargs): # noqa: E501
|
||||
"""JobTagChange - a model defined in OpenAPI
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
raised if the wrong type is input.
|
||||
Defaults to True
|
||||
_path_to_item (tuple/list): This is a list of keys or values to
|
||||
drill down to the model in received_data
|
||||
when deserializing a response
|
||||
_spec_property_naming (bool): True if the variable names in the input data
|
||||
are serialized names, as specified in the OpenAPI document.
|
||||
False if the variable names in the input data
|
||||
are pythonic names, e.g. snake case (default)
|
||||
_configuration (Configuration): the instance to use when
|
||||
deserializing a file_type parameter.
|
||||
If passed, type conversion is attempted
|
||||
If omitted no type conversion is done.
|
||||
_visited_composed_classes (tuple): This stores a tuple of
|
||||
classes that we have traveled through so that
|
||||
if we see that class again we will not use its
|
||||
discriminator again.
|
||||
When traveling through a discriminator, the
|
||||
composed schema that is
|
||||
is traveled through is added to this set.
|
||||
For example if Animal has a discriminator
|
||||
petType and we pass in "Dog", and the class Dog
|
||||
allOf includes Animal, we move through Animal
|
||||
once using the discriminator, and pick Dog.
|
||||
Then in Dog, we will make an instance of the
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
id (str): UUID of the tag. If this is given, 'name' should not be given.. [optional] # noqa: E501
|
||||
name (str): Name of the tag. If this is given, 'id' should not be given.. [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
||||
_path_to_item = kwargs.pop('_path_to_item', ())
|
||||
_configuration = kwargs.pop('_configuration', None)
|
||||
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
||||
|
||||
if args:
|
||||
raise ApiTypeError(
|
||||
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
||||
args,
|
||||
self.__class__.__name__,
|
||||
),
|
||||
path_to_item=_path_to_item,
|
||||
valid_classes=(self.__class__,),
|
||||
)
|
||||
|
||||
self._data_store = {}
|
||||
self._check_type = _check_type
|
||||
self._spec_property_naming = _spec_property_naming
|
||||
self._path_to_item = _path_to_item
|
||||
self._configuration = _configuration
|
||||
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
||||
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
self._configuration.discard_unknown_keys and \
|
||||
self.additional_properties_type is None:
|
||||
# discard variable.
|
||||
continue
|
||||
setattr(self, var_name, var_value)
|
||||
if var_name in self.read_only_vars:
|
||||
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
||||
f"class with read only attributes.")
|
||||
@@ -170,11 +170,11 @@ class SubmittedJob(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501
|
||||
settings (JobSettings): [optional] # noqa: E501
|
||||
metadata (JobMetadata): [optional] # noqa: E501
|
||||
storage (JobStorageInfo): [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
initial_status (JobStatus): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
@@ -268,11 +268,11 @@ class SubmittedJob(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is ommitted, the check is bypassed. . [optional] # noqa: E501
|
||||
type_etag (str): Hash of the job type, copied from the `AvailableJobType.etag` property of the job type. The job will be rejected if this field doesn't match the actual job type on the Manager. This prevents job submission with old settings, after the job compiler script has been updated. If this field is omitted, the check is bypassed. . [optional] # noqa: E501
|
||||
settings (JobSettings): [optional] # noqa: E501
|
||||
metadata (JobMetadata): [optional] # noqa: E501
|
||||
storage (JobStorageInfo): [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or ommitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
worker_tag (str): Worker tag that should execute this job. When a tag ID is given, only Workers in that tag will be scheduled to work on it. If empty or omitted, all workers can work on this job. . [optional] # noqa: E501
|
||||
initial_status (JobStatus): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
|
||||
@@ -102,6 +102,8 @@ class Task(ModelNormal):
|
||||
'task_type': (str,), # noqa: E501
|
||||
'activity': (str,), # noqa: E501
|
||||
'commands': ([Command],), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'worker': (TaskWorker,), # noqa: E501
|
||||
'last_touched': (datetime,), # noqa: E501
|
||||
'failed_by_workers': ([TaskWorker],), # noqa: E501
|
||||
@@ -124,6 +126,8 @@ class Task(ModelNormal):
|
||||
'task_type': 'task_type', # noqa: E501
|
||||
'activity': 'activity', # noqa: E501
|
||||
'commands': 'commands', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'worker': 'worker', # noqa: E501
|
||||
'last_touched': 'last_touched', # noqa: E501
|
||||
'failed_by_workers': 'failed_by_workers', # noqa: E501
|
||||
@@ -136,7 +140,7 @@ class Task(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, id, created, updated, job_id, index_in_job, name, status, priority, task_type, activity, commands, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, id, created, updated, job_id, index_in_job, name, status, priority, task_type, activity, commands, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""Task - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -151,6 +155,8 @@ class Task(ModelNormal):
|
||||
task_type (str):
|
||||
activity (str):
|
||||
commands ([Command]):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -224,6 +230,8 @@ class Task(ModelNormal):
|
||||
self.task_type = task_type
|
||||
self.activity = activity
|
||||
self.commands = commands
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -244,7 +252,7 @@ class Task(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, id, created, updated, job_id, index_in_job, name, status, priority, task_type, activity, commands, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, id, created, updated, job_id, index_in_job, name, status, priority, task_type, activity, commands, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""Task - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -259,6 +267,8 @@ class Task(ModelNormal):
|
||||
task_type (str):
|
||||
activity (str):
|
||||
commands ([Command]):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -330,6 +340,8 @@ class Task(ModelNormal):
|
||||
self.task_type = task_type
|
||||
self.activity = activity
|
||||
self.commands = commands
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -31,7 +31,9 @@ from flamenco.manager.exceptions import ApiAttributeError
|
||||
|
||||
def lazy_import():
|
||||
from flamenco.manager.model.task_status import TaskStatus
|
||||
from flamenco.manager.model.task_worker import TaskWorker
|
||||
globals()['TaskStatus'] = TaskStatus
|
||||
globals()['TaskWorker'] = TaskWorker
|
||||
|
||||
|
||||
class TaskSummary(ModelNormal):
|
||||
@@ -94,6 +96,9 @@ class TaskSummary(ModelNormal):
|
||||
'priority': (int,), # noqa: E501
|
||||
'task_type': (str,), # noqa: E501
|
||||
'updated': (datetime,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'worker': (TaskWorker,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
@@ -109,6 +114,9 @@ class TaskSummary(ModelNormal):
|
||||
'priority': 'priority', # noqa: E501
|
||||
'task_type': 'task_type', # noqa: E501
|
||||
'updated': 'updated', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'worker': 'worker', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
@@ -118,7 +126,7 @@ class TaskSummary(ModelNormal):
|
||||
|
||||
@classmethod
|
||||
@convert_js_args_to_python_args
|
||||
def _from_openapi_data(cls, id, name, status, index_in_job, priority, task_type, updated, *args, **kwargs): # noqa: E501
|
||||
def _from_openapi_data(cls, id, name, status, index_in_job, priority, task_type, updated, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""TaskSummary - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -129,6 +137,8 @@ class TaskSummary(ModelNormal):
|
||||
priority (int):
|
||||
task_type (str):
|
||||
updated (datetime):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -161,6 +171,7 @@ class TaskSummary(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
worker (TaskWorker): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
@@ -195,6 +206,8 @@ class TaskSummary(ModelNormal):
|
||||
self.priority = priority
|
||||
self.task_type = task_type
|
||||
self.updated = updated
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
@@ -215,7 +228,7 @@ class TaskSummary(ModelNormal):
|
||||
])
|
||||
|
||||
@convert_js_args_to_python_args
|
||||
def __init__(self, id, name, status, index_in_job, priority, task_type, updated, *args, **kwargs): # noqa: E501
|
||||
def __init__(self, id, name, status, index_in_job, priority, task_type, updated, steps_completed, steps_total, *args, **kwargs): # noqa: E501
|
||||
"""TaskSummary - a model defined in OpenAPI
|
||||
|
||||
Args:
|
||||
@@ -226,6 +239,8 @@ class TaskSummary(ModelNormal):
|
||||
priority (int):
|
||||
task_type (str):
|
||||
updated (datetime):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
|
||||
Keyword Args:
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
@@ -258,6 +273,7 @@ class TaskSummary(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
worker (TaskWorker): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
@@ -290,6 +306,8 @@ class TaskSummary(ModelNormal):
|
||||
self.priority = priority
|
||||
self.task_type = task_type
|
||||
self.updated = updated
|
||||
self.steps_completed = steps_completed
|
||||
self.steps_total = steps_total
|
||||
for var_name, var_value in kwargs.items():
|
||||
if var_name not in self.attribute_map and \
|
||||
self._configuration is not None and \
|
||||
|
||||
@@ -90,6 +90,7 @@ class TaskUpdate(ModelNormal):
|
||||
'task_status': (TaskStatus,), # noqa: E501
|
||||
'activity': (str,), # noqa: E501
|
||||
'log': (str,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
@@ -101,6 +102,7 @@ class TaskUpdate(ModelNormal):
|
||||
'task_status': 'taskStatus', # noqa: E501
|
||||
'activity': 'activity', # noqa: E501
|
||||
'log': 'log', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
@@ -147,6 +149,7 @@ class TaskUpdate(ModelNormal):
|
||||
task_status (TaskStatus): [optional] # noqa: E501
|
||||
activity (str): One-liner to indicate what's currently happening with the task. Overwrites previously sent activity strings.. [optional] # noqa: E501
|
||||
log (str): Log lines for this task, will be appended to logs sent earlier.. [optional] # noqa: E501
|
||||
steps_completed (int): Number of task steps completed. May not exceed the task's steps_total.. [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
@@ -231,6 +234,7 @@ class TaskUpdate(ModelNormal):
|
||||
task_status (TaskStatus): [optional] # noqa: E501
|
||||
activity (str): One-liner to indicate what's currently happening with the task. Overwrites previously sent activity strings.. [optional] # noqa: E501
|
||||
log (str): Log lines for this task, will be appended to logs sent earlier.. [optional] # noqa: E501
|
||||
steps_completed (int): Number of task steps completed. May not exceed the task's steps_total.. [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
|
||||
@@ -141,7 +141,7 @@ class WorkerTag(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
id (str): UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501
|
||||
id (str): UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501
|
||||
description (str): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
@@ -228,7 +228,7 @@ class WorkerTag(ModelNormal):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
id (str): UUID of the tag. Can be ommitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501
|
||||
id (str): UUID of the tag. Can be omitted when creating a new tag, in which case a random UUID will be assigned. . [optional] # noqa: E501
|
||||
description (str): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
|
||||
@@ -32,9 +32,11 @@ from flamenco.manager.exceptions import ApiAttributeError
|
||||
def lazy_import():
|
||||
from flamenco.manager.model.task_status import TaskStatus
|
||||
from flamenco.manager.model.task_summary import TaskSummary
|
||||
from flamenco.manager.model.task_worker import TaskWorker
|
||||
from flamenco.manager.model.worker_task_all_of import WorkerTaskAllOf
|
||||
globals()['TaskStatus'] = TaskStatus
|
||||
globals()['TaskSummary'] = TaskSummary
|
||||
globals()['TaskWorker'] = TaskWorker
|
||||
globals()['WorkerTaskAllOf'] = WorkerTaskAllOf
|
||||
|
||||
|
||||
@@ -98,7 +100,10 @@ class WorkerTask(ModelComposed):
|
||||
'priority': (int,), # noqa: E501
|
||||
'task_type': (str,), # noqa: E501
|
||||
'updated': (datetime,), # noqa: E501
|
||||
'steps_completed': (int,), # noqa: E501
|
||||
'steps_total': (int,), # noqa: E501
|
||||
'job_id': (str,), # noqa: E501
|
||||
'worker': (TaskWorker,), # noqa: E501
|
||||
}
|
||||
|
||||
@cached_property
|
||||
@@ -114,7 +119,10 @@ class WorkerTask(ModelComposed):
|
||||
'priority': 'priority', # noqa: E501
|
||||
'task_type': 'task_type', # noqa: E501
|
||||
'updated': 'updated', # noqa: E501
|
||||
'steps_completed': 'steps_completed', # noqa: E501
|
||||
'steps_total': 'steps_total', # noqa: E501
|
||||
'job_id': 'job_id', # noqa: E501
|
||||
'worker': 'worker', # noqa: E501
|
||||
}
|
||||
|
||||
read_only_vars = {
|
||||
@@ -133,6 +141,8 @@ class WorkerTask(ModelComposed):
|
||||
priority (int):
|
||||
task_type (str):
|
||||
updated (datetime):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
job_id (str):
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
@@ -164,6 +174,7 @@ class WorkerTask(ModelComposed):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
worker (TaskWorker): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
@@ -240,6 +251,8 @@ class WorkerTask(ModelComposed):
|
||||
priority (int):
|
||||
task_type (str):
|
||||
updated (datetime):
|
||||
steps_completed (int):
|
||||
steps_total (int):
|
||||
job_id (str):
|
||||
_check_type (bool): if True, values for parameters in openapi_types
|
||||
will be type checked and a TypeError will be
|
||||
@@ -271,6 +284,7 @@ class WorkerTask(ModelComposed):
|
||||
Animal class but this time we won't travel
|
||||
through its discriminator because we passed in
|
||||
_visited_composed_classes = (Animal,)
|
||||
worker (TaskWorker): [optional] # noqa: E501
|
||||
"""
|
||||
|
||||
_check_type = kwargs.pop('_check_type', True)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
# sys.setrecursionlimit(n)
|
||||
|
||||
from flamenco.manager.model.assigned_task import AssignedTask
|
||||
from flamenco.manager.model.assigned_worker import AssignedWorker
|
||||
from flamenco.manager.model.available_job_setting import AvailableJobSetting
|
||||
from flamenco.manager.model.available_job_setting_eval_info import AvailableJobSettingEvalInfo
|
||||
from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype
|
||||
@@ -46,6 +47,7 @@ from flamenco.manager.model.job_settings import JobSettings
|
||||
from flamenco.manager.model.job_status import JobStatus
|
||||
from flamenco.manager.model.job_status_change import JobStatusChange
|
||||
from flamenco.manager.model.job_storage_info import JobStorageInfo
|
||||
from flamenco.manager.model.job_tag_change import JobTagChange
|
||||
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
||||
from flamenco.manager.model.jobs_query import JobsQuery
|
||||
from flamenco.manager.model.jobs_query_result import JobsQueryResult
|
||||
|
||||
@@ -4,7 +4,7 @@ Render Farm manager API
|
||||
The `flamenco.manager` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 1.0.0
|
||||
- Package version: 3.6
|
||||
- Package version: 3.8-beta2
|
||||
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
||||
For more information, please visit [https://flamenco.blender.org/](https://flamenco.blender.org/)
|
||||
|
||||
@@ -42,6 +42,7 @@ from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedI
|
||||
from flamenco.manager.model.job_mass_deletion_selection import JobMassDeletionSelection
|
||||
from flamenco.manager.model.job_priority_change import JobPriorityChange
|
||||
from flamenco.manager.model.job_status_change import JobStatusChange
|
||||
from flamenco.manager.model.job_tag_change import JobTagChange
|
||||
from flamenco.manager.model.job_tasks_summary import JobTasksSummary
|
||||
from flamenco.manager.model.jobs_query_result import JobsQueryResult
|
||||
from flamenco.manager.model.submitted_job import SubmittedJob
|
||||
@@ -92,6 +93,7 @@ Class | Method | HTTP request | Description
|
||||
*JobsApi* | [**remove_job_blocklist**](flamenco/manager/docs/JobsApi.md#remove_job_blocklist) | **DELETE** /api/v3/jobs/{job_id}/blocklist | Remove entries from a job blocklist.
|
||||
*JobsApi* | [**set_job_priority**](flamenco/manager/docs/JobsApi.md#set_job_priority) | **POST** /api/v3/jobs/{job_id}/setpriority |
|
||||
*JobsApi* | [**set_job_status**](flamenco/manager/docs/JobsApi.md#set_job_status) | **POST** /api/v3/jobs/{job_id}/setstatus |
|
||||
*JobsApi* | [**set_job_tag**](flamenco/manager/docs/JobsApi.md#set_job_tag) | **POST** /api/v3/jobs/{job_id}/settag |
|
||||
*JobsApi* | [**set_task_status**](flamenco/manager/docs/JobsApi.md#set_task_status) | **POST** /api/v3/tasks/{task_id}/setstatus |
|
||||
*JobsApi* | [**submit_job**](flamenco/manager/docs/JobsApi.md#submit_job) | **POST** /api/v3/jobs | Submit a new job for Flamenco Manager to execute.
|
||||
*JobsApi* | [**submit_job_check**](flamenco/manager/docs/JobsApi.md#submit_job_check) | **POST** /api/v3/jobs/check | Submit a new job for Flamenco Manager to check.
|
||||
@@ -105,6 +107,7 @@ Class | Method | HTTP request | Description
|
||||
*MetaApi* | [**get_variables**](flamenco/manager/docs/MetaApi.md#get_variables) | **GET** /api/v3/configuration/variables/{audience}/{platform} | Get the variables of this Manager. Used by the Blender add-on to recognise two-way variables, and for the web interface to do variable replacement based on the browser's platform.
|
||||
*MetaApi* | [**get_version**](flamenco/manager/docs/MetaApi.md#get_version) | **GET** /api/v3/version | Get the Flamenco version of this Manager
|
||||
*MetaApi* | [**save_setup_assistant_config**](flamenco/manager/docs/MetaApi.md#save_setup_assistant_config) | **POST** /api/v3/configuration/setup-assistant | Update the Manager's configuration, and restart it in fully functional mode.
|
||||
*MetaApi* | [**update_configuration_file**](flamenco/manager/docs/MetaApi.md#update_configuration_file) | **PUT** /api/v3/configuration/file | Overwrites the configuration file. It does not actively reload the new configuration.
|
||||
*ShamanApi* | [**shaman_checkout**](flamenco/manager/docs/ShamanApi.md#shaman_checkout) | **POST** /api/v3/shaman/checkout/create | Create a directory, and symlink the required files into it. The files must all have been uploaded to Shaman before calling this endpoint.
|
||||
*ShamanApi* | [**shaman_checkout_requirements**](flamenco/manager/docs/ShamanApi.md#shaman_checkout_requirements) | **POST** /api/v3/shaman/checkout/requirements | Checks a Shaman Requirements file, and reports which files are unknown.
|
||||
*ShamanApi* | [**shaman_file_store**](flamenco/manager/docs/ShamanApi.md#shaman_file_store) | **POST** /api/v3/shaman/files/{checksum}/{filesize} | Store a new file on the Shaman server. Note that the Shaman server can forcibly close the HTTP connection when another client finishes uploading the exact same file, to prevent double uploads. The file's contents should be sent in the request body.
|
||||
@@ -135,6 +138,7 @@ Class | Method | HTTP request | Description
|
||||
## Documentation For Models
|
||||
|
||||
- [AssignedTask](flamenco/manager/docs/AssignedTask.md)
|
||||
- [AssignedWorker](flamenco/manager/docs/AssignedWorker.md)
|
||||
- [AvailableJobSetting](flamenco/manager/docs/AvailableJobSetting.md)
|
||||
- [AvailableJobSettingEvalInfo](flamenco/manager/docs/AvailableJobSettingEvalInfo.md)
|
||||
- [AvailableJobSettingSubtype](flamenco/manager/docs/AvailableJobSettingSubtype.md)
|
||||
@@ -171,6 +175,7 @@ Class | Method | HTTP request | Description
|
||||
- [JobStatus](flamenco/manager/docs/JobStatus.md)
|
||||
- [JobStatusChange](flamenco/manager/docs/JobStatusChange.md)
|
||||
- [JobStorageInfo](flamenco/manager/docs/JobStorageInfo.md)
|
||||
- [JobTagChange](flamenco/manager/docs/JobTagChange.md)
|
||||
- [JobTasksSummary](flamenco/manager/docs/JobTasksSummary.md)
|
||||
- [JobsQuery](flamenco/manager/docs/JobsQuery.md)
|
||||
- [JobsQueryResult](flamenco/manager/docs/JobsQueryResult.md)
|
||||
|
||||
@@ -73,7 +73,7 @@ class FLAMENCO_OT_ping_manager(FlamencoOpMixin, bpy.types.Operator):
|
||||
|
||||
class FLAMENCO_OT_eval_setting(FlamencoOpMixin, bpy.types.Operator):
|
||||
bl_idname = "flamenco.eval_setting"
|
||||
bl_label = "Flamenco: Evalutate Setting Value"
|
||||
bl_label = "Flamenco: Evaluate Setting Value"
|
||||
bl_description = "Automatically determine a suitable value"
|
||||
bl_options = {"REGISTER", "INTERNAL", "UNDO"}
|
||||
|
||||
@@ -240,7 +240,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
||||
# Un-set the 'flamenco_version_mismatch' when the versions match or when
|
||||
# one forced submission is done. Each submission has to go through the
|
||||
# same cycle of submitting, seeing the warning, then explicitly ignoring
|
||||
# the mismatch, to make it a concious decision to keep going with
|
||||
# the mismatch, to make it a conscious decision to keep going with
|
||||
# potentially incompatible versions.
|
||||
context.window_manager.flamenco_version_mismatch = False
|
||||
|
||||
@@ -318,7 +318,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
||||
|
||||
try:
|
||||
# The file extension should be determined by the render settings, not necessarily
|
||||
# by the setttings in the output panel.
|
||||
# by the settings in the output panel.
|
||||
render.use_file_extension = True
|
||||
|
||||
# Rescheduling should not overwrite existing frames.
|
||||
@@ -328,7 +328,7 @@ class FLAMENCO_OT_submit_job(FlamencoOpMixin, bpy.types.Operator):
|
||||
# To work around a shortcoming of BAT, ensure that all
|
||||
# indirectly-linked data is still saved as directly-linked.
|
||||
#
|
||||
# See `133dde41bb5b: Improve handling of (in)direclty linked status
|
||||
# See `133dde41bb5b: Improve handling of (in)directly linked status
|
||||
# for linked IDs` in Blender's Git repository.
|
||||
if old_use_all_linked_data_direct is not None:
|
||||
self.log.info(
|
||||
|
||||
@@ -77,7 +77,7 @@ class FinderInfo:
|
||||
finders: dict[str, FinderInfo] = {
|
||||
"BLENDER_PROJECT": FinderInfo(
|
||||
"Blender Project",
|
||||
"Find a .blend_project directory and use that as indicator for the top level project directory.",
|
||||
"Find a .blender_project directory and use that as indicator for the top level project directory.",
|
||||
_finder_blender_project,
|
||||
),
|
||||
"GIT": FinderInfo(
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user