marqetive-lib 0.1.12__tar.gz → 0.1.13__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.12 → marqetive_lib-0.1.13}/PKG-INFO +1 -1
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/pyproject.toml +1 -1
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/twitter/client.py +21 -18
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/README.md +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/core/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/core/base.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/core/client.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/core/exceptions.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/core/models.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/factory.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/instagram/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/instagram/client.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/instagram/exceptions.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/instagram/media.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/instagram/models.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/linkedin/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/linkedin/client.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/linkedin/exceptions.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/linkedin/media.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/linkedin/models.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/tiktok/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/tiktok/client.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/tiktok/exceptions.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/tiktok/media.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/tiktok/models.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/twitter/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/twitter/exceptions.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/twitter/media.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/twitter/models.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/py.typed +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/__init__.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/file_handlers.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/helpers.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/media.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/oauth.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/retry.py +0 -0
- {marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/utils/token_validator.py +0 -0
|
@@ -207,14 +207,6 @@ class TwitterClient(SocialMediaPlatform):
|
|
|
207
207
|
platform=self.platform_name,
|
|
208
208
|
)
|
|
209
209
|
|
|
210
|
-
# Validate tweet length (280 characters)
|
|
211
|
-
if request.content and len(request.content) > 280:
|
|
212
|
-
raise ValidationError(
|
|
213
|
-
f"Tweet exceeds 280 characters ({len(request.content)} characters)",
|
|
214
|
-
platform=self.platform_name,
|
|
215
|
-
field="content",
|
|
216
|
-
)
|
|
217
|
-
|
|
218
210
|
try:
|
|
219
211
|
media_ids = []
|
|
220
212
|
|
|
@@ -234,11 +226,17 @@ class TwitterClient(SocialMediaPlatform):
|
|
|
234
226
|
if media_ids:
|
|
235
227
|
tweet_params["media_ids"] = media_ids
|
|
236
228
|
|
|
237
|
-
response = self._tweepy_client.create_tweet(**tweet_params)
|
|
229
|
+
response = self._tweepy_client.create_tweet(**tweet_params, user_auth=False)
|
|
238
230
|
tweet_id = response.data["id"] # type: ignore[index]
|
|
239
231
|
|
|
240
|
-
#
|
|
241
|
-
return
|
|
232
|
+
# Return minimal Post object without fetching details
|
|
233
|
+
return Post(
|
|
234
|
+
post_id=tweet_id,
|
|
235
|
+
platform=self.platform_name,
|
|
236
|
+
content=request.content or "",
|
|
237
|
+
status=PostStatus.PUBLISHED,
|
|
238
|
+
created_at=datetime.now(),
|
|
239
|
+
)
|
|
242
240
|
|
|
243
241
|
except tweepy.TweepyException as e:
|
|
244
242
|
if "429" in str(e):
|
|
@@ -278,6 +276,7 @@ class TwitterClient(SocialMediaPlatform):
|
|
|
278
276
|
],
|
|
279
277
|
expansions=["attachments.media_keys"],
|
|
280
278
|
media_fields=["url", "type", "width", "height"],
|
|
279
|
+
user_auth=False,
|
|
281
280
|
)
|
|
282
281
|
|
|
283
282
|
if not response.data: # type: ignore[attr-defined]
|
|
@@ -339,7 +338,7 @@ class TwitterClient(SocialMediaPlatform):
|
|
|
339
338
|
raise RuntimeError("Client must be used as async context manager")
|
|
340
339
|
|
|
341
340
|
try:
|
|
342
|
-
self._tweepy_client.delete_tweet(post_id)
|
|
341
|
+
self._tweepy_client.delete_tweet(post_id, user_auth=False)
|
|
343
342
|
return True
|
|
344
343
|
|
|
345
344
|
except tweepy.errors.NotFound as e: # type: ignore[attr-defined]
|
|
@@ -432,18 +431,22 @@ class TwitterClient(SocialMediaPlatform):
|
|
|
432
431
|
response = self._tweepy_client.create_tweet(
|
|
433
432
|
text=content,
|
|
434
433
|
in_reply_to_tweet_id=post_id,
|
|
434
|
+
user_auth=False,
|
|
435
435
|
)
|
|
436
436
|
|
|
437
437
|
reply_id = response.data["id"] # type: ignore[index]
|
|
438
438
|
|
|
439
|
-
#
|
|
440
|
-
|
|
441
|
-
reply_id,
|
|
442
|
-
|
|
439
|
+
# Return minimal Comment object without fetching details
|
|
440
|
+
return Comment(
|
|
441
|
+
comment_id=reply_id,
|
|
442
|
+
post_id=post_id,
|
|
443
|
+
platform=self.platform_name,
|
|
444
|
+
content=content,
|
|
445
|
+
author_id="",
|
|
446
|
+
created_at=datetime.now(),
|
|
447
|
+
status=CommentStatus.VISIBLE,
|
|
443
448
|
)
|
|
444
449
|
|
|
445
|
-
return self._parse_reply(reply_response.data, post_id) # type: ignore[attr-defined]
|
|
446
|
-
|
|
447
450
|
except tweepy.TweepyException as e:
|
|
448
451
|
raise PlatformError(
|
|
449
452
|
f"Failed to create reply: {e}",
|
|
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
|
{marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/src/marqetive/platforms/instagram/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{marqetive_lib-0.1.12 → marqetive_lib-0.1.13}/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
|
|
File without changes
|