diff --git a/appwrite/client.py b/appwrite/client.py index e23845e..b174116 100644 --- a/appwrite/client.py +++ b/appwrite/client.py @@ -2,6 +2,7 @@ import json import os import platform +import sys import requests from .input_file import InputFile from .exception import AppwriteException @@ -14,11 +15,11 @@ def __init__(self): self._endpoint = 'https://cloud.appwrite.io/v1' self._global_headers = { 'content-type': '', - 'user-agent' : f'AppwritePythonSDK/13.1.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})', + 'user-agent' : f'AppwritePythonSDK/13.2.0 ({platform.uname().system}; {platform.uname().version}; {platform.uname().machine})', 'x-sdk-name': 'Python', 'x-sdk-platform': 'server', 'x-sdk-language': 'python', - 'x-sdk-version': '13.1.0', + 'x-sdk-version': '13.2.0', 'X-Appwrite-Response-Format' : '1.8.0', } @@ -120,7 +121,7 @@ def call(self, method, path='', headers=None, params=None, response_type='json') warnings = response.headers.get('x-appwrite-warning') if warnings: for warning in warnings.split(';'): - print(f'Warning: {warning}') + print(f'Warning: {warning}', file=sys.stderr) content_type = response.headers['Content-Type'] diff --git a/appwrite/encoders/value_class_encoder.py b/appwrite/encoders/value_class_encoder.py index 72297a5..fe6dd01 100644 --- a/appwrite/encoders/value_class_encoder.py +++ b/appwrite/encoders/value_class_encoder.py @@ -23,6 +23,16 @@ from ..enums.image_format import ImageFormat from ..enums.password_hash import PasswordHash from ..enums.messaging_provider_type import MessagingProviderType +from ..enums.database_type import DatabaseType +from ..enums.attribute_status import AttributeStatus +from ..enums.column_status import ColumnStatus +from ..enums.index_status import IndexStatus +from ..enums.deployment_status import DeploymentStatus +from ..enums.execution_trigger import ExecutionTrigger +from ..enums.execution_status import ExecutionStatus +from ..enums.health_antivirus_status import HealthAntivirusStatus +from ..enums.health_check_status import HealthCheckStatus +from ..enums.message_status import MessageStatus class ValueClassEncoder(json.JSONEncoder): def default(self, o): @@ -98,4 +108,34 @@ def default(self, o): if isinstance(o, MessagingProviderType): return o.value + if isinstance(o, DatabaseType): + return o.value + + if isinstance(o, AttributeStatus): + return o.value + + if isinstance(o, ColumnStatus): + return o.value + + if isinstance(o, IndexStatus): + return o.value + + if isinstance(o, DeploymentStatus): + return o.value + + if isinstance(o, ExecutionTrigger): + return o.value + + if isinstance(o, ExecutionStatus): + return o.value + + if isinstance(o, HealthAntivirusStatus): + return o.value + + if isinstance(o, HealthCheckStatus): + return o.value + + if isinstance(o, MessageStatus): + return o.value + return super().default(o) \ No newline at end of file diff --git a/appwrite/enums/attribute_status.py b/appwrite/enums/attribute_status.py new file mode 100644 index 0000000..2f3975d --- /dev/null +++ b/appwrite/enums/attribute_status.py @@ -0,0 +1,8 @@ +from enum import Enum + +class AttributeStatus(Enum): + AVAILABLE = "available" + PROCESSING = "processing" + DELETING = "deleting" + STUCK = "stuck" + FAILED = "failed" diff --git a/appwrite/enums/column_status.py b/appwrite/enums/column_status.py new file mode 100644 index 0000000..7cbba2f --- /dev/null +++ b/appwrite/enums/column_status.py @@ -0,0 +1,8 @@ +from enum import Enum + +class ColumnStatus(Enum): + AVAILABLE = "available" + PROCESSING = "processing" + DELETING = "deleting" + STUCK = "stuck" + FAILED = "failed" diff --git a/appwrite/enums/database_type.py b/appwrite/enums/database_type.py new file mode 100644 index 0000000..a4e48df --- /dev/null +++ b/appwrite/enums/database_type.py @@ -0,0 +1,5 @@ +from enum import Enum + +class DatabaseType(Enum): + LEGACY = "legacy" + TABLESDB = "tablesdb" diff --git a/appwrite/enums/deployment_status.py b/appwrite/enums/deployment_status.py new file mode 100644 index 0000000..7cb6ae4 --- /dev/null +++ b/appwrite/enums/deployment_status.py @@ -0,0 +1,8 @@ +from enum import Enum + +class DeploymentStatus(Enum): + WAITING = "waiting" + PROCESSING = "processing" + BUILDING = "building" + READY = "ready" + FAILED = "failed" diff --git a/appwrite/enums/execution_status.py b/appwrite/enums/execution_status.py new file mode 100644 index 0000000..639b64d --- /dev/null +++ b/appwrite/enums/execution_status.py @@ -0,0 +1,7 @@ +from enum import Enum + +class ExecutionStatus(Enum): + WAITING = "waiting" + PROCESSING = "processing" + COMPLETED = "completed" + FAILED = "failed" diff --git a/appwrite/enums/execution_trigger.py b/appwrite/enums/execution_trigger.py new file mode 100644 index 0000000..1ba2051 --- /dev/null +++ b/appwrite/enums/execution_trigger.py @@ -0,0 +1,6 @@ +from enum import Enum + +class ExecutionTrigger(Enum): + HTTP = "http" + SCHEDULE = "schedule" + EVENT = "event" diff --git a/appwrite/enums/health_antivirus_status.py b/appwrite/enums/health_antivirus_status.py new file mode 100644 index 0000000..38c1684 --- /dev/null +++ b/appwrite/enums/health_antivirus_status.py @@ -0,0 +1,6 @@ +from enum import Enum + +class HealthAntivirusStatus(Enum): + DISABLED = "disabled" + OFFLINE = "offline" + ONLINE = "online" diff --git a/appwrite/enums/health_check_status.py b/appwrite/enums/health_check_status.py new file mode 100644 index 0000000..2cc9c11 --- /dev/null +++ b/appwrite/enums/health_check_status.py @@ -0,0 +1,5 @@ +from enum import Enum + +class HealthCheckStatus(Enum): + PASS = "pass" + FAIL = "fail" diff --git a/appwrite/enums/index_status.py b/appwrite/enums/index_status.py new file mode 100644 index 0000000..1332b4f --- /dev/null +++ b/appwrite/enums/index_status.py @@ -0,0 +1,8 @@ +from enum import Enum + +class IndexStatus(Enum): + AVAILABLE = "available" + PROCESSING = "processing" + DELETING = "deleting" + STUCK = "stuck" + FAILED = "failed" diff --git a/appwrite/enums/message_status.py b/appwrite/enums/message_status.py new file mode 100644 index 0000000..b821a61 --- /dev/null +++ b/appwrite/enums/message_status.py @@ -0,0 +1,8 @@ +from enum import Enum + +class MessageStatus(Enum): + DRAFT = "draft" + PROCESSING = "processing" + SCHEDULED = "scheduled" + SENT = "sent" + FAILED = "failed" diff --git a/setup.py b/setup.py index 37141a8..c49ebf4 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ 'appwrite/encoders', 'appwrite/enums', ], - version = '13.1.0', + version = '13.2.0', license='BSD-3-Clause', description = 'Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API', long_description = long_description, @@ -23,7 +23,7 @@ maintainer = 'Appwrite Team', maintainer_email = 'team@appwrite.io', url = 'https://appwrite.io/support', - download_url='https://github.com/appwrite/sdk-for-python/archive/13.1.0.tar.gz', + download_url='https://github.com/appwrite/sdk-for-python/archive/13.2.0.tar.gz', install_requires=[ 'requests', ],