Skip to content

Commit 3435e04

Browse files
committed
added ttl to other object upload helpers, and moved 'name' from positional to keyword argument.
1 parent f2c03d8 commit 3435e04

2 files changed

Lines changed: 24 additions & 12 deletions

File tree

src/runloop_api_client/sdk/async_.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,11 @@ async def list(
351351
async def upload_from_file(
352352
self,
353353
file_path: str | Path,
354-
name: str | None = None,
355354
*,
355+
name: str | None = None,
356356
content_type: ContentType | None = None,
357357
metadata: Optional[Dict[str, str]] = None,
358+
ttl: timedelta | None = None,
358359
**options: Unpack[LongRequestOptions],
359360
) -> AsyncStorageObject:
360361
"""Create and upload an object from a local file path.
@@ -381,16 +382,17 @@ async def upload_from_file(
381382

382383
name = name or path.name
383384
content_type = content_type or detect_content_type(str(file_path))
384-
obj = await self.create(name=name, content_type=content_type, metadata=metadata, **options)
385+
ttl_ms = int(ttl.total_seconds()) * 1000 if ttl else None
386+
obj = await self.create(name=name, content_type=content_type, metadata=metadata, ttl_ms=ttl_ms, **options)
385387
await obj.upload_content(content)
386388
await obj.complete()
387389
return obj
388390

389391
async def upload_from_dir(
390392
self,
391393
dir_path: str | Path,
392-
name: str | None = None,
393394
*,
395+
name: str | None = None,
394396
metadata: Optional[Dict[str, str]] = None,
395397
ttl: timedelta | None = None,
396398
**options: Unpack[LongRequestOptions],
@@ -433,9 +435,10 @@ def synchronous_io() -> io.BytesIO:
433435
async def upload_from_text(
434436
self,
435437
text: str,
436-
name: str,
437438
*,
439+
name: str,
438440
metadata: Optional[Dict[str, str]] = None,
441+
ttl: timedelta | None = None,
439442
**options: Unpack[LongRequestOptions],
440443
) -> AsyncStorageObject:
441444
"""Create and upload an object from a text payload.
@@ -449,7 +452,8 @@ async def upload_from_text(
449452
Returns:
450453
AsyncStorageObject: Wrapper for the uploaded object.
451454
"""
452-
obj = await self.create(name=name, content_type="text", metadata=metadata, **options)
455+
ttl_ms = int(ttl.total_seconds()) * 1000 if ttl else None
456+
obj = await self.create(name=name, content_type="text", metadata=metadata, ttl_ms=ttl_ms, **options)
453457
await obj.upload_content(text)
454458
await obj.complete()
455459
return obj
@@ -461,6 +465,7 @@ async def upload_from_bytes(
461465
*,
462466
content_type: ContentType,
463467
metadata: Optional[Dict[str, str]] = None,
468+
ttl: timedelta | None = None,
464469
**options: Unpack[LongRequestOptions],
465470
) -> AsyncStorageObject:
466471
"""Create and upload an object from a bytes payload.
@@ -475,7 +480,8 @@ async def upload_from_bytes(
475480
Returns:
476481
AsyncStorageObject: Wrapper for the uploaded object.
477482
"""
478-
obj = await self.create(name=name, content_type=content_type, metadata=metadata, **options)
483+
ttl_ms = int(ttl.total_seconds()) * 1000 if ttl else None
484+
obj = await self.create(name=name, content_type=content_type, metadata=metadata, ttl_ms=ttl_ms, **options)
479485
await obj.upload_content(data)
480486
await obj.complete()
481487
return obj

src/runloop_api_client/sdk/sync.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,11 @@ def list(
341341
def upload_from_file(
342342
self,
343343
file_path: str | Path,
344-
name: str | None = None,
345344
*,
345+
name: str | None = None,
346346
content_type: ContentType | None = None,
347347
metadata: Optional[Dict[str, str]] = None,
348+
ttl: timedelta | None = None,
348349
**options: Unpack[LongRequestOptions],
349350
) -> StorageObject:
350351
"""Create and upload an object from a local file path.
@@ -371,16 +372,17 @@ def upload_from_file(
371372

372373
name = name or path.name
373374
content_type = content_type or detect_content_type(str(file_path))
374-
obj = self.create(name=name, content_type=content_type, metadata=metadata, **options)
375+
ttl_ms = int(ttl.total_seconds()) * 1000 if ttl else None
376+
obj = self.create(name=name, content_type=content_type, metadata=metadata, ttl_ms=ttl_ms, **options)
375377
obj.upload_content(content)
376378
obj.complete()
377379
return obj
378380

379381
def upload_from_dir(
380382
self,
381383
dir_path: str | Path,
382-
name: str | None = None,
383384
*,
385+
name: str | None = None,
384386
metadata: Optional[Dict[str, str]] = None,
385387
ttl: timedelta | None = None,
386388
**options: Unpack[LongRequestOptions],
@@ -419,9 +421,10 @@ def upload_from_dir(
419421
def upload_from_text(
420422
self,
421423
text: str,
422-
name: str,
423424
*,
425+
name: str,
424426
metadata: Optional[Dict[str, str]] = None,
427+
ttl: timedelta | None = None,
425428
**options: Unpack[LongRequestOptions],
426429
) -> StorageObject:
427430
"""Create and upload an object from a text payload.
@@ -435,7 +438,8 @@ def upload_from_text(
435438
Returns:
436439
StorageObject: Wrapper for the uploaded object.
437440
"""
438-
obj = self.create(name=name, content_type="text", metadata=metadata, **options)
441+
ttl_ms = int(ttl.total_seconds()) * 1000 if ttl else None
442+
obj = self.create(name=name, content_type="text", metadata=metadata, ttl_ms=ttl_ms, **options)
439443
obj.upload_content(text)
440444
obj.complete()
441445
return obj
@@ -447,6 +451,7 @@ def upload_from_bytes(
447451
*,
448452
content_type: ContentType,
449453
metadata: Optional[Dict[str, str]] = None,
454+
ttl: timedelta | None = None,
450455
**options: Unpack[LongRequestOptions],
451456
) -> StorageObject:
452457
"""Create and upload an object from a bytes payload.
@@ -461,7 +466,8 @@ def upload_from_bytes(
461466
Returns:
462467
StorageObject: Wrapper for the uploaded object.
463468
"""
464-
obj = self.create(name=name, content_type=content_type, metadata=metadata, **options)
469+
ttl_ms = int(ttl.total_seconds()) * 1000 if ttl else None
470+
obj = self.create(name=name, content_type=content_type, metadata=metadata, ttl_ms=ttl_ms, **options)
465471
obj.upload_content(data)
466472
obj.complete()
467473
return obj

0 commit comments

Comments
 (0)