from divera.api.v2 import file as _file
from divera.models import File as _File
[docs]class File(_File):
[docs] @staticmethod
def get_all(
):
request = _file.GetAll(
)
def process_result(result):
if 'status' in result:
if 400 <= result['status'] < 500:
raise PermissionError(result['message'])
return [
File(data=r) for r in list((result['data']['items'] or {}).values())
]
request.process_result = process_result
return request
[docs] def get(
self,
obj=None,
object_id=None,
):
request = _file.Get(
obj=obj or (File(id=int(object_id)) if object_id is not None else None) or self,
)
request.process_result = lambda result: File(data=result['data'])
yield request
[docs] def download(
self,
):
request = _file.DownloadRequest(
obj=self,
)
yield request