sticker-convert 2.1.3__tar.gz → 2.1.5__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.
Files changed (97) hide show
  1. {sticker-convert-2.1.3/src/sticker_convert.egg-info → sticker-convert-2.1.5}/PKG-INFO +1 -1
  2. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/__init__.py +1 -1
  3. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui.py +3 -3
  4. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/uploaders/upload_signal.py +1 -0
  5. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/uploaders/upload_telegram.py +1 -0
  6. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/uploaders/xcode_imessage.py +15 -10
  7. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/converter.py +9 -6
  8. {sticker-convert-2.1.3 → sticker-convert-2.1.5/src/sticker_convert.egg-info}/PKG-INFO +1 -1
  9. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/LICENSE +0 -0
  10. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/MANIFEST.in +0 -0
  11. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/README.md +0 -0
  12. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/pyproject.toml +0 -0
  13. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/requirements.txt +0 -0
  14. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/setup.cfg +0 -0
  15. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/__main__.py +0 -0
  16. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/auth/get_kakao_auth.py +0 -0
  17. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/auth/get_line_auth.py +0 -0
  18. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/auth/get_signal_auth.py +0 -0
  19. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/cli.py +0 -0
  20. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/downloaders/download_base.py +0 -0
  21. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/downloaders/download_kakao.py +0 -0
  22. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/downloaders/download_line.py +0 -0
  23. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/downloaders/download_signal.py +0 -0
  24. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/downloaders/download_telegram.py +0 -0
  25. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/flow.py +0 -0
  26. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/comp_frame.py +0 -0
  27. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/config_frame.py +0 -0
  28. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/control_frame.py +0 -0
  29. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/cred_frame.py +0 -0
  30. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/input_frame.py +0 -0
  31. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/output_frame.py +0 -0
  32. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/progress_frame.py +0 -0
  33. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_frames/right_clicker.py +0 -0
  34. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_windows/advanced_compression_window.py +0 -0
  35. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_windows/base_window.py +0 -0
  36. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_windows/kakao_get_auth_window.py +0 -0
  37. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_windows/line_get_auth_window.py +0 -0
  38. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/gui_windows/signal_get_auth_window.py +0 -0
  39. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
  40. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
  41. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
  42. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
  43. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
  44. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
  45. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Contents.json +0 -0
  46. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Contents.json +0 -0
  47. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Sticker 1.png +0 -0
  48. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Contents.json +0 -0
  49. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Sticker 2.png +0 -0
  50. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Contents.json +0 -0
  51. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Sticker 3.png +0 -0
  52. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/App-Store-1024x1024pt.png +0 -0
  53. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json +0 -0
  54. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png +0 -0
  55. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png +0 -0
  56. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png +0 -0
  57. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png +0 -0
  58. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x.png +0 -0
  59. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png +0 -0
  60. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png +0 -0
  61. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png +0 -0
  62. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png +0 -0
  63. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPad-Settings-29pt@2x.png +0 -0
  64. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-Settings-29pt@3x.png +0 -0
  65. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-settings-29pt@2x.png +0 -0
  66. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
  67. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
  68. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  69. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcuserdata/niklaspeterson.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  70. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/xcuserdata/niklaspeterson.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
  71. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
  72. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/appicon.icns +0 -0
  73. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/appicon.ico +0 -0
  74. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/appicon.png +0 -0
  75. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/compression.json +0 -0
  76. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/emoji.json +0 -0
  77. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/help.json +0 -0
  78. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/input.json +0 -0
  79. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/resources/output.json +0 -0
  80. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/uploaders/compress_wastickers.py +0 -0
  81. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/uploaders/upload_base.py +0 -0
  82. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/apple_png_normalize.py +0 -0
  83. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/cache_store.py +0 -0
  84. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/codec_info.py +0 -0
  85. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/curr_dir.py +0 -0
  86. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/fake_cb_msg.py +0 -0
  87. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/format_verify.py +0 -0
  88. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/gui_utils.py +0 -0
  89. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/json_manager.py +0 -0
  90. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/metadata_handler.py +0 -0
  91. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/run_bin.py +0 -0
  92. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert/utils/url_detect.py +0 -0
  93. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert.egg-info/SOURCES.txt +0 -0
  94. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
  95. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert.egg-info/entry_points.txt +0 -0
  96. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert.egg-info/requires.txt +0 -0
  97. {sticker-convert-2.1.3 → sticker-convert-2.1.5}/src/sticker_convert.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sticker-convert
