sticker-convert 2.8.4__tar.gz → 2.8.5__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sticker_convert-2.8.4/src/sticker_convert.egg-info → sticker_convert-2.8.5}/PKG-INFO +8 -4
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/README.md +5 -1
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/pyproject.toml +1 -1
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/requirements.txt +1 -1
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/cli.py +1 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_base.py +47 -10
- sticker_convert-2.8.5/src/sticker_convert/downloaders/download_viber.py +95 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/job.py +4 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/compression.json +47 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/input.json +10 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/version.py +1 -1
- {sticker_convert-2.8.4 → sticker_convert-2.8.5/src/sticker_convert.egg-info}/PKG-INFO +8 -4
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/SOURCES.txt +1 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/requires.txt +1 -1
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/tests/test_download.py +42 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/LICENSE +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/MANIFEST.in +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/setup.cfg +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/__init__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/__main__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/converter.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/definitions.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/__init__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_kakao.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_line.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_signal.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_telegram.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/__init__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/__init__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/comp_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/config_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/control_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/cred_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/input_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/output_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/progress_frame.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/frames/right_clicker.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/gui_utils.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/windows/__init__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/windows/advanced_compression_window.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/windows/base_window.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/windows/line_get_auth_window.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/windows/signal_get_auth_window.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Contents.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Contents.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Sticker 1.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Contents.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Sticker 2.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Contents.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Sticker 3.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/App-Store-1024x1024pt.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPad-Settings-29pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-Settings-29pt@3x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-settings-29pt@2x.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcuserdata/niklaspeterson.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/xcuserdata/niklaspeterson.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/job_option.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/appicon.icns +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/appicon.ico +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/appicon.png +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/emoji.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/help.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/output.json +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/__init__.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/compress_wastickers.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/upload_base.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/upload_signal.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/upload_telegram.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/xcode_imessage.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/auth/get_kakao_auth.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/auth/get_line_auth.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/auth/get_signal_auth.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/callback.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/cache_store.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/json_manager.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/json_resources_loader.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/metadata_handler.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/run_bin.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/sanitize_filename.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/apple_png_normalize.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/codec_info.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/decrypt_kakao.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/format_verify.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/url_detect.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/entry_points.txt +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/top_level.txt +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/tests/test_compression.py +0 -0
- {sticker_convert-2.8.4 → sticker_convert-2.8.5}/tests/test_export.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sticker-convert
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.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>
|
@@ -349,7 +349,7 @@ Project-URL: Source, https://github.com/laggykiller/sticker-convert
|
|
349
349
|
Project-URL: Documentation, https://github.com/laggykiller/sticker-convert
|
350
350
|
Project-URL: Tracker, https://github.com/laggykiller/sticker-convert/issues
|
351
351
|
Project-URL: Repository, https://github.com/laggykiller/sticker-convert
|
352
|
-
Keywords: telegram,line,tgs,whatsapp,kakao,signal,imessage,wastickers
|
352
|
+
Keywords: telegram,line,tgs,whatsapp,kakao,signal,imessage,wastickers,viber
|
353
353
|
Classifier: Development Status :: 5 - Production/Stable
|
354
354
|
Classifier: Intended Audience :: End Users/Desktop
|
355
355
|
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
|
@@ -369,7 +369,7 @@ Requires-Dist: anyio~=4.3.0
|
|
369
369
|
Requires-Dist: apngasm_python~=1.2.3
|
370
370
|
Requires-Dist: av~=12.0.0
|
371
371
|
Requires-Dist: beautifulsoup4~=4.12.3
|
372
|
-
Requires-Dist: rookiepy~=0.
|
372
|
+
Requires-Dist: rookiepy~=0.4.0
|
373
373
|
Requires-Dist: imagequant~=1.1.1
|
374
374
|
Requires-Dist: memory-tempfile~=2.2.3
|
375
375
|
Requires-Dist: mergedeep~=1.3.4
|
@@ -391,7 +391,7 @@ Requires-Dist: webp~=0.3.0
|
|
391
391
|
|
392
392
|
- A python script for creating, downloading, converting+compressing and uploading stickers from multiple instant messaging applications.
|
393
393
|
- With GUI and CLI that runs on Windows, MacOS and Linux
|
394
|
-
- Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), iMessage (Create Xcode sticker pack project)
|
394
|
+
- Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Viber (Download only), iMessage (Create Xcode sticker pack project)
|
395
395
|
- Supports static and animated stickers, with transparency support
|
396
396
|
|
397
397
|
## Downloads
|
@@ -429,6 +429,7 @@ Requires-Dist: webp~=0.3.0
|
|
429
429
|
| [WhatsApp](docs/guide_whatsapp.md) | ⭕ (By Android or WhatsApp Web) | ⭕ (Create `.wastickers`, import by Sticker Maker) |
|
430
430
|
| [Line](docs/guide_line.md) | ✅ | 🚫 (Need to submit for manual approval) |
|
431
431
|
| [Kakao](docs/guide_kakao.md) | ✅ (Need 'share link' for animated) | 🚫 (Need to submit for manual approval) |
|
432
|
+
| [Viber](docs/guide_viber.md) | ✅ | 🚫 (Manually upload through Viber app) |
|
432
433
|
| [iMessage](docs/guide_imessage.md) | 🚫 | ⭕ (Create Xcode stickerpack project for sideload) |
|
433
434
|
|
434
435
|
✅ = Supported ⭕ = Partially supported 🚫 = Not supported
|
@@ -455,6 +456,9 @@ Requires-Dist: webp~=0.3.0
|
|
455
456
|
- Kakao
|
456
457
|
- Download: Supported (e.g. `https://e.kakao.com/t/xxxxx` OR `kakaotalk://store/emoticon/4404400` OR `https://emoticon.kakao.com/items/xxxxx` OR `4404400`). It is rather complicated, learn more from [docs/guide_kakao.md](docs/guide_kakao.md)
|
457
458
|
- Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
|
459
|
+
- Viber
|
460
|
+
- Download: Supported (e.g. `https://stickers.viber.com/pages/example` OR `https://stickers.viber.com/pages/custom-sticker-packs/example`)
|
461
|
+
- Upload: The program can convert images to png with 490x490 for uploading to viber manually. It should be noted that Viber is able to resize images for you, so it may not be necessary to use sticker-convert for creating Viber sticker pack.
|
458
462
|
- iMessage
|
459
463
|
- Download: Not supported.
|
460
464
|
- Upload: The program can create Xcode project for iMessage sticker pack, which could then be compiled and sideloaded using Xcode.
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
- A python script for creating, downloading, converting+compressing and uploading stickers from multiple instant messaging applications.
|
6
6
|
- With GUI and CLI that runs on Windows, MacOS and Linux
|
7
|
-
- Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), iMessage (Create Xcode sticker pack project)
|
7
|
+
- Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Viber (Download only), iMessage (Create Xcode sticker pack project)
|
8
8
|
- Supports static and animated stickers, with transparency support
|
9
9
|
|
10
10
|
## Downloads
|
@@ -42,6 +42,7 @@
|
|
42
42
|
| [WhatsApp](docs/guide_whatsapp.md) | ⭕ (By Android or WhatsApp Web) | ⭕ (Create `.wastickers`, import by Sticker Maker) |
|
43
43
|
| [Line](docs/guide_line.md) | ✅ | 🚫 (Need to submit for manual approval) |
|
44
44
|
| [Kakao](docs/guide_kakao.md) | ✅ (Need 'share link' for animated) | 🚫 (Need to submit for manual approval) |
|
45
|
+
| [Viber](docs/guide_viber.md) | ✅ | 🚫 (Manually upload through Viber app) |
|
45
46
|
| [iMessage](docs/guide_imessage.md) | 🚫 | ⭕ (Create Xcode stickerpack project for sideload) |
|
46
47
|
|
47
48
|
✅ = Supported ⭕ = Partially supported 🚫 = Not supported
|
@@ -68,6 +69,9 @@
|
|
68
69
|
- Kakao
|
69
70
|
- Download: Supported (e.g. `https://e.kakao.com/t/xxxxx` OR `kakaotalk://store/emoticon/4404400` OR `https://emoticon.kakao.com/items/xxxxx` OR `4404400`). It is rather complicated, learn more from [docs/guide_kakao.md](docs/guide_kakao.md)
|
70
71
|
- Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
|
72
|
+
- Viber
|
73
|
+
- Download: Supported (e.g. `https://stickers.viber.com/pages/example` OR `https://stickers.viber.com/pages/custom-sticker-packs/example`)
|
74
|
+
- Upload: The program can convert images to png with 490x490 for uploading to viber manually. It should be noted that Viber is able to resize images for you, so it may not be necessary to use sticker-convert for creating Viber sticker pack.
|
71
75
|
- iMessage
|
72
76
|
- Download: Not supported.
|
73
77
|
- Upload: The program can create Xcode project for iMessage sticker pack, which could then be compiled and sideloaded using Xcode.
|
@@ -4,7 +4,7 @@ description = "Convert (animated) stickers to/from WhatsApp, Telegram, Signal, L
|
|
4
4
|
readme = "README.md"
|
5
5
|
requires-python = ">=3.8"
|
6
6
|
license = {file = "LICENSE"}
|
7
|
-
keywords = ["telegram", "line", "tgs", "whatsapp", "kakao", "signal", "imessage", "wastickers"]
|
7
|
+
keywords = ["telegram", "line", "tgs", "whatsapp", "kakao", "signal", "imessage", "wastickers", "viber"]
|
8
8
|
authors = [
|
9
9
|
{name = "laggykiller", email = "chaudominic2@gmail.com" } # Optional
|
10
10
|
]
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_base.py
RENAMED
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
4
4
|
from pathlib import Path
|
5
5
|
from typing import Any, List, Optional, Tuple
|
6
6
|
|
7
|
+
import anyio
|
7
8
|
import requests
|
8
9
|
|
9
10
|
from sticker_convert.job_option import CredOption
|
@@ -27,16 +28,50 @@ class DownloadBase:
|
|
27
28
|
|
28
29
|
def download_multiple_files(
|
29
30
|
self, targets: List[Tuple[str, Path]], retries: int = 3, **kwargs: Any
|
31
|
+
) -> None:
|
32
|
+
anyio.run(self.download_multiple_files_async, targets, retries, **kwargs)
|
33
|
+
|
34
|
+
async def download_multiple_files_async(
|
35
|
+
self, targets: List[Tuple[str, Path]], retries: int = 3, **kwargs: Any
|
30
36
|
) -> None:
|
31
37
|
# targets format: [(url1, dest2), (url2, dest2), ...]
|
32
38
|
self.cb.put(
|
33
39
|
("bar", None, {"set_progress_mode": "determinate", "steps": len(targets)})
|
34
40
|
)
|
35
41
|
|
36
|
-
|
37
|
-
|
42
|
+
async with anyio.create_task_group() as tg:
|
43
|
+
for url, dest in targets:
|
44
|
+
tg.start_soon(self.download_file_async, url, dest, retries, **kwargs)
|
45
|
+
|
46
|
+
async def download_file_async(
|
47
|
+
self,
|
48
|
+
url: str,
|
49
|
+
dest: Path,
|
50
|
+
retries: int = 3,
|
51
|
+
**kwargs: Any,
|
52
|
+
) -> None:
|
53
|
+
for retry in range(retries):
|
54
|
+
try:
|
55
|
+
response = requests.get(url, allow_redirects=True, **kwargs)
|
56
|
+
|
57
|
+
if not response.ok:
|
58
|
+
self.cb.put("update_bar")
|
59
|
+
raise requests.exceptions.RequestException(
|
60
|
+
f"Error {response.status_code}"
|
61
|
+
)
|
62
|
+
|
63
|
+
self.cb.put(f"Downloading {url}")
|
64
|
+
with open(dest, "wb+") as f:
|
65
|
+
f.write(response.content)
|
66
|
+
self.cb.put(f"Downloaded {url}")
|
67
|
+
break
|
68
|
+
|
69
|
+
except requests.exceptions.RequestException as e:
|
70
|
+
self.cb.put(
|
71
|
+
f"Cannot download {url} (tried {retry+1}/{retries} times): {e}"
|
72
|
+
)
|
38
73
|
|
39
|
-
|
74
|
+
self.cb.put("update_bar")
|
40
75
|
|
41
76
|
def download_file(
|
42
77
|
self,
|
@@ -51,10 +86,12 @@ class DownloadBase:
|
|
51
86
|
|
52
87
|
for retry in range(retries):
|
53
88
|
try:
|
54
|
-
response = requests.get(
|
89
|
+
response = requests.get(
|
90
|
+
url, stream=True, allow_redirects=True, **kwargs
|
91
|
+
)
|
55
92
|
total_length = int(response.headers.get("content-length")) # type: ignore
|
56
93
|
|
57
|
-
if response.
|
94
|
+
if not response.ok:
|
58
95
|
return b""
|
59
96
|
self.cb.put(f"Downloading {url}")
|
60
97
|
|
@@ -75,16 +112,16 @@ class DownloadBase:
|
|
75
112
|
self.cb.put("update_bar")
|
76
113
|
|
77
114
|
break
|
78
|
-
except requests.exceptions.RequestException:
|
79
|
-
|
80
|
-
|
115
|
+
except requests.exceptions.RequestException as e:
|
116
|
+
self.cb.put(
|
117
|
+
f"Cannot download {url} (tried {retry+1}/{retries} times): {e}"
|
118
|
+
)
|
81
119
|
|
82
120
|
if not result:
|
83
121
|
return b""
|
84
122
|
if dest:
|
85
123
|
with open(dest, "wb+") as f:
|
86
124
|
f.write(result)
|
87
|
-
|
88
|
-
self.cb.put(msg)
|
125
|
+
self.cb.put(f"Downloaded {url}")
|
89
126
|
return b""
|
90
127
|
return result
|
@@ -0,0 +1,95 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
import json
|
3
|
+
import zipfile
|
4
|
+
from io import BytesIO
|
5
|
+
from pathlib import Path
|
6
|
+
from typing import Optional, Tuple, cast
|
7
|
+
from urllib.parse import urlparse
|
8
|
+
|
9
|
+
import requests
|
10
|
+
from bs4 import BeautifulSoup
|
11
|
+
|
12
|
+
from sticker_convert.downloaders.download_base import DownloadBase
|
13
|
+
from sticker_convert.job_option import CredOption
|
14
|
+
from sticker_convert.utils.callback import CallbackProtocol, CallbackReturn
|
15
|
+
from sticker_convert.utils.files.metadata_handler import MetadataHandler
|
16
|
+
|
17
|
+
|
18
|
+
class DownloadViber(DownloadBase):
|
19
|
+
# def __init__(self, *args: Any, **kwargs: Any) -> None:
|
20
|
+
# super().__init__(*args, **kwargs)
|
21
|
+
|
22
|
+
def get_pack_info(self, url: str) -> Optional[Tuple[str, str]]:
|
23
|
+
r = requests.get(url, allow_redirects=True)
|
24
|
+
soup = BeautifulSoup(r.text, "html.parser")
|
25
|
+
|
26
|
+
is_custom = urlparse(url).path.startswith("/pages/custom-sticker-packs/")
|
27
|
+
if is_custom:
|
28
|
+
tag_text_search = "window.CUSTOM_STICKER_PACK"
|
29
|
+
else:
|
30
|
+
tag_text_search = "window.PRODUCT"
|
31
|
+
|
32
|
+
script_tag = soup.find(
|
33
|
+
lambda tag: tag.name == "script" and tag.text.startswith(tag_text_search)
|
34
|
+
)
|
35
|
+
if script_tag is None:
|
36
|
+
return None
|
37
|
+
|
38
|
+
pack_json = script_tag.text.replace(f"{tag_text_search} = ", "", 1)[:-1]
|
39
|
+
pack_dict = json.loads(pack_json)
|
40
|
+
|
41
|
+
title = pack_dict["title"]
|
42
|
+
first_sticker_url = cast(str, pack_dict["stickerFirstItemUrl"])
|
43
|
+
zip_url = "/".join(first_sticker_url.split("/")[:-1]) + ".zip"
|
44
|
+
|
45
|
+
return title, zip_url
|
46
|
+
|
47
|
+
def decompress(self, zip_file: bytes) -> None:
|
48
|
+
with zipfile.ZipFile(BytesIO(zip_file)) as zf:
|
49
|
+
self.cb.put("Unzipping...")
|
50
|
+
|
51
|
+
zf_files = zf.namelist()
|
52
|
+
self.cb.put(
|
53
|
+
(
|
54
|
+
"bar",
|
55
|
+
None,
|
56
|
+
{"set_progress_mode": "determinate", "steps": len(zf_files)},
|
57
|
+
)
|
58
|
+
)
|
59
|
+
|
60
|
+
for sticker in zf_files:
|
61
|
+
num = sticker.split(".")[0][-2:].zfill(3)
|
62
|
+
data = zf.read(sticker)
|
63
|
+
ext = Path(sticker).suffix
|
64
|
+
self.cb.put(f"Read {sticker}")
|
65
|
+
|
66
|
+
out_path = Path(self.out_dir, num + ext)
|
67
|
+
with open(out_path, "wb") as f:
|
68
|
+
f.write(data)
|
69
|
+
|
70
|
+
self.cb.put("update_bar")
|
71
|
+
|
72
|
+
def download_stickers_viber(self) -> bool:
|
73
|
+
pack_info = self.get_pack_info(self.url)
|
74
|
+
if pack_info is None:
|
75
|
+
self.cb.put("Download failed: Cannot get pack info")
|
76
|
+
return False
|
77
|
+
title, zip_url = pack_info
|
78
|
+
|
79
|
+
zip_file = self.download_file(zip_url)
|
80
|
+
self.decompress(zip_file)
|
81
|
+
|
82
|
+
MetadataHandler.set_metadata(self.out_dir, title=title)
|
83
|
+
|
84
|
+
return True
|
85
|
+
|
86
|
+
@staticmethod
|
87
|
+
def start(
|
88
|
+
url: str,
|
89
|
+
out_dir: Path,
|
90
|
+
opt_cred: Optional[CredOption],
|
91
|
+
cb: CallbackProtocol,
|
92
|
+
cb_return: CallbackReturn,
|
93
|
+
) -> bool:
|
94
|
+
downloader = DownloadViber(url, out_dir, opt_cred, cb, cb_return)
|
95
|
+
return downloader.download_stickers_viber()
|
@@ -16,6 +16,7 @@ from sticker_convert.downloaders.download_kakao import DownloadKakao
|
|
16
16
|
from sticker_convert.downloaders.download_line import DownloadLine
|
17
17
|
from sticker_convert.downloaders.download_signal import DownloadSignal
|
18
18
|
from sticker_convert.downloaders.download_telegram import DownloadTelegram
|
19
|
+
from sticker_convert.downloaders.download_viber import DownloadViber
|
19
20
|
from sticker_convert.job_option import CompOption, CredOption, InputOption, OutputOption
|
20
21
|
from sticker_convert.uploaders.compress_wastickers import CompressWastickers
|
21
22
|
from sticker_convert.uploaders.upload_signal import UploadSignal
|
@@ -527,6 +528,9 @@ class Job:
|
|
527
528
|
if self.opt_input.option == "kakao":
|
528
529
|
downloaders.append(DownloadKakao.start)
|
529
530
|
|
531
|
+
if self.opt_input.option == "viber":
|
532
|
+
downloaders.append(DownloadViber.start)
|
533
|
+
|
530
534
|
if len(downloaders) > 0:
|
531
535
|
self.executor.cb("Downloading...")
|
532
536
|
else:
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/compression.json
RENAMED
@@ -328,6 +328,53 @@
|
|
328
328
|
"quantize_method": "imagequant",
|
329
329
|
"default_emoji": "😀"
|
330
330
|
},
|
331
|
+
"viber": {
|
332
|
+
"size_max": {
|
333
|
+
"img": 0,
|
334
|
+
"vid": 0
|
335
|
+
},
|
336
|
+
"format": {
|
337
|
+
"img": ".png",
|
338
|
+
"vid": ".png"
|
339
|
+
},
|
340
|
+
"fps": {
|
341
|
+
"min": 1,
|
342
|
+
"max": 1,
|
343
|
+
"power": 1
|
344
|
+
},
|
345
|
+
"res": {
|
346
|
+
"w": {
|
347
|
+
"min": 490,
|
348
|
+
"max": 490
|
349
|
+
},
|
350
|
+
"h": {
|
351
|
+
"min": 490,
|
352
|
+
"max": 490
|
353
|
+
},
|
354
|
+
"power": 1
|
355
|
+
},
|
356
|
+
"quality": {
|
357
|
+
"min": 95,
|
358
|
+
"max": 95,
|
359
|
+
"power": 1
|
360
|
+
},
|
361
|
+
"color": {
|
362
|
+
"min": 257,
|
363
|
+
"max": 257,
|
364
|
+
"power": 1
|
365
|
+
},
|
366
|
+
"duration": {
|
367
|
+
"min": 0,
|
368
|
+
"max": 0
|
369
|
+
},
|
370
|
+
"padding_percent": 0,
|
371
|
+
"bg_color": "",
|
372
|
+
"steps": 1,
|
373
|
+
"fake_vid": false,
|
374
|
+
"scale_filter": "bicubic",
|
375
|
+
"quantize_method": "imagequant",
|
376
|
+
"default_emoji": "😀"
|
377
|
+
},
|
331
378
|
"imessage_small": {
|
332
379
|
"size_max": {
|
333
380
|
"img": 500000,
|
@@ -49,6 +49,16 @@
|
|
49
49
|
"author": true
|
50
50
|
}
|
51
51
|
},
|
52
|
+
"viber": {
|
53
|
+
"full_name": "Download from Viber",
|
54
|
+
"help": "Download viber stickers from a URL as input",
|
55
|
+
"example": "Example: https://stickers.viber.com/pages/example OR https://stickers.viber.com/pages/custom-sticker-packs/example",
|
56
|
+
"address_lbls": "URL address / ID",
|
57
|
+
"metadata_provides": {
|
58
|
+
"title": true,
|
59
|
+
"author": false
|
60
|
+
}
|
61
|
+
},
|
52
62
|
"local": {
|
53
63
|
"full_name": "From local directory",
|
54
64
|
"help": "Load files from local directory on computer",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sticker-convert
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.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>
|
@@ -349,7 +349,7 @@ Project-URL: Source, https://github.com/laggykiller/sticker-convert
|
|
349
349
|
Project-URL: Documentation, https://github.com/laggykiller/sticker-convert
|
350
350
|
Project-URL: Tracker, https://github.com/laggykiller/sticker-convert/issues
|
351
351
|
Project-URL: Repository, https://github.com/laggykiller/sticker-convert
|
352
|
-
Keywords: telegram,line,tgs,whatsapp,kakao,signal,imessage,wastickers
|
352
|
+
Keywords: telegram,line,tgs,whatsapp,kakao,signal,imessage,wastickers,viber
|
353
353
|
Classifier: Development Status :: 5 - Production/Stable
|
354
354
|
Classifier: Intended Audience :: End Users/Desktop
|
355
355
|
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
|
@@ -369,7 +369,7 @@ Requires-Dist: anyio~=4.3.0
|
|
369
369
|
Requires-Dist: apngasm_python~=1.2.3
|
370
370
|
Requires-Dist: av~=12.0.0
|
371
371
|
Requires-Dist: beautifulsoup4~=4.12.3
|
372
|
-
Requires-Dist: rookiepy~=0.
|
372
|
+
Requires-Dist: rookiepy~=0.4.0
|
373
373
|
Requires-Dist: imagequant~=1.1.1
|
374
374
|
Requires-Dist: memory-tempfile~=2.2.3
|
375
375
|
Requires-Dist: mergedeep~=1.3.4
|
@@ -391,7 +391,7 @@ Requires-Dist: webp~=0.3.0
|
|
391
391
|
|
392
392
|
- A python script for creating, downloading, converting+compressing and uploading stickers from multiple instant messaging applications.
|
393
393
|
- With GUI and CLI that runs on Windows, MacOS and Linux
|
394
|
-
- Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), iMessage (Create Xcode sticker pack project)
|
394
|
+
- Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Viber (Download only), iMessage (Create Xcode sticker pack project)
|
395
395
|
- Supports static and animated stickers, with transparency support
|
396
396
|
|
397
397
|
## Downloads
|
@@ -429,6 +429,7 @@ Requires-Dist: webp~=0.3.0
|
|
429
429
|
| [WhatsApp](docs/guide_whatsapp.md) | ⭕ (By Android or WhatsApp Web) | ⭕ (Create `.wastickers`, import by Sticker Maker) |
|
430
430
|
| [Line](docs/guide_line.md) | ✅ | 🚫 (Need to submit for manual approval) |
|
431
431
|
| [Kakao](docs/guide_kakao.md) | ✅ (Need 'share link' for animated) | 🚫 (Need to submit for manual approval) |
|
432
|
+
| [Viber](docs/guide_viber.md) | ✅ | 🚫 (Manually upload through Viber app) |
|
432
433
|
| [iMessage](docs/guide_imessage.md) | 🚫 | ⭕ (Create Xcode stickerpack project for sideload) |
|
433
434
|
|
434
435
|
✅ = Supported ⭕ = Partially supported 🚫 = Not supported
|
@@ -455,6 +456,9 @@ Requires-Dist: webp~=0.3.0
|
|
455
456
|
- Kakao
|
456
457
|
- Download: Supported (e.g. `https://e.kakao.com/t/xxxxx` OR `kakaotalk://store/emoticon/4404400` OR `https://emoticon.kakao.com/items/xxxxx` OR `4404400`). It is rather complicated, learn more from [docs/guide_kakao.md](docs/guide_kakao.md)
|
457
458
|
- Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
|
459
|
+
- Viber
|
460
|
+
- Download: Supported (e.g. `https://stickers.viber.com/pages/example` OR `https://stickers.viber.com/pages/custom-sticker-packs/example`)
|
461
|
+
- Upload: The program can convert images to png with 490x490 for uploading to viber manually. It should be noted that Viber is able to resize images for you, so it may not be necessary to use sticker-convert for creating Viber sticker pack.
|
458
462
|
- iMessage
|
459
463
|
- Download: Not supported.
|
460
464
|
- Upload: The program can create Xcode project for iMessage sticker pack, which could then be compiled and sideloaded using Xcode.
|
@@ -24,6 +24,7 @@ src/sticker_convert/downloaders/download_kakao.py
|
|
24
24
|
src/sticker_convert/downloaders/download_line.py
|
25
25
|
src/sticker_convert/downloaders/download_signal.py
|
26
26
|
src/sticker_convert/downloaders/download_telegram.py
|
27
|
+
src/sticker_convert/downloaders/download_viber.py
|
27
28
|
src/sticker_convert/gui_components/__init__.py
|
28
29
|
src/sticker_convert/gui_components/gui_utils.py
|
29
30
|
src/sticker_convert/gui_components/frames/__init__.py
|
@@ -412,3 +412,45 @@ def test_download_kakao_animated_gif_share_link(tmp_path: LocalPath) -> None:
|
|
412
412
|
with_author=True,
|
413
413
|
with_emoji=False,
|
414
414
|
)
|
415
|
+
|
416
|
+
|
417
|
+
@pytest.mark.skipif(not TEST_DOWNLOAD, reason="TEST_DOWNLOAD not set")
|
418
|
+
def test_download_viber_custom_sticker_packs(tmp_path: LocalPath) -> None:
|
419
|
+
_run_sticker_convert(
|
420
|
+
tmp_path=tmp_path,
|
421
|
+
source="viber",
|
422
|
+
url="https://stickers.viber.com/pages/custom-sticker-packs/11eefcc8e3c228308e3fafd9b834679a19de752fb5c38390",
|
423
|
+
expected_file_count=2,
|
424
|
+
expected_file_formats=[".png"],
|
425
|
+
with_title=True,
|
426
|
+
with_author=False,
|
427
|
+
with_emoji=False,
|
428
|
+
)
|
429
|
+
|
430
|
+
|
431
|
+
@pytest.mark.skipif(not TEST_DOWNLOAD, reason="TEST_DOWNLOAD not set")
|
432
|
+
def test_download_viber_official_sticker_packs(tmp_path: LocalPath) -> None:
|
433
|
+
_run_sticker_convert(
|
434
|
+
tmp_path=tmp_path,
|
435
|
+
source="viber",
|
436
|
+
url="https://stickers.viber.com/pages/spring_2024",
|
437
|
+
expected_file_count=14,
|
438
|
+
expected_file_formats=[".png"],
|
439
|
+
with_title=True,
|
440
|
+
with_author=False,
|
441
|
+
with_emoji=False,
|
442
|
+
)
|
443
|
+
|
444
|
+
|
445
|
+
@pytest.mark.skipif(not TEST_DOWNLOAD, reason="TEST_DOWNLOAD not set")
|
446
|
+
def test_download_viber_official_sound_sticker_packs(tmp_path: LocalPath) -> None:
|
447
|
+
_run_sticker_convert(
|
448
|
+
tmp_path=tmp_path,
|
449
|
+
source="viber",
|
450
|
+
url="https://stickers.viber.com/pages/spring_2024",
|
451
|
+
expected_file_count=24,
|
452
|
+
expected_file_formats=[".png", ".mp3"],
|
453
|
+
with_title=True,
|
454
|
+
with_author=False,
|
455
|
+
with_emoji=False,
|
456
|
+
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_kakao.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_line.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_signal.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/downloaders/download_telegram.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/__init__.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
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/gui_components/gui_utils.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
|
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
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/resources/NotoColorEmoji.ttf
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
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/compress_wastickers.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/upload_base.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/upload_signal.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/upload_telegram.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/uploaders/xcode_imessage.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/auth/get_kakao_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/auth/get_line_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/auth/get_signal_auth.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/cache_store.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/json_manager.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/metadata_handler.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/files/sanitize_filename.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/codec_info.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/decrypt_kakao.py
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert/utils/media/format_verify.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/dependency_links.txt
RENAMED
File without changes
|
{sticker_convert-2.8.4 → sticker_convert-2.8.5}/src/sticker_convert.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|