This commit is contained in:
Administrator
2022-08-21 15:20:34 +03:00
parent 30c4422e27
commit 81388144aa
14 changed files with 54 additions and 179 deletions

View File

@@ -1,38 +1,47 @@
import datetime
import io
from random import choice
from time import sleep
from django.core.management import BaseCommand
from requests import get, post
from minio import Minio
from Sprint import settings
from SprintLib.queue import send_to_queue
from SprintLib.redis import lock
BUCKET_NAME = 'dev'
client = Minio(
settings.MINIO_HOST,
access_key=settings.MINIO_ACCESS_KEY,
secret_key=settings.MINIO_SECRET_KEY,
secure=False
)
@lock('write_bytes')
def write_bytes(data: bytes):
url = settings.FS_HOST + ":" + str(settings.FS_PORT) + "/upload_file"
print(url)
try:
return post(url, data=data).json()["id"]
except Exception:
return 0
obj = client.get_object(BUCKET_NAME, 'meta.txt')
num = int(obj.data.decode('utf-8')) + 1
b_num = str(num).encode('utf-8')
client.put_object(BUCKET_NAME, str(num), io.BytesIO(data), len(data))
client.put_object(BUCKET_NAME, 'meta.txt', io.BytesIO(b_num), len(b_num))
return num
def get_bytes(num: int) -> bytes:
url = settings.FS_HOST + ":" + str(settings.FS_PORT) + "/get_file?id=" + str(num)
print(url)
try:
return get(url).content
except Exception:
return client.get_object(BUCKET_NAME, str(num)).data
except:
return b''
def delete_file(num: int):
url = settings.FS_HOST + ":" + str(settings.FS_PORT) + "/delete_file?id=" + str(num)
print(url)
try:
post(url)
except Exception:
client.remove_object(BUCKET_NAME, str(num))
except:
...