3
- Version: 2.1.3
3
+ Version: 2.1.5
4
4
  Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, iMessage. Written in Python.
5
5
  Author-email: laggykiller <chaudominic2@gmail.com>
6
6
  Maintainer-email: laggykiller <chaudominic2@gmail.com>
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env python3
2
2
  '''sticker-convert'''
3
- __version__ = '2.1.3'
3
+ __version__ = '2.1.5'
@@ -179,13 +179,13 @@ class GUI(Window):
179
179
 
180
180
  def warn_tkinter_bug(self):
181
181
  if (platform.system() == 'Darwin' and
182
- platform.machine() == 'x86_64' and
182
+ platform.mac_ver().split('.')[0] == '14' and
183
183
  sys.version_info[0] == 3 and
184
184
  sys.version_info[1] == 11):
185
185
  msg = 'NOTICE: If buttons are not responsive, try to press '
186
186
  msg += 'on title bar or move mouse cursor away from window for a while.'
187
187
  self.cb_msg(msg)
188
- msg = '(This is due to a bug in tkinter specific to x86_64 macOS python3.11)'
188
+ msg = '(This is due to a bug in tkinter specific to macOS 14 python3.11)'
189
189
  self.cb_msg(msg)
190
190
  msg = '(https://github.com/python/cpython/issues/110218)'
191
191
  self.cb_msg(msg)
@@ -614,7 +614,7 @@ class GUI(Window):
614
614
  self.input_frame.address_entry.config(bootstyle='warning')
615
615
 
616
616
  elif (download_option != input_option and
617
- not (input_option == 'kakao' and url.isnumeric())):
617
+ not (input_option in ('kakao', 'line') and url.isnumeric())):
618
618
 
619
619
  self.input_frame.address_entry.config(bootstyle='danger')
620
620
  self.input_frame.address_tip.config(text=f"Invalid URL. {self.input_presets[input_option_display]['example']}")
@@ -114,6 +114,7 @@ class UploadSignal(UploadBase):
114
114
 
115
115
  packs = MetadataHandler.split_sticker_packs(self.in_dir, title=title, file_per_pack=200, separate_image_anim=False)
116
116
  for pack_title, stickers in packs.items():
117
+ self.cb_msg(f'Uploading pack {pack_title}')
117
118
  pack = LocalStickerPack()
118
119
  pack.title = pack_title
119
120
  pack.author = author
@@ -227,6 +227,7 @@ class UploadTelegram(UploadBase):
227
227
  packs = MetadataHandler.split_sticker_packs(self.in_dir, title=title, file_per_anim_pack=50, file_per_image_pack=120, separate_image_anim=not self.fake_vid)
228
228
 
229
229
  for pack_title, stickers in packs.items():
230
+ self.cb_msg(f'Uploading pack {pack_title}')
230
231
  result = anyio.run(self.upload_pack, pack_title, stickers, emoji_dict)
231
232
  self.cb_msg(result)
232
233
  urls.append(result)
@@ -19,8 +19,14 @@ class XcodeImessageIconset:
19
19
  def __init__(self):
20
20
  self.iconset = {}
21
21
 
22
- with open('ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json') as f:
23
- dict = json.load(f)
22
+ if os.path.isdir('ios-message-stickers-template'):
23
+ with open('ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json') as f:
24
+ dict = json.load(f)
25
+ elif os.path.isfile('ios-message-stickers-template.zip'):
26
+ with zipfile.ZipFile('ios-message-stickers-template.zip', 'r') as f:
27
+ dict = json.loads(f.read('stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json').decode())
28
+ else:
29
+ raise FileNotFoundError('ios-message-stickers-template not found')
24
30
 
25
31
  for i in dict['images']:
26
32
  filename = i['filename']
@@ -47,6 +53,7 @@ class XcodeImessageIconset:
47
53
  # 'Messages-iPad-Pro-74x55pt@2x.png': (148, 110),
48
54
  # 'Messages-iPhone-60x45pt@2x.png': (120, 90),
49
55
  # 'Messages-iPhone-60x45pt@3x.png': (180, 135)
56
+ # }
50
57
 
51
58
 
52
59
 
@@ -91,6 +98,8 @@ class XcodeImessage(UploadBase):
91
98
  def create_imessage_xcode(self) -> list[str]:
92
99
  urls = []
93
100
  title, author, emoji_dict = MetadataHandler.get_metadata(self.in_dir, title=self.opt_output.get('title'), author=self.opt_output.get('author'))
