marqetive-lib 0.2.3__tar.gz → 0.2.4__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.2.3 → marqetive_lib-0.2.4}/PKG-INFO +1 -1
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/pyproject.toml +1 -1
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/twitter/media.py +22 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/README.md +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/core/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/core/base.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/core/client.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/core/exceptions.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/core/models.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/factory.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/instagram/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/instagram/client.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/instagram/exceptions.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/instagram/media.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/instagram/models.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/linkedin/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/linkedin/client.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/linkedin/exceptions.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/linkedin/media.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/linkedin/models.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/tiktok/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/tiktok/client.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/tiktok/exceptions.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/tiktok/media.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/tiktok/models.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/twitter/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/twitter/client.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/twitter/exceptions.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/platforms/twitter/models.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/py.typed +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/utils/__init__.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/utils/file_handlers.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/utils/helpers.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/utils/media.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/utils/oauth.py +0 -0
- {marqetive_lib-0.2.3 → marqetive_lib-0.2.4}/src/marqetive/utils/retry.py +0 -0
|
@@ -25,6 +25,7 @@ from marqetive.core.exceptions import (
|
|
|
25
25
|
MediaUploadError,
|
|
26
26
|
)
|
|
27
27
|
from marqetive.core.models import ProgressEvent, ProgressStatus
|
|
28
|
+
from marqetive.platforms.twitter.exceptions import TwitterUnauthorizedError
|
|
28
29
|
from marqetive.utils.file_handlers import download_file
|
|
29
30
|
from marqetive.utils.media import (
|
|
30
31
|
detect_mime_type,
|
|
@@ -399,6 +400,17 @@ class TwitterMediaManager:
|
|
|
399
400
|
|
|
400
401
|
try:
|
|
401
402
|
return await _do_upload()
|
|
403
|
+
except httpx.HTTPStatusError as e:
|
|
404
|
+
if e.response.status_code == 401:
|
|
405
|
+
raise TwitterUnauthorizedError(
|
|
406
|
+
"Unauthorized: Invalid or expired access token",
|
|
407
|
+
error_code=89,
|
|
408
|
+
) from e
|
|
409
|
+
raise MediaUploadError(
|
|
410
|
+
f"Simple upload failed: {e}",
|
|
411
|
+
platform="twitter",
|
|
412
|
+
media_type=detect_mime_type(file_path),
|
|
413
|
+
) from e
|
|
402
414
|
except httpx.HTTPError as e:
|
|
403
415
|
raise MediaUploadError(
|
|
404
416
|
f"Simple upload failed: {e}",
|
|
@@ -701,6 +713,16 @@ class TwitterMediaManager:
|
|
|
701
713
|
response.raise_for_status()
|
|
702
714
|
logger.info(f"Added alt text to media: {media_id}")
|
|
703
715
|
|
|
716
|
+
except httpx.HTTPStatusError as e:
|
|
717
|
+
if e.response.status_code == 401:
|
|
718
|
+
raise TwitterUnauthorizedError(
|
|
719
|
+
"Unauthorized: Invalid or expired access token",
|
|
720
|
+
error_code=89,
|
|
721
|
+
) from e
|
|
722
|
+
raise MediaUploadError(
|
|
723
|
+
f"Failed to add alt text: {e}",
|
|
724
|
+
platform="twitter",
|
|
725
|
+
) from e
|
|
704
726
|
except httpx.HTTPError as e:
|
|
705
727
|
raise MediaUploadError(
|
|
706
728
|
f"Failed to add alt text: {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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|