File: CloudApiModel.py

package info (click to toggle)
cura 5.0.0-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 122,920 kB
  • sloc: python: 44,572; sh: 81; xml: 32; makefile: 16
file content (29 lines) | stat: -rw-r--r-- 1,140 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from typing import Union

from cura import ApplicationMetadata
from cura.UltimakerCloud import UltimakerCloudConstants


class CloudApiModel:
    sdk_version: Union[str, int] = ApplicationMetadata.CuraSDKVersion
    cloud_api_version: str = UltimakerCloudConstants.CuraCloudAPIVersion
    cloud_api_root: str = UltimakerCloudConstants.CuraCloudAPIRoot
    api_url: str = "{cloud_api_root}/cura-packages/v{cloud_api_version}/cura/v{sdk_version}".format(
            cloud_api_root = cloud_api_root,
            cloud_api_version = cloud_api_version,
            sdk_version = sdk_version
        )

    # https://api.ultimaker.com/cura-packages/v1/user/packages
    api_url_user_packages = "{cloud_api_root}/cura-packages/v{cloud_api_version}/user/packages".format(
        cloud_api_root = cloud_api_root,
        cloud_api_version = cloud_api_version,
    )

    @classmethod
    def userPackageUrl(cls, package_id: str) -> str:
        """https://api.ultimaker.com/cura-packages/v1/user/packages/{package_id}"""

        return (CloudApiModel.api_url_user_packages + "/{package_id}").format(
            package_id = package_id
        )