101
+ author = author.replace(' ', '_')
102
+ title = title.replace(' ', '_')
94
103
  packs = MetadataHandler.split_sticker_packs(self.in_dir, title=title, file_per_pack=100, separate_image_anim=False)
95
104
 
96
105
  res_choice = None
@@ -135,13 +144,9 @@ class XcodeImessage(UploadBase):
135
144
 
136
145
  def add_metadata(self, author: str, title: str):
137
146
  first_image_path = os.path.join(self.in_dir, [i for i in sorted(os.listdir(self.in_dir)) if os.path.isfile(os.path.join(self.in_dir, i)) and i.endswith('.png')][0])
138
- cover_path_old = MetadataHandler.get_cover(self.in_dir)
139
- cover_path_new = os.path.join(self.out_dir, 'cover.png')
140
- if os.path.isfile(cover_path_old) and cover_path_new != cover_path_old:
141
- shutil.copy(cover_path_old, cover_path_new)
142
-
143
- if os.path.isfile(cover_path_old):
144
- icon_source = cover_path_old
147
+ cover_path = MetadataHandler.get_cover(self.in_dir)
148
+ if cover_path:
149
+ icon_source = cover_path
145
150
  else:
146
151
  icon_source = first_image_path
147
152
 
@@ -193,7 +198,7 @@ class XcodeImessage(UploadBase):
193
198
  pbxproj_data = pbxproj_data.replace('/* Build configuration list for PBXProject "stickers" */', f'/* Build configuration list for PBXProject "{title}" */')
194
199
  pbxproj_data = pbxproj_data.replace('/* Build configuration list for PBXNativeTarget "stickers StickerPackExtension" */', f'/* Build configuration list for PBXNativeTarget "{title} StickerPackExtension" */')
195
200
  pbxproj_data = pbxproj_data.replace('/* Build configuration list for PBXNativeTarget "stickers" */', f'/* Build configuration list for PBXNativeTarget "{title}" */')
196
- pbxproj_data = pbxproj_data.replace('com.niklaspeterson', f'{title}.{author}')
201
+ pbxproj_data = pbxproj_data.replace('com.niklaspeterson', f'com.{author}')
197
202
  pbxproj_data = pbxproj_data.replace('stickers/Info.plist', f'{title}/Info.plist')
198
203
 
199
204
  with open(os.path.join(pack_path, 'stickers.xcodeproj/project.pbxproj'), 'w+', encoding='utf-8') as f:
@@ -274,10 +274,10 @@ class StickerConvert:
274
274
  return frames_out
275
275
 
276
276
  def frames_drop(self, frames_in: list[np.ndarray]) -> list[np.ndarray]:
277
- frames_out = []
277
+ if not self.fps:
278
+ return [frames_in[0]]
278
279
 
279
- if not (self.duration_min or self.duration_max):
280
- return frames_in
280
+ frames_out = []
281
281
 
282
282
  frames_orig = CodecInfo.get_file_frames(self.in_f)
283
283
  fps_orig = CodecInfo.get_file_fps(self.in_f)
@@ -303,7 +303,10 @@ class StickerConvert:
303
303
  return frames_out
304
304
 
305
305
  def frames_export(self):
306
- if self.out_f_ext == '.apng':
306
+ if (self.out_f_ext == '.apng' or
307
+ (self.out_f_ext == '.png' and
308
+ self.fps != None and
309
+ (len(self.frames_processed) > 1 or self.fake_vid))):
307
310
  self.frames_export_apng()
308
311
  elif self.out_f_ext == '.png':
309
312
  self.frames_export_png()
@@ -388,9 +391,9 @@ class StickerConvert:
388
391
  self.apngasm.add_frame(frame_final)
389
392
 
390
393
  with CacheStore.get_cache_store(path=self.cache_dir) as tempdir:
391
- self.apngasm.assemble(os.path.join(tempdir, 'out.apng'))
394
+ self.apngasm.assemble(os.path.join(tempdir, f'out{self.out_f_ext}'))
392
395
 
393
- with open(os.path.join(tempdir, 'out.apng'), 'rb') as f:
396
+ with open(os.path.join(tempdir, f'out{self.out_f_ext}'), 'rb') as f:
394
397
  self.tmp_f.write(f.read())
395
398
 
396
399
  self.apngasm.reset()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sticker-convert
3
- Version: 2.1.3
3
+ Version: 2.1.5
4
4
  Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, iMessage. Written in Python.
5
5
  Author-email: laggykiller <chaudominic2@gmail.com>
6
6
  Maintainer-email: laggykiller <chaudominic2@gmail.com>
File without changes