get s3 url
This commit is contained in:
parent
b1527a8f49
commit
23ef8eab20
|
@ -33,7 +33,5 @@ def upload_file(file_id):
|
|||
aws_secret_access_key=settings.SELECTEL['secret'],
|
||||
)
|
||||
s3.upload_fileobj(r.raw, 'inventorization', file_id)
|
||||
object_url = s3.generate_presigned_url('get_object', ExpiresIn=0, Params={'Bucket': 'inventorization', 'Key': file_id})
|
||||
obj.image_aws_url = object_url
|
||||
obj.save()
|
||||
obj.image_aws_url = file_id
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
from django.conf import settings
|
||||
from django.db import models
|
||||
import json
|
||||
import requests
|
||||
import time
|
||||
import boto3
|
||||
|
||||
from telegram import Update
|
||||
|
||||
|
@ -17,9 +17,6 @@ from .updater import tg_bot_updater_instance
|
|||
from .models import TgItem, TmcField
|
||||
from .serializers import TgItemSerializer, TmcFieldSerializer
|
||||
|
||||
from tmc.models import TerritoryItem
|
||||
from tmc.serializers import TerritoryItemSerializer
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger("root")
|
||||
|
@ -33,7 +30,7 @@ class TgItemViewSet(viewsets.ModelViewSet):
|
|||
authentication_classes = ()
|
||||
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
filterset_fields = ['user_id']
|
||||
filterset_fields = ["user_id"]
|
||||
|
||||
def retrieve(self, request, pk=None):
|
||||
item = TgItem.objects.get(id=pk)
|
||||
|
@ -44,8 +41,8 @@ class TgItemViewSet(viewsets.ModelViewSet):
|
|||
# return Response(serializer.data)
|
||||
|
||||
def partial_update(self, request, *args, **kwargs):
|
||||
if 'location_id' in request.data:
|
||||
request.data['location'] = 35
|
||||
if "location_id" in request.data:
|
||||
request.data["location"] = 35
|
||||
return super().partial_update(request)
|
||||
|
||||
@action(detail=False, methods=["post"], url_path=settings.TGBOT["WEBHOOK_URL"])
|
||||
|
@ -69,7 +66,9 @@ class TmcFieldViewset(viewsets.ModelViewSet):
|
|||
|
||||
@action(detail=False, methods=["get"], url_path=r"get_name/(?P<chat_id>[^/.]+)")
|
||||
def get_name(self, request, chat_id):
|
||||
tg_bot_updater_instance.my_queue.put({"name": "admin_get_name", "queryset": chat_id})
|
||||
tg_bot_updater_instance.my_queue.put(
|
||||
{"name": "admin_get_name", "queryset": chat_id}
|
||||
)
|
||||
response = []
|
||||
timer = 30
|
||||
while timer > 0:
|
||||
|
@ -84,7 +83,9 @@ class TmcFieldViewset(viewsets.ModelViewSet):
|
|||
|
||||
@action(detail=False, methods=["get"], url_path=r"get_image/(?P<field_id>[^/.]+)")
|
||||
def get_image(self, request, field_id):
|
||||
tg_bot_updater_instance.my_queue.put({"name": "admin_get_image", "queryset": field_id})
|
||||
tg_bot_updater_instance.my_queue.put(
|
||||
{"name": "admin_get_image", "queryset": field_id}
|
||||
)
|
||||
response = []
|
||||
timer = 30
|
||||
while timer > 0:
|
||||
|
@ -96,3 +97,17 @@ class TmcFieldViewset(viewsets.ModelViewSet):
|
|||
del tg_bot_updater_instance.return_values[field_id]
|
||||
break
|
||||
return Response(response)
|
||||
|
||||
@action(detail=False, methods=["get"], url_path=r"get_image_s3/(?P<file_id>[^/.]+)")
|
||||
def get_image_s3(self, request, file_id):
|
||||
s3 = boto3.client(
|
||||
service_name="s3",
|
||||
endpoint_url="https://s3.ru-1.storage.selcloud.ru",
|
||||
aws_access_key_id=settings.SELECTEL["access"],
|
||||
aws_secret_access_key=settings.SELECTEL["secret"],
|
||||
)
|
||||
object_url = s3.generate_presigned_url(
|
||||
"get_object",
|
||||
Params={"Bucket": "inventorization", "Key": file_id},
|
||||
)
|
||||
return Response([object_url])
|
||||
|
|
Loading…
Reference in New Issue