Bumped version to 3.4-beta0

This commit is contained in:
Sybren A. Stüvel 2024-01-05 17:01:29 +01:00
parent 3fc3ecf49e
commit e6a29e1662
12 changed files with 264 additions and 9 deletions

View File

@ -4,9 +4,9 @@ PKG := projects.blender.org/studio/flamenco
# To update the version number in all the relevant places, update the VERSION
# variable below and run `make update-version`.
VERSION := 3.3.1
VERSION := 3.4-beta0
# "alpha", "beta", or "release".
RELEASE_CYCLE := release
RELEASE_CYCLE := beta
# _GIT_DESCRIPTION_OR_TAG is either something like '16-123abc' (when we're 16
# commits since the last tag) or it's something like `v3.0-beta2` (when exactly

View File

@ -5,14 +5,14 @@
bl_info = {
"name": "Flamenco 3",
"author": "Sybren A. Stüvel",
"version": (3, 3, 1),
"version": (3, 4),
"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.4-beta0 of the add-on, which is not a stable release",
}
from pathlib import Path

View File

@ -10,7 +10,7 @@
"""
__version__ = "3.3.1"
__version__ = "3.4-beta0"
# import ApiClient
from flamenco.manager.api_client import ApiClient

View File

@ -28,6 +28,7 @@ from flamenco.manager.model.job import Job
from flamenco.manager.model.job_blocklist import JobBlocklist
from flamenco.manager.model.job_deletion_info import JobDeletionInfo
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
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_tasks_summary import JobTasksSummary
@ -99,6 +100,56 @@ class JobsApi(object):
},
api_client=api_client
)
self.delete_job_mass_endpoint = _Endpoint(
settings={
'response_type': None,
'auth': [],
'endpoint_path': '/api/v3/jobs/mass-delete',
'operation_id': 'delete_job_mass',
'http_method': 'DELETE',
'servers': None,
},
params_map={
'all': [
'job_mass_deletion_selection',
],
'required': [
'job_mass_deletion_selection',
],
'nullable': [
],
'enum': [
],
'validation': [
]
},
root_map={
'validations': {
},
'allowed_values': {
},
'openapi_types': {
'job_mass_deletion_selection':
(JobMassDeletionSelection,),
},
'attribute_map': {
},
'location_map': {
'job_mass_deletion_selection': 'body',
},
'collection_format_map': {
}
},
headers_map={
'accept': [
'application/json'
],
'content_type': [
'application/json'
]
},
api_client=api_client
)
self.delete_job_what_would_it_do_endpoint = _Endpoint(
settings={
'response_type': (JobDeletionInfo,),
@ -1076,6 +1127,83 @@ class JobsApi(object):
job_id
return self.delete_job_endpoint.call_with_http_info(**kwargs)
def delete_job_mass(
self,
job_mass_deletion_selection,
**kwargs
):
"""Mark jobs for deletion, based on certain criteria. # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
>>> thread = api.delete_job_mass(job_mass_deletion_selection, async_req=True)
>>> result = thread.get()
Args:
job_mass_deletion_selection (JobMassDeletionSelection): Parameters to determine which jobs to delete.
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_mass_deletion_selection'] = \
job_mass_deletion_selection
return self.delete_job_mass_endpoint.call_with_http_info(**kwargs)
def delete_job_what_would_it_do(
self,
job_id,

View File

@ -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.3.1 (Blender add-on)'
self.user_agent = 'Flamenco/3.4-beta0 (Blender add-on)'
def __enter__(self):
return self

View File

@ -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.3.1".\
"SDK Package Version: 3.4-beta0".\
format(env=sys.platform, pyversion=sys.version)
def get_host_settings(self):

View File

@ -5,6 +5,7 @@ All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**delete_job**](JobsApi.md#delete_job) | **DELETE** /api/v3/jobs/{job_id} | Request deletion this job, including its tasks and any log files. The actual deletion may happen in the background. No job files will be deleted (yet).
[**delete_job_mass**](JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria.
[**delete_job_what_would_it_do**](JobsApi.md#delete_job_what_would_it_do) | **GET** /api/v3/jobs/{job_id}/what-would-delete-do | Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out.
[**fetch_global_last_rendered_info**](JobsApi.md#fetch_global_last_rendered_info) | **GET** /api/v3/jobs/last-rendered | Get the URL that serves the last-rendered images.
[**fetch_job**](JobsApi.md#fetch_job) | **GET** /api/v3/jobs/{job_id} | Fetch info about the job.
@ -90,6 +91,75 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_job_mass**
> delete_job_mass(job_mass_deletion_selection)
Mark jobs for deletion, based on certain criteria.
### Example
```python
import time
import flamenco.manager
from flamenco.manager.api import jobs_api
from flamenco.manager.model.error import Error
from flamenco.manager.model.job_mass_deletion_selection import JobMassDeletionSelection
from pprint import pprint
# Defining the host is optional and defaults to http://localhost
# See configuration.py for a list of all supported configuration parameters.
configuration = flamenco.manager.Configuration(
host = "http://localhost"
)
# Enter a context with an instance of the API client
with flamenco.manager.ApiClient() as api_client:
# Create an instance of the API class
api_instance = jobs_api.JobsApi(api_client)
job_mass_deletion_selection = JobMassDeletionSelection(
last_updated_max=dateutil_parser('1970-01-01T00:00:00.00Z'),
) # JobMassDeletionSelection | Parameters to determine which jobs to delete.
# example passing only required values which don't have defaults set
try:
# Mark jobs for deletion, based on certain criteria.
api_instance.delete_job_mass(job_mass_deletion_selection)
except flamenco.manager.ApiException as e:
print("Exception when calling JobsApi->delete_job_mass: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**job_mass_deletion_selection** | [**JobMassDeletionSelection**](JobMassDeletionSelection.md)| Parameters to determine which jobs to delete. |
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | Jobs were succesfully marked for deletion. | - |
**416** | There were no jobs that match the request. | - |
**0** | Error message | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_job_what_would_it_do**
> JobDeletionInfo delete_job_what_would_it_do(job_id)

View File

@ -29,6 +29,7 @@ from flamenco.manager.model.job_blocklist import JobBlocklist
from flamenco.manager.model.job_blocklist_entry import JobBlocklistEntry
from flamenco.manager.model.job_deletion_info import JobDeletionInfo
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
from flamenco.manager.model.job_mass_deletion_selection import JobMassDeletionSelection
from flamenco.manager.model.job_metadata import JobMetadata
from flamenco.manager.model.job_priority_change import JobPriorityChange
from flamenco.manager.model.job_settings import JobSettings

View File

@ -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.3.1
- Package version: 3.4-beta0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://flamenco.io/](https://flamenco.io/)
@ -39,6 +39,7 @@ from flamenco.manager.model.job import Job
from flamenco.manager.model.job_blocklist import JobBlocklist
from flamenco.manager.model.job_deletion_info import JobDeletionInfo
from flamenco.manager.model.job_last_rendered_image_info import JobLastRenderedImageInfo
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_tasks_summary import JobTasksSummary
@ -76,6 +77,7 @@ All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*JobsApi* | [**delete_job**](flamenco/manager/docs/JobsApi.md#delete_job) | **DELETE** /api/v3/jobs/{job_id} | Request deletion this job, including its tasks and any log files. The actual deletion may happen in the background. No job files will be deleted (yet).
*JobsApi* | [**delete_job_mass**](flamenco/manager/docs/JobsApi.md#delete_job_mass) | **DELETE** /api/v3/jobs/mass-delete | Mark jobs for deletion, based on certain criteria.
*JobsApi* | [**delete_job_what_would_it_do**](flamenco/manager/docs/JobsApi.md#delete_job_what_would_it_do) | **GET** /api/v3/jobs/{job_id}/what-would-delete-do | Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out.
*JobsApi* | [**fetch_global_last_rendered_info**](flamenco/manager/docs/JobsApi.md#fetch_global_last_rendered_info) | **GET** /api/v3/jobs/last-rendered | Get the URL that serves the last-rendered images.
*JobsApi* | [**fetch_job**](flamenco/manager/docs/JobsApi.md#fetch_job) | **GET** /api/v3/jobs/{job_id} | Fetch info about the job.
@ -152,6 +154,7 @@ Class | Method | HTTP request | Description
- [JobBlocklistEntry](flamenco/manager/docs/JobBlocklistEntry.md)
- [JobDeletionInfo](flamenco/manager/docs/JobDeletionInfo.md)
- [JobLastRenderedImageInfo](flamenco/manager/docs/JobLastRenderedImageInfo.md)
- [JobMassDeletionSelection](flamenco/manager/docs/JobMassDeletionSelection.md)
- [JobMetadata](flamenco/manager/docs/JobMetadata.md)
- [JobPriorityChange](flamenco/manager/docs/JobPriorityChange.md)
- [JobSettings](flamenco/manager/docs/JobSettings.md)

View File

@ -55,7 +55,7 @@ class ApiClient {
* @default {}
*/
this.defaultHeaders = {
'User-Agent': 'Flamenco/3.3.1 / webbrowser'
'User-Agent': 'Flamenco/3.4-beta0 / webbrowser'
};
/**

View File

@ -31,6 +31,7 @@ import JobAllOf from './model/JobAllOf';
import JobBlocklistEntry from './model/JobBlocklistEntry';
import JobDeletionInfo from './model/JobDeletionInfo';
import JobLastRenderedImageInfo from './model/JobLastRenderedImageInfo';
import JobMassDeletionSelection from './model/JobMassDeletionSelection';
import JobPriorityChange from './model/JobPriorityChange';
import JobStatus from './model/JobStatus';
import JobStatusChange from './model/JobStatusChange';
@ -242,6 +243,12 @@ export {
*/
JobLastRenderedImageInfo,
/**
* The JobMassDeletionSelection model constructor.
* @property {module:model/JobMassDeletionSelection}
*/
JobMassDeletionSelection,
/**
* The JobPriorityChange model constructor.
* @property {module:model/JobPriorityChange}

View File

@ -20,6 +20,7 @@ import Job from '../model/Job';
import JobBlocklistEntry from '../model/JobBlocklistEntry';
import JobDeletionInfo from '../model/JobDeletionInfo';
import JobLastRenderedImageInfo from '../model/JobLastRenderedImageInfo';
import JobMassDeletionSelection from '../model/JobMassDeletionSelection';
import JobPriorityChange from '../model/JobPriorityChange';
import JobStatusChange from '../model/JobStatusChange';
import JobTasksSummary from '../model/JobTasksSummary';
@ -96,6 +97,51 @@ export default class JobsApi {
}
/**
* Mark jobs for deletion, based on certain criteria.
* @param {module:model/JobMassDeletionSelection} jobMassDeletionSelection Parameters to determine which jobs to delete.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing HTTP response
*/
deleteJobMassWithHttpInfo(jobMassDeletionSelection) {
let postBody = jobMassDeletionSelection;
// verify the required parameter 'jobMassDeletionSelection' is set
if (jobMassDeletionSelection === undefined || jobMassDeletionSelection === null) {
throw new Error("Missing the required parameter 'jobMassDeletionSelection' when calling deleteJobMass");
}
let pathParams = {
};
let queryParams = {
};
let headerParams = {
};
let formParams = {
};
let authNames = [];
let contentTypes = ['application/json'];
let accepts = ['application/json'];
let returnType = null;
return this.apiClient.callApi(
'/api/v3/jobs/mass-delete', 'DELETE',
pathParams, queryParams, headerParams, formParams, postBody,
authNames, contentTypes, accepts, returnType, null
);
}
/**
* Mark jobs for deletion, based on certain criteria.
* @param {module:model/JobMassDeletionSelection} jobMassDeletionSelection Parameters to determine which jobs to delete.
* @return {Promise} a {@link https://www.promisejs.org/|Promise}
*/
deleteJobMass(jobMassDeletionSelection) {
return this.deleteJobMassWithHttpInfo(jobMassDeletionSelection)
.then(function(response_and_data) {
return response_and_data.data;
});
}
/**
* Get info about what would be deleted when deleting this job. The job itself, its logs, and the last-rendered images will always be deleted. The job files are only deleted conditionally, and this operation can be used to figure that out.
* @param {String} jobId