upload-post 2.6.0__tar.gz → 2.8.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: upload-post
3
- Version: 2.6.0
3
+ Version: 2.8.0
4
4
  Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)
5
5
  Home-page: https://www.upload-post.com/
6
6
  Author: Upload-Post
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="upload-post",
8
- version="2.6.0",
8
+ version="2.8.0",
9
9
  author="Upload-Post",
10
10
  author_email="hi@img2html.com",
11
11
  description="Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)",
@@ -15,7 +15,7 @@ Example:
15
15
  ... )
16
16
  """
17
17
 
18
- __version__ = "2.6.0"
18
+ __version__ = "2.8.0"
19
19
 
20
20
  from .api_client import UploadPostClient, UploadPostError
21
21
 
@@ -177,10 +177,17 @@ class UploadPostClient:
177
177
  data.append(("brand_content_toggle", str(kwargs["brand_content_toggle"]).lower()))
178
178
  if kwargs.get("brand_organic_toggle") is not None:
179
179
  data.append(("brand_organic_toggle", str(kwargs["brand_organic_toggle"]).lower()))
180
-
180
+
181
+ # Shared by TikTok video AND photo uploads: the backend reads privacy_level and
182
+ # post_mode for both /upload (video) and /upload_photos. They used to sit behind
183
+ # the `if is_video` gate, so photo carousels silently published as
184
+ # PUBLIC_TO_EVERYONE / DIRECT_POST regardless of what the caller passed (issue #24).
185
+ if kwargs.get("privacy_level"):
186
+ data.append(("privacy_level", kwargs["privacy_level"]))
187
+ if kwargs.get("post_mode"):
188
+ data.append(("post_mode", kwargs["post_mode"]))
189
+
181
190
  if is_video:
182
- if kwargs.get("privacy_level"):
183
- data.append(("privacy_level", kwargs["privacy_level"]))
184
191
  if kwargs.get("disable_duet") is not None:
185
192
  data.append(("disable_duet", str(kwargs["disable_duet"]).lower()))
186
193
  if kwargs.get("disable_stitch") is not None:
@@ -189,8 +196,6 @@ class UploadPostClient:
189
196
  data.append(("cover_timestamp", str(kwargs["cover_timestamp"])))
190
197
  if kwargs.get("is_aigc") is not None:
191
198
  data.append(("is_aigc", str(kwargs["is_aigc"]).lower()))
192
- if kwargs.get("post_mode"):
193
- data.append(("post_mode", kwargs["post_mode"]))
194
199
  else:
195
200
  if kwargs.get("auto_add_music") is not None:
196
201
  data.append(("auto_add_music", str(kwargs["auto_add_music"]).lower()))
@@ -298,12 +303,16 @@ class UploadPostClient:
298
303
  """Add Facebook-specific parameters."""
299
304
  if kwargs.get("facebook_page_id"):
300
305
  data.append(("facebook_page_id", kwargs["facebook_page_id"]))
301
-
306
+
307
+ # facebook_media_type (POSTS/STORIES/REELS) is honored for BOTH photos and video
308
+ # (backend uploadphotos.py reads request.form.get('facebook_media_type')). Gating it
309
+ # behind is_video prevented publishing Facebook Story photos from the SDK.
310
+ if kwargs.get("facebook_media_type"):
311
+ data.append(("facebook_media_type", kwargs["facebook_media_type"]))
312
+
302
313
  if is_video:
303
314
  if kwargs.get("video_state"):
304
315
  data.append(("video_state", kwargs["video_state"]))
305
- if kwargs.get("facebook_media_type"):
306
- data.append(("facebook_media_type", kwargs["facebook_media_type"]))
307
316
  if kwargs.get("thumbnail_url"):
308
317
  data.append(("thumbnail_url", kwargs["thumbnail_url"]))
309
318
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: upload-post
3
- Version: 2.6.0
3
+ Version: 2.8.0
4
4
  Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)
5
5
  Home-page: https://www.upload-post.com/
6
6
  Author: Upload-Post
File without changes
File without changes