mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 21:56:31 +00:00
f9815a0a3f
put new Versioning fix bugs
53 lines
1.4 KiB
Cython
53 lines
1.4 KiB
Cython
from msgpack import unpackb, packb
|
|
|
|
cdef class FileData:
|
|
def __init__(self, str folder, str filename):
|
|
self.folder = folder
|
|
self.filename = filename
|
|
|
|
@staticmethod
|
|
cdef from_msgpack(bytes data):
|
|
unpacked = unpackb(data, strict_map_key=False)
|
|
return FileData(
|
|
unpacked.get("Folder"),
|
|
unpacked.get("Filename"))
|
|
|
|
cdef bytes serialize(self):
|
|
return packb({
|
|
"Folder": self.folder,
|
|
"Filename": self.filename
|
|
})
|
|
|
|
|
|
cdef class UploadFileData(FileData):
|
|
def __init__(self, bytes resource, str folder, str filename):
|
|
super().__init__(folder, filename)
|
|
self.resource = resource
|
|
|
|
@staticmethod
|
|
cdef from_msgpack(bytes data):
|
|
unpacked = unpackb(data, strict_map_key=False)
|
|
return UploadFileData(
|
|
unpacked.get("Resource"),
|
|
unpacked.get("Folder"),
|
|
unpacked.get("Filename"))
|
|
|
|
cdef bytes serialize(self):
|
|
return packb({
|
|
"Resource": self.resource,
|
|
"Folder": self.folder,
|
|
"Filename": self.filename
|
|
})
|
|
|
|
cdef class FileList:
|
|
def __init__(self, list[str] files):
|
|
self.files = files
|
|
|
|
@staticmethod
|
|
cdef from_msgpack(bytes data):
|
|
unpacked = unpackb(data, strict_map_key=False)
|
|
return FileList(unpacked.get("files"))
|
|
|
|
cdef bytes serialize(self):
|
|
return packb({ "files": self.files })
|