thestage 0.5.47__py3-none-any.whl → 0.5.49__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- thestage/.env +5 -5
- thestage/__init__.py +3 -4
- thestage/__main__.py +9 -9
- thestage/cli_command.py +56 -56
- thestage/cli_command_helper.py +51 -51
- thestage/color_scheme/color_scheme.py +7 -7
- thestage/config/__init__.py +18 -18
- thestage/config/config_storage.py +5 -3
- thestage/config/env_base.py +7 -7
- thestage/controllers/__init__.py +0 -0
- thestage/controllers/base_controller.py +67 -67
- thestage/controllers/config_controller.py +137 -137
- thestage/controllers/container_controller.py +389 -389
- thestage/controllers/instance_controller.py +183 -183
- thestage/controllers/project_controller.py +802 -783
- thestage/controllers/utils_controller.py +32 -32
- thestage/debug_main.dist.py +28 -28
- thestage/entities/__init__.py +0 -0
- thestage/entities/container.py +17 -17
- thestage/entities/enums/__init__.py +0 -0
- thestage/entities/enums/order_direction_type.py +6 -6
- thestage/entities/enums/shell_type.py +7 -7
- thestage/entities/enums/tail_output_type.py +6 -6
- thestage/entities/enums/yes_no_response.py +7 -7
- thestage/entities/file_item.py +27 -27
- thestage/entities/project_inference_simulator.py +18 -18
- thestage/entities/project_inference_simulator_model.py +16 -16
- thestage/entities/project_task.py +19 -19
- thestage/entities/rented_instance.py +19 -19
- thestage/entities/self_hosted_instance.py +18 -18
- thestage/exceptions/__init__.py +0 -0
- thestage/exceptions/auth_exception.py +6 -6
- thestage/exceptions/base_exception.py +13 -13
- thestage/exceptions/business_logic_exception.py +6 -6
- thestage/exceptions/config_exception.py +6 -6
- thestage/exceptions/file_system_exception.py +6 -6
- thestage/exceptions/git_access_exception.py +17 -17
- thestage/exceptions/remote_server_exception.py +24 -24
- thestage/git/ProgressPrinter.py +22 -22
- thestage/helpers/__init__.py +0 -0
- thestage/helpers/error_handler.py +115 -115
- thestage/helpers/exception_hook.py +14 -14
- thestage/helpers/logger/__init__.py +0 -0
- thestage/helpers/logger/app_logger.py +50 -50
- thestage/helpers/ssh_util.py +38 -38
- thestage/i18n/en_GB/messages.po +947 -947
- thestage/i18n/translation.py +9 -9
- thestage/main.py +36 -36
- thestage/services/.env +6 -6
- thestage/services/__init__.py +0 -0
- thestage/services/abstract_mapper.py +9 -9
- thestage/services/abstract_service.py +87 -87
- thestage/services/app_config_service.py +52 -52
- thestage/services/clients/__init__.py +0 -0
- thestage/services/clients/git/__init__.py +0 -0
- thestage/services/clients/git/git_client.py +433 -331
- thestage/services/clients/thestage_api/__init__.py +0 -0
- thestage/services/clients/thestage_api/api_client.py +718 -720
- thestage/services/clients/thestage_api/core/api_client_core.py +108 -108
- thestage/services/clients/thestage_api/core/http_client_exception.py +12 -12
- thestage/services/clients/thestage_api/dtos/__init__.py +0 -0
- thestage/services/clients/thestage_api/dtos/base_response.py +13 -13
- thestage/services/clients/thestage_api/dtos/cloud_provider_region.py +19 -19
- thestage/services/clients/thestage_api/dtos/container_param_request.py +11 -11
- thestage/services/clients/thestage_api/dtos/container_response.py +67 -67
- thestage/services/clients/thestage_api/dtos/docker_container_assigned_device.py +10 -10
- thestage/services/clients/thestage_api/dtos/docker_container_controller/docker_container_list_request.py +13 -13
- thestage/services/clients/thestage_api/dtos/docker_container_controller/docker_container_list_response.py +13 -13
- thestage/services/clients/thestage_api/dtos/docker_container_mapping.py +10 -10
- thestage/services/clients/thestage_api/dtos/entity_filter_request.py +14 -14
- thestage/services/clients/thestage_api/dtos/enums/__init__.py +0 -0
- thestage/services/clients/thestage_api/dtos/enums/container_pending_action.py +10 -10
- thestage/services/clients/thestage_api/dtos/enums/container_status.py +17 -17
- thestage/services/clients/thestage_api/dtos/enums/cpu_type.py +8 -8
- thestage/services/clients/thestage_api/dtos/enums/currency_type.py +10 -10
- thestage/services/clients/thestage_api/dtos/enums/daemon_status.py +9 -9
- thestage/services/clients/thestage_api/dtos/enums/disk_type.py +7 -7
- thestage/services/clients/thestage_api/dtos/enums/drive_type.py +7 -7
- thestage/services/clients/thestage_api/dtos/enums/gpu_name.py +8 -8
- thestage/services/clients/thestage_api/dtos/enums/inference_model_status.py +9 -9
- thestage/services/clients/thestage_api/dtos/enums/inference_simulator_status.py +15 -15
- thestage/services/clients/thestage_api/dtos/enums/instance_rented_status.py +17 -17
- thestage/services/clients/thestage_api/dtos/enums/instance_type.py +7 -7
- thestage/services/clients/thestage_api/dtos/enums/location_region.py +11 -11
- thestage/services/clients/thestage_api/dtos/enums/power_status.py +10 -10
- thestage/services/clients/thestage_api/dtos/enums/provider_name.py +11 -11
- thestage/services/clients/thestage_api/dtos/enums/selfhosted_status.py +10 -10
- thestage/services/clients/thestage_api/dtos/enums/task_execution_status.py +12 -12
- thestage/services/clients/thestage_api/dtos/enums/task_status.py +12 -12
- thestage/services/clients/thestage_api/dtos/frontend_status.py +10 -10
- thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_instance_request.py +13 -13
- thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_instance_response.py +13 -13
- thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_sagemaker_request.py +12 -12
- thestage/services/clients/thestage_api/dtos/inference_controller/deploy_inference_model_to_sagemaker_response.py +12 -12
- thestage/services/clients/thestage_api/dtos/inference_controller/get_inference_simulator_request.py +10 -10
- thestage/services/clients/thestage_api/dtos/inference_controller/get_inference_simulator_response.py +13 -13
- thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_list_for_project_request.py +14 -14
- thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_list_for_project_response.py +12 -12
- thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_model_list_for_project_request.py +12 -12
- thestage/services/clients/thestage_api/dtos/inference_controller/inference_simulator_model_list_for_project_response.py +13 -13
- thestage/services/clients/thestage_api/dtos/inference_simulator_model_response.py +11 -11
- thestage/services/clients/thestage_api/dtos/inference_simulator_response.py +11 -11
- thestage/services/clients/thestage_api/dtos/installed_service.py +17 -17
- thestage/services/clients/thestage_api/dtos/instance_detected_gpus.py +20 -20
- thestage/services/clients/thestage_api/dtos/instance_rented_response.py +71 -71
- thestage/services/clients/thestage_api/dtos/logging_controller/docker_container_log_stream_request.py +7 -7
- thestage/services/clients/thestage_api/dtos/logging_controller/log_polling_request.py +13 -13
- thestage/services/clients/thestage_api/dtos/logging_controller/log_polling_response.py +14 -14
- thestage/services/clients/thestage_api/dtos/logging_controller/task_log_stream_request.py +7 -7
- thestage/services/clients/thestage_api/dtos/logging_controller/user_logs_query_request.py +21 -21
- thestage/services/clients/thestage_api/dtos/logging_controller/user_logs_query_response.py +14 -14
- thestage/services/clients/thestage_api/dtos/paginated_entity_list.py +11 -11
- thestage/services/clients/thestage_api/dtos/pagination_data.py +10 -10
- thestage/services/clients/thestage_api/dtos/price_definition.py +14 -14
- thestage/services/clients/thestage_api/dtos/project_controller/project_get_deploy_ssh_key_request.py +7 -7
- thestage/services/clients/thestage_api/dtos/project_controller/project_get_deploy_ssh_key_response.py +10 -10
- thestage/services/clients/thestage_api/dtos/project_controller/project_push_inference_simulator_model_request.py +8 -8
- thestage/services/clients/thestage_api/dtos/project_controller/project_push_inference_simulator_model_response.py +6 -6
- thestage/services/clients/thestage_api/dtos/project_controller/project_run_task_request.py +15 -15
- thestage/services/clients/thestage_api/dtos/project_controller/project_run_task_response.py +10 -10
- thestage/services/clients/thestage_api/dtos/project_controller/project_start_inference_simulator_request.py +13 -14
- thestage/services/clients/thestage_api/dtos/project_controller/project_start_inference_simulator_response.py +10 -10
- thestage/services/clients/thestage_api/dtos/project_response.py +32 -32
- thestage/services/clients/thestage_api/dtos/selfhosted_instance_response.py +56 -56
- thestage/services/clients/thestage_api/dtos/sftp_path_helper.py +13 -13
- thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_key_to_user_request.py +8 -8
- thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_key_to_user_response.py +11 -11
- thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_public_key_to_instance_request.py +8 -8
- thestage/services/clients/thestage_api/dtos/ssh_key_controller/add_ssh_public_key_to_instance_response.py +11 -11
- thestage/services/clients/thestage_api/dtos/ssh_key_controller/is_user_has_public_ssh_key_request.py +7 -7
- thestage/services/clients/thestage_api/dtos/ssh_key_controller/is_user_has_public_ssh_key_response.py +12 -12
- thestage/services/clients/thestage_api/dtos/task_controller/task_list_for_project_request.py +10 -10
- thestage/services/clients/thestage_api/dtos/task_controller/task_list_for_project_response.py +12 -12
- thestage/services/clients/thestage_api/dtos/task_controller/task_status_localized_map_response.py +9 -9
- thestage/services/clients/thestage_api/dtos/task_controller/task_view_response.py +12 -12
- thestage/services/clients/thestage_api/dtos/user_controller/user_profile.py +12 -12
- thestage/services/clients/thestage_api/dtos/validate_token_response.py +11 -11
- thestage/services/config_provider/__init__.py +0 -0
- thestage/services/config_provider/config_provider.py +237 -237
- thestage/services/connect/connect_service.py +196 -196
- thestage/services/connect/dto/remote_server_config.py +9 -9
- thestage/services/container/__init__.py +0 -0
- thestage/services/container/container_service.py +374 -374
- thestage/services/container/mapper/__init__.py +0 -0
- thestage/services/container/mapper/container_mapper.py +30 -30
- thestage/services/core_files/config_entity.py +26 -26
- thestage/services/filesystem_service.py +133 -133
- thestage/services/instance/__init__.py +0 -0
- thestage/services/instance/instance_service.py +303 -303
- thestage/services/instance/mapper/__init__.py +0 -0
- thestage/services/instance/mapper/instance_mapper.py +24 -24
- thestage/services/instance/mapper/selfhosted_mapper.py +33 -33
- thestage/services/logging/byte_print_style.py +5 -5
- thestage/services/logging/dto/log_message.py +15 -15
- thestage/services/logging/dto/log_type.py +6 -6
- thestage/services/logging/exception/log_polling_exception.py +6 -6
- thestage/services/logging/logging_constants.py +3 -3
- thestage/services/logging/logging_service.py +367 -367
- thestage/services/project/__init__.py +0 -0
- thestage/services/project/dto/inference_simulator_dto.py +22 -22
- thestage/services/project/dto/inference_simulator_model_dto.py +20 -20
- thestage/services/project/dto/project_config.py +14 -14
- thestage/services/project/mapper/__init__.py +0 -0
- thestage/services/project/mapper/project_inference_simulator_mapper.py +21 -21
- thestage/services/project/mapper/project_inference_simulator_model_mapper.py +21 -21
- thestage/services/project/mapper/project_task_mapper.py +22 -22
- thestage/services/project/project_service.py +1260 -1241
- thestage/services/remote_server_service.py +609 -609
- thestage/services/service_factory.py +97 -97
- thestage/services/task/dto/task_dto.py +40 -40
- thestage/services/validation_service.py +61 -61
- {thestage-0.5.47.dist-info → thestage-0.5.49.dist-info}/LICENSE.txt +12 -12
- {thestage-0.5.47.dist-info → thestage-0.5.49.dist-info}/METADATA +1 -1
- thestage-0.5.49.dist-info/RECORD +176 -0
- {thestage-0.5.47.dist-info → thestage-0.5.49.dist-info}/WHEEL +1 -1
- thestage/debug_tests.py +0 -12
- thestage/services/clients/.DS_Store +0 -0
- thestage-0.5.47.dist-info/RECORD +0 -178
- {thestage-0.5.47.dist-info → thestage-0.5.49.dist-info}/entry_points.txt +0 -0
|
File without changes
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
3
|
-
|
|
4
|
-
class InferenceSimulatorDto(BaseModel):
|
|
5
|
-
model_config = ConfigDict(use_enum_values=True)
|
|
6
|
-
|
|
7
|
-
id: Optional[int] = Field(None, alias="id")
|
|
8
|
-
client_id: Optional[int] = Field(None, alias="clientId")
|
|
9
|
-
title: Optional[str] = Field(None, alias="title")
|
|
10
|
-
slug: Optional[str] = Field(None, alias="slug")
|
|
11
|
-
docker_container_id: Optional[int] = Field(None, alias="dockerContainerId")
|
|
12
|
-
instance_rented_id: Optional[int] = Field(None, alias="instanceRentedId")
|
|
13
|
-
selfhosted_instance_id: Optional[int] = Field(None, alias="selfhostedInstanceId")
|
|
14
|
-
project_id: Optional[int] = Field(None, alias="projectId")
|
|
15
|
-
status: Optional[str] = Field(None, alias="status")
|
|
16
|
-
commit_hash: Optional[str] = Field(None, alias="commitHash")
|
|
17
|
-
http_endpoint: Optional[str] = Field(None, alias="httpEndpoint")
|
|
18
|
-
grpc_endpoint: Optional[str] = Field(None, alias="grpcEndpoint")
|
|
19
|
-
metrics_endpoint: Optional[str] = Field(None, alias="metricsEndpoint")
|
|
20
|
-
inference_metadata: Optional[str] = Field(None, alias="inferenceMetadata")
|
|
21
|
-
qlip_serve_metadata: Optional[str] = Field(None, alias="qlipServeMetadata")
|
|
22
|
-
created_at: Optional[str] = Field(None, alias="createdAt")
|
|
1
|
+
from typing import Optional
|
|
2
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
3
|
+
|
|
4
|
+
class InferenceSimulatorDto(BaseModel):
|
|
5
|
+
model_config = ConfigDict(use_enum_values=True)
|
|
6
|
+
|
|
7
|
+
id: Optional[int] = Field(None, alias="id")
|
|
8
|
+
client_id: Optional[int] = Field(None, alias="clientId")
|
|
9
|
+
title: Optional[str] = Field(None, alias="title")
|
|
10
|
+
slug: Optional[str] = Field(None, alias="slug")
|
|
11
|
+
docker_container_id: Optional[int] = Field(None, alias="dockerContainerId")
|
|
12
|
+
instance_rented_id: Optional[int] = Field(None, alias="instanceRentedId")
|
|
13
|
+
selfhosted_instance_id: Optional[int] = Field(None, alias="selfhostedInstanceId")
|
|
14
|
+
project_id: Optional[int] = Field(None, alias="projectId")
|
|
15
|
+
status: Optional[str] = Field(None, alias="status")
|
|
16
|
+
commit_hash: Optional[str] = Field(None, alias="commitHash")
|
|
17
|
+
http_endpoint: Optional[str] = Field(None, alias="httpEndpoint")
|
|
18
|
+
grpc_endpoint: Optional[str] = Field(None, alias="grpcEndpoint")
|
|
19
|
+
metrics_endpoint: Optional[str] = Field(None, alias="metricsEndpoint")
|
|
20
|
+
inference_metadata: Optional[str] = Field(None, alias="inferenceMetadata")
|
|
21
|
+
qlip_serve_metadata: Optional[str] = Field(None, alias="qlipServeMetadata")
|
|
22
|
+
created_at: Optional[str] = Field(None, alias="createdAt")
|
|
23
23
|
updated_at: Optional[str] = Field(None, alias="updatedAt")
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
from pydantic import BaseModel, ConfigDict, Field
|
|
3
|
-
|
|
4
|
-
class InferenceSimulatorModelDto(BaseModel):
|
|
5
|
-
model_config = ConfigDict(use_enum_values=True)
|
|
6
|
-
|
|
7
|
-
id: Optional[int] = Field(None, alias='id')
|
|
8
|
-
slug: Optional[str] = Field(None, alias='slug')
|
|
9
|
-
client_id: Optional[int] = Field(None, alias='clientId')
|
|
10
|
-
instance_rented_id: Optional[int] = Field(None, alias='instanceRentedId')
|
|
11
|
-
selfhosted_instance_id: Optional[int] = Field(None, alias='selfhostedInstanceId')
|
|
12
|
-
project_id: Optional[int] = Field(None, alias='projectId')
|
|
13
|
-
status: Optional[str] = Field(None, alias='status')
|
|
14
|
-
environment_metadata: Optional[str] = Field(None, alias='environmentMetadata')
|
|
15
|
-
commit_hash: Optional[str] = Field(None, alias='commitHash')
|
|
16
|
-
cpu_architecture: Optional[str] = Field(None, alias='cpuArchitecture')
|
|
17
|
-
gpu_model: Optional[str] = Field(None, alias='gpuModel')
|
|
18
|
-
ecr_image_url: Optional[str] = Field(None, alias='ecrImageUrl')
|
|
19
|
-
s3_artifacts_url: Optional[str] = Field(None, alias='s3ArtifactsUrl')
|
|
20
|
-
created_at: Optional[str] = Field(None, alias='createdAt')
|
|
1
|
+
from typing import Optional
|
|
2
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
3
|
+
|
|
4
|
+
class InferenceSimulatorModelDto(BaseModel):
|
|
5
|
+
model_config = ConfigDict(use_enum_values=True)
|
|
6
|
+
|
|
7
|
+
id: Optional[int] = Field(None, alias='id')
|
|
8
|
+
slug: Optional[str] = Field(None, alias='slug')
|
|
9
|
+
client_id: Optional[int] = Field(None, alias='clientId')
|
|
10
|
+
instance_rented_id: Optional[int] = Field(None, alias='instanceRentedId')
|
|
11
|
+
selfhosted_instance_id: Optional[int] = Field(None, alias='selfhostedInstanceId')
|
|
12
|
+
project_id: Optional[int] = Field(None, alias='projectId')
|
|
13
|
+
status: Optional[str] = Field(None, alias='status')
|
|
14
|
+
environment_metadata: Optional[str] = Field(None, alias='environmentMetadata')
|
|
15
|
+
commit_hash: Optional[str] = Field(None, alias='commitHash')
|
|
16
|
+
cpu_architecture: Optional[str] = Field(None, alias='cpuArchitecture')
|
|
17
|
+
gpu_model: Optional[str] = Field(None, alias='gpuModel')
|
|
18
|
+
ecr_image_url: Optional[str] = Field(None, alias='ecrImageUrl')
|
|
19
|
+
s3_artifacts_url: Optional[str] = Field(None, alias='s3ArtifactsUrl')
|
|
20
|
+
created_at: Optional[str] = Field(None, alias='createdAt')
|
|
21
21
|
updated_at: Optional[str] = Field(None, alias='updatedAt')
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from pydantic import Field, ConfigDict, BaseModel
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class ProjectConfig(BaseModel):
|
|
7
|
-
model_config = ConfigDict(use_enum_values=True)
|
|
8
|
-
|
|
9
|
-
id: int = Field(None, alias='id')
|
|
10
|
-
slug: str = Field(None, alias='slug')
|
|
11
|
-
git_repository_url: str = Field(None, alias='git_repository_url')
|
|
12
|
-
deploy_key_path: str = Field(None, alias='deploy_key_path')
|
|
13
|
-
default_container_uid: Optional[str] = Field(None, alias='default_container_uid')
|
|
14
|
-
prompt_for_default_container: bool = Field(True, alias='prompt_for_default_container')
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import Field, ConfigDict, BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ProjectConfig(BaseModel):
|
|
7
|
+
model_config = ConfigDict(use_enum_values=True)
|
|
8
|
+
|
|
9
|
+
id: int = Field(None, alias='id')
|
|
10
|
+
slug: str = Field(None, alias='slug')
|
|
11
|
+
git_repository_url: str = Field(None, alias='git_repository_url')
|
|
12
|
+
deploy_key_path: str = Field(None, alias='deploy_key_path')
|
|
13
|
+
default_container_uid: Optional[str] = Field(None, alias='default_container_uid')
|
|
14
|
+
prompt_for_default_container: bool = Field(True, alias='prompt_for_default_container')
|
|
File without changes
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from thestage.entities.project_inference_simulator import ProjectInferenceSimulatorEntity
|
|
4
|
-
from thestage.services.abstract_mapper import AbstractMapper
|
|
5
|
-
from thestage.services.project.dto.inference_simulator_dto import InferenceSimulatorDto
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class ProjectInferenceSimulatorMapper(AbstractMapper):
|
|
9
|
-
|
|
10
|
-
def build_entity(self, item: InferenceSimulatorDto) -> Optional[ProjectInferenceSimulatorEntity]:
|
|
11
|
-
if not item:
|
|
12
|
-
return None
|
|
13
|
-
|
|
14
|
-
return ProjectInferenceSimulatorEntity(
|
|
15
|
-
slug=item.slug or '',
|
|
16
|
-
status=item.status or '',
|
|
17
|
-
http_endpoint=item.http_endpoint or '',
|
|
18
|
-
grpc_endpoint=item.grpc_endpoint or '',
|
|
19
|
-
metrics_endpoint=item.metrics_endpoint or '',
|
|
20
|
-
started_at=item.created_at or '',
|
|
21
|
-
)
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from thestage.entities.project_inference_simulator import ProjectInferenceSimulatorEntity
|
|
4
|
+
from thestage.services.abstract_mapper import AbstractMapper
|
|
5
|
+
from thestage.services.project.dto.inference_simulator_dto import InferenceSimulatorDto
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ProjectInferenceSimulatorMapper(AbstractMapper):
|
|
9
|
+
|
|
10
|
+
def build_entity(self, item: InferenceSimulatorDto) -> Optional[ProjectInferenceSimulatorEntity]:
|
|
11
|
+
if not item:
|
|
12
|
+
return None
|
|
13
|
+
|
|
14
|
+
return ProjectInferenceSimulatorEntity(
|
|
15
|
+
slug=item.slug or '',
|
|
16
|
+
status=item.status or '',
|
|
17
|
+
http_endpoint=item.http_endpoint or '',
|
|
18
|
+
grpc_endpoint=item.grpc_endpoint or '',
|
|
19
|
+
metrics_endpoint=item.metrics_endpoint or '',
|
|
20
|
+
started_at=item.created_at or '',
|
|
21
|
+
)
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from thestage.entities.project_inference_simulator_model import ProjectInferenceSimulatorModelEntity
|
|
4
|
-
from thestage.services.abstract_mapper import AbstractMapper
|
|
5
|
-
from thestage.services.project.dto.inference_simulator_model_dto import InferenceSimulatorModelDto
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class ProjectInferenceSimulatorModelMapper(AbstractMapper):
|
|
9
|
-
def build_entity(self, item: InferenceSimulatorModelDto) -> Optional[ProjectInferenceSimulatorModelEntity]:
|
|
10
|
-
if not item:
|
|
11
|
-
return None
|
|
12
|
-
|
|
13
|
-
return ProjectInferenceSimulatorModelEntity(
|
|
14
|
-
id=item.id,
|
|
15
|
-
slug=item.slug,
|
|
16
|
-
status=item.status or '',
|
|
17
|
-
commit_hash=item.commit_hash or '',
|
|
18
|
-
environment_metadata=item.environment_metadata or '',
|
|
19
|
-
started_at=item.created_at or '',
|
|
20
|
-
finished_at=item.updated_at or ''
|
|
21
|
-
)
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from thestage.entities.project_inference_simulator_model import ProjectInferenceSimulatorModelEntity
|
|
4
|
+
from thestage.services.abstract_mapper import AbstractMapper
|
|
5
|
+
from thestage.services.project.dto.inference_simulator_model_dto import InferenceSimulatorModelDto
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ProjectInferenceSimulatorModelMapper(AbstractMapper):
|
|
9
|
+
def build_entity(self, item: InferenceSimulatorModelDto) -> Optional[ProjectInferenceSimulatorModelEntity]:
|
|
10
|
+
if not item:
|
|
11
|
+
return None
|
|
12
|
+
|
|
13
|
+
return ProjectInferenceSimulatorModelEntity(
|
|
14
|
+
id=item.id,
|
|
15
|
+
slug=item.slug,
|
|
16
|
+
status=item.status or '',
|
|
17
|
+
commit_hash=item.commit_hash or '',
|
|
18
|
+
environment_metadata=item.environment_metadata or '',
|
|
19
|
+
started_at=item.created_at or '',
|
|
20
|
+
finished_at=item.updated_at or ''
|
|
21
|
+
)
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from thestage.entities.project_task import ProjectTaskEntity
|
|
4
|
-
from thestage.services.abstract_mapper import AbstractMapper
|
|
5
|
-
from thestage.services.task.dto.task_dto import TaskDto
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class ProjectTaskMapper(AbstractMapper):
|
|
9
|
-
|
|
10
|
-
def build_entity(self, item: TaskDto) -> Optional[ProjectTaskEntity]:
|
|
11
|
-
if not item:
|
|
12
|
-
return None
|
|
13
|
-
|
|
14
|
-
return ProjectTaskEntity(
|
|
15
|
-
id=item.id or '',
|
|
16
|
-
title=item.title or '',
|
|
17
|
-
status=item.frontend_status.status_translation or '',
|
|
18
|
-
docker_container_id=item.docker_container_id or '',
|
|
19
|
-
docker_container_slug=(str(item.docker_container.slug) or '') if item.docker_container else '',
|
|
20
|
-
started_at=item.started_at or '',
|
|
21
|
-
finished_at=item.finished_at or '',
|
|
22
|
-
)
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from thestage.entities.project_task import ProjectTaskEntity
|
|
4
|
+
from thestage.services.abstract_mapper import AbstractMapper
|
|
5
|
+
from thestage.services.task.dto.task_dto import TaskDto
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ProjectTaskMapper(AbstractMapper):
|
|
9
|
+
|
|
10
|
+
def build_entity(self, item: TaskDto) -> Optional[ProjectTaskEntity]:
|
|
11
|
+
if not item:
|
|
12
|
+
return None
|
|
13
|
+
|
|
14
|
+
return ProjectTaskEntity(
|
|
15
|
+
id=item.id or '',
|
|
16
|
+
title=item.title or '',
|
|
17
|
+
status=item.frontend_status.status_translation or '',
|
|
18
|
+
docker_container_id=item.docker_container_id or '',
|
|
19
|
+
docker_container_slug=(str(item.docker_container.slug) or '') if item.docker_container else '',
|
|
20
|
+
started_at=item.started_at or '',
|
|
21
|
+
finished_at=item.finished_at or '',
|
|
22
|
+
)
|