Files
annotations/Azaion.Loader/file_data.pyx
T
Alex Bezdieniezhnykh f9815a0a3f add list files for autoupdate feature
put new Versioning
fix bugs
2025-06-10 23:38:37 +03:00

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 })