This commit is contained in:
@@ -8,6 +8,7 @@ dependencies = [
|
||||
"connectrpc>=0.6.0",
|
||||
"minio>=7.2.18",
|
||||
"officeconvert",
|
||||
"svix-ksuid>=0.7.0",
|
||||
"uvicorn>=0.35.0",
|
||||
]
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ from pathlib import Path
|
||||
import shutil
|
||||
import tempfile
|
||||
import time
|
||||
import uuid
|
||||
|
||||
from connectrpc.code import Code
|
||||
from connectrpc.errors import ConnectError
|
||||
@@ -29,6 +28,7 @@ from officeconvert.conversion import (
|
||||
RESOLUTION_UHD,
|
||||
)
|
||||
from officeconvertapi.v1 import conversion_connect, conversion_pb2
|
||||
from ksuid import Ksuid
|
||||
|
||||
from minio.error import S3Error
|
||||
|
||||
@@ -75,8 +75,9 @@ class ConversionServiceImpl(conversion_connect.ConversionService):
|
||||
if resolution not in _RESOLUTION_PRESET_BY_PROTO:
|
||||
raise ConnectError(Code.INVALID_ARGUMENT, "resolution is invalid")
|
||||
|
||||
conversion_id = str(uuid.uuid4())
|
||||
bucket_name = f"oc-{conversion_id}"
|
||||
ksuid = Ksuid()
|
||||
conversion_id = str(ksuid)
|
||||
bucket_name = f"oc-{bytes(ksuid).hex()}"
|
||||
upload_key = "input/source.pptx"
|
||||
expires_at = utc_now() + timedelta(seconds=self._config.s3_session_ttl_seconds)
|
||||
|
||||
|
||||
Generated
+20
@@ -292,6 +292,7 @@ dependencies = [
|
||||
{ name = "connectrpc" },
|
||||
{ name = "minio" },
|
||||
{ name = "officeconvert" },
|
||||
{ name = "svix-ksuid" },
|
||||
{ name = "uvicorn" },
|
||||
]
|
||||
|
||||
@@ -300,6 +301,7 @@ requires-dist = [
|
||||
{ name = "connectrpc", specifier = ">=0.6.0" },
|
||||
{ name = "minio", specifier = ">=7.2.18" },
|
||||
{ name = "officeconvert", editable = "packages/officeconvert" },
|
||||
{ name = "svix-ksuid", specifier = ">=0.7.0" },
|
||||
{ name = "uvicorn", specifier = ">=0.35.0" },
|
||||
]
|
||||
|
||||
@@ -479,6 +481,12 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/2d/d8/d6710bbb38f6a715135f7c8a8e5c6227d69299a2b7e989c81315a08054e7/pyqwest-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:a7b8d8ae51ccf6375a9e82e5b38d2129ee3121acf4933a37e541f4fe04a5f758", size = 4577924, upload-time = "2026-03-06T02:32:31.013Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "python-baseconv"
|
||||
version = "1.2.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/33/d0/9297d7d8dd74767b4d5560d834b30b2fff17d39987c23ed8656f476e0d9b/python-baseconv-1.2.2.tar.gz", hash = "sha256:0539f8bd0464013b05ad62e0a1673f0ac9086c76b43ebf9f833053527cd9931b", size = 4929, upload-time = "2019-04-04T19:28:57.17Z" }
|
||||
|
||||
[[package]]
|
||||
name = "python-pptx"
|
||||
version = "1.0.2"
|
||||
@@ -494,6 +502,18 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/d9/4f/00be2196329ebbff56ce564aa94efb0fbc828d00de250b1980de1a34ab49/python_pptx-1.0.2-py3-none-any.whl", hash = "sha256:160838e0b8565a8b1f67947675886e9fea18aa5e795db7ae531606d68e785cba", size = 472788, upload-time = "2024-08-07T17:33:28.192Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "svix-ksuid"
|
||||
version = "0.7.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "python-baseconv" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/ef/f0/b534cc208ee8ea010254208345324d2e3d3c5d13a210d2249f9f11840f2f/svix_ksuid-0.7.0.tar.gz", hash = "sha256:e6b824437b5bb76d75163b928cbf9ae6c871d3e713e5de75cde89bae6a19bfe8", size = 5810, upload-time = "2026-03-14T02:44:51.944Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/74/51/922e6ad4da6b3f4863ea059db2391259c9247b9fe4f0c08da50eff4e1312/svix_ksuid-0.7.0-py3-none-any.whl", hash = "sha256:6bceae49f85e026c77a13e6de81bf4536c15039ecb160415e954403618c2a06f", size = 5607, upload-time = "2026-03-14T02:44:50.822Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.15.0"
|
||||
|
||||
Reference in New Issue
Block a user