Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions appwrite/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import json
import os
import platform
import sys
import requests
from .input_file import InputFile
from .exception import AppwriteException
Expand All @@ -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',
}

Expand Down Expand Up @@ -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']

Expand Down
40 changes: 40 additions & 0 deletions appwrite/encoders/value_class_encoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -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)
8 changes: 8 additions & 0 deletions appwrite/enums/attribute_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from enum import Enum

class AttributeStatus(Enum):
AVAILABLE = "available"
PROCESSING = "processing"
DELETING = "deleting"
STUCK = "stuck"
FAILED = "failed"
8 changes: 8 additions & 0 deletions appwrite/enums/column_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from enum import Enum

class ColumnStatus(Enum):
AVAILABLE = "available"
PROCESSING = "processing"
DELETING = "deleting"
STUCK = "stuck"
FAILED = "failed"
5 changes: 5 additions & 0 deletions appwrite/enums/database_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from enum import Enum

class DatabaseType(Enum):
LEGACY = "legacy"
TABLESDB = "tablesdb"
8 changes: 8 additions & 0 deletions appwrite/enums/deployment_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from enum import Enum

class DeploymentStatus(Enum):
WAITING = "waiting"
PROCESSING = "processing"
BUILDING = "building"
READY = "ready"
FAILED = "failed"
7 changes: 7 additions & 0 deletions appwrite/enums/execution_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from enum import Enum

class ExecutionStatus(Enum):
WAITING = "waiting"
PROCESSING = "processing"
COMPLETED = "completed"
FAILED = "failed"
6 changes: 6 additions & 0 deletions appwrite/enums/execution_trigger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from enum import Enum

class ExecutionTrigger(Enum):
HTTP = "http"
SCHEDULE = "schedule"
EVENT = "event"
6 changes: 6 additions & 0 deletions appwrite/enums/health_antivirus_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from enum import Enum

class HealthAntivirusStatus(Enum):
DISABLED = "disabled"
OFFLINE = "offline"
ONLINE = "online"
5 changes: 5 additions & 0 deletions appwrite/enums/health_check_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from enum import Enum

class HealthCheckStatus(Enum):
PASS = "pass"
FAIL = "fail"
8 changes: 8 additions & 0 deletions appwrite/enums/index_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from enum import Enum

class IndexStatus(Enum):
AVAILABLE = "available"
PROCESSING = "processing"
DELETING = "deleting"
STUCK = "stuck"
FAILED = "failed"
8 changes: 8 additions & 0 deletions appwrite/enums/message_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from enum import Enum

class MessageStatus(Enum):
DRAFT = "draft"
PROCESSING = "processing"
SCHEDULED = "scheduled"
SENT = "sent"
FAILED = "failed"
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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',
],
Expand Down