marqetive-lib 0.1.15__tar.gz → 0.1.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/PKG-INFO +1 -1
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/pyproject.toml +1 -1
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/instagram/client.py +37 -7
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/linkedin/client.py +10 -2
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/tiktok/client.py +3 -9
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/README.md +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/core/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/core/base.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/core/client.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/core/exceptions.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/core/models.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/factory.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/instagram/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/instagram/exceptions.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/instagram/media.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/instagram/models.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/linkedin/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/linkedin/exceptions.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/linkedin/media.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/linkedin/models.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/tiktok/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/tiktok/exceptions.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/tiktok/media.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/tiktok/models.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/twitter/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/twitter/client.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/twitter/exceptions.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/twitter/media.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/twitter/models.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/py.typed +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/utils/__init__.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/utils/file_handlers.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/utils/helpers.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/utils/media.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/utils/oauth.py +0 -0
- {marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/utils/retry.py +0 -0
|
@@ -360,7 +360,16 @@ class InstagramClient(SocialMediaPlatform):
|
|
|
360
360
|
)
|
|
361
361
|
|
|
362
362
|
result = await self._media_manager.publish_container(container_ids[0])
|
|
363
|
-
|
|
363
|
+
|
|
364
|
+
# Return minimal Post object without fetching details
|
|
365
|
+
return Post(
|
|
366
|
+
post_id=result.media_id,
|
|
367
|
+
platform=self.platform_name,
|
|
368
|
+
content=request.content,
|
|
369
|
+
status=PostStatus.PUBLISHED,
|
|
370
|
+
created_at=datetime.now(),
|
|
371
|
+
url=cast(HttpUrl, result.permalink) if result.permalink else None,
|
|
372
|
+
)
|
|
364
373
|
|
|
365
374
|
async def _create_carousel_post(self, request: PostCreateRequest) -> Post:
|
|
366
375
|
"""Create a carousel post (2-10 images).
|
|
@@ -803,8 +812,15 @@ class InstagramClient(SocialMediaPlatform):
|
|
|
803
812
|
# Publish
|
|
804
813
|
result = await self._media_manager.publish_container(container_ids[0])
|
|
805
814
|
|
|
806
|
-
#
|
|
807
|
-
return
|
|
815
|
+
# Return minimal Post object without fetching details
|
|
816
|
+
return Post(
|
|
817
|
+
post_id=result.media_id,
|
|
818
|
+
platform=self.platform_name,
|
|
819
|
+
content=caption,
|
|
820
|
+
status=PostStatus.PUBLISHED,
|
|
821
|
+
created_at=datetime.now(),
|
|
822
|
+
url=cast(HttpUrl, result.permalink) if result.permalink else None,
|
|
823
|
+
)
|
|
808
824
|
|
|
809
825
|
async def create_reel(
|
|
810
826
|
self,
|
|
@@ -860,8 +876,15 @@ class InstagramClient(SocialMediaPlatform):
|
|
|
860
876
|
# Publish
|
|
861
877
|
result = await self._media_manager.publish_container(container_id)
|
|
862
878
|
|
|
863
|
-
#
|
|
864
|
-
return
|
|
879
|
+
# Return minimal Post object without fetching details
|
|
880
|
+
return Post(
|
|
881
|
+
post_id=result.media_id,
|
|
882
|
+
platform=self.platform_name,
|
|
883
|
+
content=caption,
|
|
884
|
+
status=PostStatus.PUBLISHED,
|
|
885
|
+
created_at=datetime.now(),
|
|
886
|
+
url=cast(HttpUrl, result.permalink) if result.permalink else None,
|
|
887
|
+
)
|
|
865
888
|
|
|
866
889
|
async def create_story(
|
|
867
890
|
self,
|
|
@@ -904,8 +927,15 @@ class InstagramClient(SocialMediaPlatform):
|
|
|
904
927
|
# Publish
|
|
905
928
|
result = await self._media_manager.publish_container(container_id)
|
|
906
929
|
|
|
907
|
-
#
|
|
908
|
-
return
|
|
930
|
+
# Return minimal Post object without fetching details
|
|
931
|
+
return Post(
|
|
932
|
+
post_id=result.media_id,
|
|
933
|
+
platform=self.platform_name,
|
|
934
|
+
content=None, # Stories don't have captions
|
|
935
|
+
status=PostStatus.PUBLISHED,
|
|
936
|
+
created_at=datetime.now(),
|
|
937
|
+
url=cast(HttpUrl, result.permalink) if result.permalink else None,
|
|
938
|
+
)
|
|
909
939
|
|
|
910
940
|
# ==================== Helper Methods ====================
|
|
911
941
|
|
|
@@ -426,8 +426,16 @@ class LinkedInClient(SocialMediaPlatform):
|
|
|
426
426
|
platform=self.platform_name,
|
|
427
427
|
)
|
|
428
428
|
|
|
429
|
-
#
|
|
430
|
-
return
|
|
429
|
+
# Return minimal Post object without fetching details
|
|
430
|
+
return Post(
|
|
431
|
+
post_id=post_id,
|
|
432
|
+
platform=self.platform_name,
|
|
433
|
+
content=request.content or "",
|
|
434
|
+
status=PostStatus.PUBLISHED,
|
|
435
|
+
created_at=datetime.now(),
|
|
436
|
+
author_id=self.author_urn,
|
|
437
|
+
raw_data=response.data,
|
|
438
|
+
)
|
|
431
439
|
|
|
432
440
|
except httpx.HTTPError as e:
|
|
433
441
|
raise PlatformError(
|
|
@@ -231,24 +231,18 @@ class TikTokClient(SocialMediaPlatform):
|
|
|
231
231
|
wait_for_publish=True,
|
|
232
232
|
)
|
|
233
233
|
|
|
234
|
-
# 4. Return
|
|
235
|
-
if upload_result.video_id:
|
|
236
|
-
# Fetch the created post to return full Post object
|
|
237
|
-
return await self.get_post(upload_result.video_id)
|
|
238
|
-
|
|
239
|
-
# For private/SELF_ONLY posts, TikTok may not return video_id
|
|
240
|
-
# Return a minimal Post object with publish_id
|
|
234
|
+
# 4. Return minimal Post object without fetching details
|
|
241
235
|
return Post(
|
|
242
|
-
post_id=upload_result.publish_id,
|
|
236
|
+
post_id=upload_result.video_id or upload_result.publish_id,
|
|
243
237
|
platform=self.platform_name,
|
|
244
238
|
content=request.content,
|
|
245
239
|
status=PostStatus.PUBLISHED,
|
|
246
240
|
created_at=datetime.now(),
|
|
247
241
|
raw_data={
|
|
248
242
|
"publish_id": upload_result.publish_id,
|
|
243
|
+
"video_id": upload_result.video_id,
|
|
249
244
|
"upload_status": upload_result.status,
|
|
250
245
|
"privacy_level": privacy_level.value,
|
|
251
|
-
"note": "Video published but video_id not returned (common for private posts)",
|
|
252
246
|
},
|
|
253
247
|
)
|
|
254
248
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/instagram/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{marqetive_lib-0.1.15 → marqetive_lib-0.1.16}/src/marqetive/platforms/linkedin/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|