sticker-convert 2.10.1__tar.gz → 2.10.3__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sticker_convert-2.10.1/src/sticker_convert.egg-info → sticker_convert-2.10.3}/PKG-INFO +24 -11
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/README.md +21 -8
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/requirements.txt +2 -2
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/__main__.py +3 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/cli.py +16 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/converter.py +3 -2
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_base.py +24 -5
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_kakao.py +7 -3
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui.py +35 -8
- sticker_convert-2.10.3/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +304 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/viber_get_auth_window.py +5 -1
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/help.json +3 -1
- sticker_convert-2.10.3/src/sticker_convert/utils/auth/get_kakao_desktop_auth.py +180 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/version.py +1 -1
- {sticker_convert-2.10.1 → sticker_convert-2.10.3/src/sticker_convert.egg-info}/PKG-INFO +24 -11
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert.egg-info/SOURCES.txt +1 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert.egg-info/requires.txt +2 -2
- sticker_convert-2.10.1/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +0 -186
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/LICENSE +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/MANIFEST.in +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/pyproject.toml +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/setup.cfg +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/__init__.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/definitions.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/__init__.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_discord.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_line.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_signal.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_telegram.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_viber.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/__init__.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/__init__.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/comp_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/config_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/control_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/cred_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/input_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/output_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/progress_frame.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/frames/right_clicker.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/gui_utils.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/__init__.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/advanced_compression_window.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/base_window.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/discord_get_auth_window.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/line_get_auth_window.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/gui_components/windows/signal_get_auth_window.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Contents.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Contents.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Contents.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Contents.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/App-Store-1024x1024pt.png +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/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.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcuserdata/niklaspeterson.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/xcuserdata/niklaspeterson.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/job.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/job_option.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/appicon.icns +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/appicon.ico +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/appicon.png +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/compression.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/emoji.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/input.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/memdump_linux.sh +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/memdump_windows.ps1 +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/resources/output.json +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/__init__.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/compress_wastickers.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/upload_base.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/upload_signal.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/upload_telegram.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/upload_viber.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/uploaders/xcode_imessage.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/auth/get_discord_auth.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/auth/get_kakao_auth.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/auth/get_line_auth.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/auth/get_signal_auth.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/auth/get_viber_auth.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/callback.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/chrome_remotedebug.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/emoji.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/files/cache_store.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/files/json_manager.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/files/json_resources_loader.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/files/metadata_handler.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/files/run_bin.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/files/sanitize_filename.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/media/apple_png_normalize.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/media/codec_info.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/media/decrypt_kakao.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/media/format_verify.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/process.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/utils/url_detect.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert.egg-info/entry_points.txt +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert.egg-info/top_level.txt +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/tests/test_compression.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/tests/test_download.py +0 -0
- {sticker_convert-2.10.1 → sticker_convert-2.10.3}/tests/test_export.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sticker-convert
|
3
|
-
Version: 2.10.
|
3
|
+
Version: 2.10.3
|
4
4
|
Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, Viber, Discord, iMessage. Written in Python.
|
5
5
|
Author-email: laggykiller <chaudominic2@gmail.com>
|
6
6
|
Maintainer-email: laggykiller <chaudominic2@gmail.com>
|
@@ -370,7 +370,7 @@ Requires-Dist: apngasm_python~=1.3.1
|
|
370
370
|
Requires-Dist: av~=12.3.0
|
371
371
|
Requires-Dist: beautifulsoup4~=4.12.3
|
372
372
|
Requires-Dist: rookiepy~=0.5.2
|
373
|
-
Requires-Dist: httpx~=0.27.
|
373
|
+
Requires-Dist: httpx~=0.27.2
|
374
374
|
Requires-Dist: imagequant~=1.1.1
|
375
375
|
Requires-Dist: memory-tempfile~=2.2.3
|
376
376
|
Requires-Dist: mergedeep~=1.3.4
|
@@ -378,7 +378,7 @@ Requires-Dist: mini-racer~=0.12.4
|
|
378
378
|
Requires-Dist: numpy>=1.22.4
|
379
379
|
Requires-Dist: Pillow~=10.4.0
|
380
380
|
Requires-Dist: pyoxipng~=9.0.0
|
381
|
-
Requires-Dist: python-telegram-bot~=21.
|
381
|
+
Requires-Dist: python-telegram-bot~=21.5
|
382
382
|
Requires-Dist: psutil~=6.0.0
|
383
383
|
Requires-Dist: PyMemoryEditor~=1.5.22
|
384
384
|
Requires-Dist: requests~=2.32.3
|
@@ -488,13 +488,20 @@ To run in CLI mode, pass on any arguments
|
|
488
488
|
```
|
489
489
|
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
|
490
490
|
[--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-viber DOWNLOAD_VIBER | --download-discord DOWNLOAD_DISCORD | --download-discord-emoji DOWNLOAD_DISCORD_EMOJI]
|
491
|
-
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
492
|
-
[--
|
493
|
-
[--
|
494
|
-
[--
|
495
|
-
[--
|
496
|
-
[--
|
497
|
-
[--
|
491
|
+
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
492
|
+
[--export-signal | --export-telegram | --export-telegram-emoji | --export-viber | --export-whatsapp | --export-imessage] [--no-compress]
|
493
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}]
|
494
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX]
|
495
|
+
[--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
496
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER] [--color-min COLOR_MIN] [--color-max COLOR_MAX]
|
497
|
+
[--color-power COLOR_POWER] [--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--padding-percent PADDING_PERCENT]
|
498
|
+
[--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX] [--vid-format VID_FORMAT] [--img-format IMG_FORMAT]
|
499
|
+
[--fake-vid] [--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI]
|
500
|
+
[--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD] [--signal-get-auth] [--telegram-token TELEGRAM_TOKEN]
|
501
|
+
[--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-get-auth-desktop]
|
502
|
+
[--kakao-bin-path KAKAO_BIN_PATH] [--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD] [--kakao-country-code KAKAO_COUNTRY_CODE]
|
503
|
+
[--kakao-phone-number KAKAO_PHONE_NUMBER] [--line-get-auth] [--line-cookies LINE_COOKIES] [--viber-auth VIBER_AUTH]
|
504
|
+
[--viber-get-auth VIBER_GET_AUTH] [--viber-bin-path VIBER_BIN_PATH] [--discord-get-auth] [--discord-token DISCORD_TOKEN] [--save-cred SAVE_CRED]
|
498
505
|
|
499
506
|
CLI for stickers-convert
|
500
507
|
|
@@ -647,7 +654,13 @@ Credentials options:
|
|
647
654
|
Set telegram user_id (From real account, not bot account). Required for uploading Telegram stickers.
|
648
655
|
--kakao-auth-token KAKAO_AUTH_TOKEN
|
649
656
|
Set Kakao auth_token. Required for downloading animated stickers from https://e.kakao.com/t/xxxxx
|
650
|
-
--kakao-get-auth Generate Kakao auth_token. Kakao username, password, country code and phone number are also required.
|
657
|
+
--kakao-get-auth Generate Kakao auth_token by simulating login. Kakao username, password, country code and phone number are also required.
|
658
|
+
--kakao-get-auth-desktop
|
659
|
+
Get Kakao auth_token from Kakao Desktop application.
|
660
|
+
(Only working on Windows.)
|
661
|
+
--kakao-bin-path KAKAO_BIN_PATH
|
662
|
+
Set Kakao Desktop application path for launching and getting auth_token.
|
663
|
+
Useful for portable installation.
|
651
664
|
--kakao-username KAKAO_USERNAME
|
652
665
|
Set Kakao username, which is email or phone number used for signing up Kakao account
|
653
666
|
Example: +447700900142
|
@@ -98,13 +98,20 @@ To run in CLI mode, pass on any arguments
|
|
98
98
|
```
|
99
99
|
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
|
100
100
|
[--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-viber DOWNLOAD_VIBER | --download-discord DOWNLOAD_DISCORD | --download-discord-emoji DOWNLOAD_DISCORD_EMOJI]
|
101
|
-
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
102
|
-
[--
|
103
|
-
[--
|
104
|
-
[--
|
105
|
-
[--
|
106
|
-
[--
|
107
|
-
[--
|
101
|
+
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
102
|
+
[--export-signal | --export-telegram | --export-telegram-emoji | --export-viber | --export-whatsapp | --export-imessage] [--no-compress]
|
103
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}]
|
104
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX]
|
105
|
+
[--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
106
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER] [--color-min COLOR_MIN] [--color-max COLOR_MAX]
|
107
|
+
[--color-power COLOR_POWER] [--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--padding-percent PADDING_PERCENT]
|
108
|
+
[--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX] [--vid-format VID_FORMAT] [--img-format IMG_FORMAT]
|
109
|
+
[--fake-vid] [--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI]
|
110
|
+
[--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD] [--signal-get-auth] [--telegram-token TELEGRAM_TOKEN]
|
111
|
+
[--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-get-auth-desktop]
|
112
|
+
[--kakao-bin-path KAKAO_BIN_PATH] [--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD] [--kakao-country-code KAKAO_COUNTRY_CODE]
|
113
|
+
[--kakao-phone-number KAKAO_PHONE_NUMBER] [--line-get-auth] [--line-cookies LINE_COOKIES] [--viber-auth VIBER_AUTH]
|
114
|
+
[--viber-get-auth VIBER_GET_AUTH] [--viber-bin-path VIBER_BIN_PATH] [--discord-get-auth] [--discord-token DISCORD_TOKEN] [--save-cred SAVE_CRED]
|
108
115
|
|
109
116
|
CLI for stickers-convert
|
110
117
|
|
@@ -257,7 +264,13 @@ Credentials options:
|
|
257
264
|
Set telegram user_id (From real account, not bot account). Required for uploading Telegram stickers.
|
258
265
|
--kakao-auth-token KAKAO_AUTH_TOKEN
|
259
266
|
Set Kakao auth_token. Required for downloading animated stickers from https://e.kakao.com/t/xxxxx
|
260
|
-
--kakao-get-auth Generate Kakao auth_token. Kakao username, password, country code and phone number are also required.
|
267
|
+
--kakao-get-auth Generate Kakao auth_token by simulating login. Kakao username, password, country code and phone number are also required.
|
268
|
+
--kakao-get-auth-desktop
|
269
|
+
Get Kakao auth_token from Kakao Desktop application.
|
270
|
+
(Only working on Windows.)
|
271
|
+
--kakao-bin-path KAKAO_BIN_PATH
|
272
|
+
Set Kakao Desktop application path for launching and getting auth_token.
|
273
|
+
Useful for portable installation.
|
261
274
|
--kakao-username KAKAO_USERNAME
|
262
275
|
Set Kakao username, which is email or phone number used for signing up Kakao account
|
263
276
|
Example: +447700900142
|
@@ -4,7 +4,7 @@ apngasm_python~=1.3.1
|
|
4
4
|
av~=12.3.0
|
5
5
|
beautifulsoup4~=4.12.3
|
6
6
|
rookiepy~=0.5.2
|
7
|
-
httpx~=0.27.
|
7
|
+
httpx~=0.27.2
|
8
8
|
imagequant~=1.1.1
|
9
9
|
memory-tempfile~=2.2.3
|
10
10
|
mergedeep~=1.3.4
|
@@ -12,7 +12,7 @@ mini-racer~=0.12.4
|
|
12
12
|
numpy>=1.22.4
|
13
13
|
Pillow~=10.4.0
|
14
14
|
pyoxipng~=9.0.0
|
15
|
-
python-telegram-bot~=21.
|
15
|
+
python-telegram-bot~=21.5
|
16
16
|
psutil~=6.0.0
|
17
17
|
PyMemoryEditor~=1.5.22
|
18
18
|
requests~=2.32.3
|
@@ -9,6 +9,9 @@ def main() -> None:
|
|
9
9
|
|
10
10
|
multiprocessing.freeze_support()
|
11
11
|
print(f"sticker-convert {__version__}")
|
12
|
+
print("Free and Opensource software by laggykiller")
|
13
|
+
print("https://github.com/laggykiller/sticker-convert")
|
14
|
+
print()
|
12
15
|
if len(sys.argv) == 1:
|
13
16
|
print("Launching GUI...")
|
14
17
|
from sticker_convert.gui import GUI
|
@@ -16,6 +16,7 @@ from sticker_convert.job import Job
|
|
16
16
|
from sticker_convert.job_option import CompOption, CredOption, InputOption, OutputOption
|
17
17
|
from sticker_convert.utils.auth.get_discord_auth import GetDiscordAuth
|
18
18
|
from sticker_convert.utils.auth.get_kakao_auth import GetKakaoAuth
|
19
|
+
from sticker_convert.utils.auth.get_kakao_desktop_auth import GetKakaoDesktopAuth
|
19
20
|
from sticker_convert.utils.auth.get_line_auth import GetLineAuth
|
20
21
|
from sticker_convert.utils.auth.get_signal_auth import GetSignalAuth
|
21
22
|
from sticker_convert.utils.auth.get_viber_auth import GetViberAuth
|
@@ -168,6 +169,7 @@ class CLI:
|
|
168
169
|
flags_cred_bool = (
|
169
170
|
"signal_get_auth",
|
170
171
|
"kakao_get_auth",
|
172
|
+
"kakao_get_auth_desktop",
|
171
173
|
"line_get_auth",
|
172
174
|
"discord_get_auth",
|
173
175
|
)
|
@@ -483,6 +485,20 @@ class CLI:
|
|
483
485
|
|
484
486
|
self.cb.msg(f"Got auth_token successfully: {auth_token}")
|
485
487
|
|
488
|
+
if args.kakao_get_auth_desktop:
|
489
|
+
get_kakao_desktop_auth = GetKakaoDesktopAuth(
|
490
|
+
cb_ask_str=self.cb.ask_str,
|
491
|
+
)
|
492
|
+
kakao_bin_path = None
|
493
|
+
if args.kakao_bin_path:
|
494
|
+
kakao_bin_path = args.kakao_bin_path
|
495
|
+
auth_token, msg = get_kakao_desktop_auth.get_cred(kakao_bin_path)
|
496
|
+
|
497
|
+
if auth_token:
|
498
|
+
opt_cred.kakao_auth_token = auth_token
|
499
|
+
|
500
|
+
self.cb.msg(msg)
|
501
|
+
|
486
502
|
if args.signal_get_auth:
|
487
503
|
m = GetSignalAuth(cb_msg=self.cb.msg, cb_ask_str=self.cb.ask_str)
|
488
504
|
|
@@ -324,6 +324,7 @@ class StickerConvert:
|
|
324
324
|
|
325
325
|
def generate_steps_list(self) -> List[Tuple[Optional[int], ...]]:
|
326
326
|
steps_list: List[Tuple[Optional[int], ...]] = []
|
327
|
+
need_even = self.out_f.suffix in (".webm", ".mp4", ".mkv", ".webp")
|
327
328
|
for step in range(self.opt_comp.steps, -1, -1):
|
328
329
|
steps_list.append(
|
329
330
|
(
|
@@ -333,7 +334,7 @@ class StickerConvert:
|
|
333
334
|
step,
|
334
335
|
self.opt_comp.steps,
|
335
336
|
self.opt_comp.res_power,
|
336
|
-
|
337
|
+
need_even,
|
337
338
|
),
|
338
339
|
get_step_value(
|
339
340
|
self.opt_comp.res_h_max,
|
@@ -341,7 +342,7 @@ class StickerConvert:
|
|
341
342
|
step,
|
342
343
|
self.opt_comp.steps,
|
343
344
|
self.opt_comp.res_power,
|
344
|
-
|
345
|
+
need_even,
|
345
346
|
),
|
346
347
|
get_step_value(
|
347
348
|
self.opt_comp.quality_max,
|
{sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_base.py
RENAMED
@@ -29,14 +29,24 @@ class DownloadBase:
|
|
29
29
|
self.cb_return = cb_return
|
30
30
|
|
31
31
|
def download_multiple_files(
|
32
|
-
self,
|
32
|
+
self,
|
33
|
+
targets: List[Tuple[str, Path]],
|
34
|
+
retries: int = 3,
|
35
|
+
headers: Optional[dict[Any, Any]] = None,
|
36
|
+
**kwargs: Any,
|
33
37
|
) -> None:
|
34
38
|
anyio.run(
|
35
|
-
partial(
|
39
|
+
partial(
|
40
|
+
self.download_multiple_files_async, targets, retries, headers, **kwargs
|
41
|
+
)
|
36
42
|
)
|
37
43
|
|
38
44
|
async def download_multiple_files_async(
|
39
|
-
self,
|
45
|
+
self,
|
46
|
+
targets: List[Tuple[str, Path]],
|
47
|
+
retries: int = 3,
|
48
|
+
headers: Optional[dict[Any, Any]] = None,
|
49
|
+
**kwargs: Any,
|
40
50
|
) -> None:
|
41
51
|
# targets format: [(url1, dest2), (url2, dest2), ...]
|
42
52
|
self.cb.put(
|
@@ -47,7 +57,13 @@ class DownloadBase:
|
|
47
57
|
async with anyio.create_task_group() as tg:
|
48
58
|
for url, dest in targets:
|
49
59
|
tg.start_soon(
|
50
|
-
self.download_file_async,
|
60
|
+
self.download_file_async,
|
61
|
+
client,
|
62
|
+
url,
|
63
|
+
dest,
|
64
|
+
retries,
|
65
|
+
headers,
|
66
|
+
**kwargs,
|
51
67
|
)
|
52
68
|
|
53
69
|
async def download_file_async(
|
@@ -56,11 +72,14 @@ class DownloadBase:
|
|
56
72
|
url: str,
|
57
73
|
dest: Path,
|
58
74
|
retries: int = 3,
|
75
|
+
headers: Optional[dict[Any, Any]] = None,
|
59
76
|
**kwargs: Any,
|
60
77
|
) -> None:
|
61
78
|
self.cb.put(f"Downloading {url}")
|
62
79
|
for retry in range(retries):
|
63
|
-
response = await client.get(
|
80
|
+
response = await client.get(
|
81
|
+
url, follow_redirects=True, headers=headers, **kwargs
|
82
|
+
)
|
64
83
|
|
65
84
|
if response.is_success:
|
66
85
|
async with await anyio.open_file(dest, "wb+") as f:
|
{sticker_convert-2.10.1 → sticker_convert-2.10.3}/src/sticker_convert/downloaders/download_kakao.py
RENAMED
@@ -231,6 +231,8 @@ class DownloadKakao(DownloadBase):
|
|
231
231
|
sound_path_format = None
|
232
232
|
stickers_count = 32 # https://emoticonstudio.kakao.com/pages/start
|
233
233
|
|
234
|
+
headers = {"User-Agent": "Android"}
|
235
|
+
|
234
236
|
if not self.pack_info_authed and self.auth_token:
|
235
237
|
self.pack_info_authed = MetadataKakao.get_pack_info_authed(
|
236
238
|
item_code, self.auth_token
|
@@ -263,7 +265,8 @@ class DownloadKakao(DownloadBase):
|
|
263
265
|
if play_path_format is None:
|
264
266
|
for play_type, play_ext in itertools.product(play_types, play_exts):
|
265
267
|
r = requests.get(
|
266
|
-
f"https://item.kakaocdn.net/dw/{item_code}.{play_type}_001{play_ext}"
|
268
|
+
f"https://item.kakaocdn.net/dw/{item_code}.{play_type}_001{play_ext}",
|
269
|
+
headers=headers,
|
267
270
|
)
|
268
271
|
if r.ok:
|
269
272
|
break
|
@@ -279,7 +282,8 @@ class DownloadKakao(DownloadBase):
|
|
279
282
|
if sound_path_format is None:
|
280
283
|
for sound_ext in sound_exts:
|
281
284
|
r = requests.get(
|
282
|
-
f"https://item.kakaocdn.net/dw/{item_code}.sound_001{sound_ext}"
|
285
|
+
f"https://item.kakaocdn.net/dw/{item_code}.sound_001{sound_ext}",
|
286
|
+
headers=headers,
|
283
287
|
)
|
284
288
|
if r.ok:
|
285
289
|
break
|
@@ -304,7 +308,7 @@ class DownloadKakao(DownloadBase):
|
|
304
308
|
sound_dl_path = Path(self.out_dir, str(num).zfill(3) + sound_ext)
|
305
309
|
targets.append((sound_url, sound_dl_path))
|
306
310
|
|
307
|
-
self.download_multiple_files(targets)
|
311
|
+
self.download_multiple_files(targets, headers=headers)
|
308
312
|
|
309
313
|
for target in targets:
|
310
314
|
f_path = target[1]
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env python3
|
2
|
+
import locale
|
2
3
|
import os
|
3
4
|
import platform
|
4
5
|
import signal
|
@@ -9,7 +10,7 @@ from math import ceil
|
|
9
10
|
from multiprocessing import Event, cpu_count
|
10
11
|
from pathlib import Path
|
11
12
|
from threading import Thread
|
12
|
-
from typing import Any, Callable, Dict, Optional, Union
|
13
|
+
from typing import Any, Callable, Dict, Optional, Union, cast
|
13
14
|
from urllib.parse import urlparse
|
14
15
|
|
15
16
|
from mergedeep import merge # type: ignore
|
@@ -62,6 +63,7 @@ class GUI(Window):
|
|
62
63
|
self.apply_creds()
|
63
64
|
self.init_frames()
|
64
65
|
self.pack_frames()
|
66
|
+
self.author_info()
|
65
67
|
self.warn_tkinter_bug()
|
66
68
|
GUIUtils.finalize_window(self)
|
67
69
|
|
@@ -157,6 +159,7 @@ class GUI(Window):
|
|
157
159
|
self.kakao_password_var = StringVar(self)
|
158
160
|
self.kakao_country_code_var = StringVar(self)
|
159
161
|
self.kakao_phone_number_var = StringVar(self)
|
162
|
+
self.kakao_bin_path_var = StringVar(self)
|
160
163
|
self.line_cookies_var = StringVar(self)
|
161
164
|
self.viber_auth_var = StringVar(self)
|
162
165
|
self.viber_bin_path_var = StringVar(self)
|
@@ -205,6 +208,34 @@ class GUI(Window):
|
|
205
208
|
column=0, row=4, columnspan=2, sticky="news", padx=5, pady=5
|
206
209
|
)
|
207
210
|
|
211
|
+
def is_cn(self) -> bool:
|
212
|
+
cn_locs = ("zh_CHS", "zh_CN")
|
213
|
+
loc = cast(str, locale.getdefaultlocale()[0])
|
214
|
+
winloc = ""
|
215
|
+
if platform.system() == "Windows":
|
216
|
+
import ctypes
|
217
|
+
|
218
|
+
windll = ctypes.windll.kernel32 # type: ignore
|
219
|
+
winloc_id = cast(int, windll.GetUserDefaultUILanguage()) # type: ignore
|
220
|
+
winloc = cast(str, locale.windows_locale[winloc_id]) # type: ignore
|
221
|
+
|
222
|
+
if loc.startswith(cn_locs) or winloc.startswith(cn_locs):
|
223
|
+
return True
|
224
|
+
return False
|
225
|
+
|
226
|
+
def author_info(self) -> None:
|
227
|
+
if self.is_cn():
|
228
|
+
msg = "sticker-convert是laggykiller创作的免费开源项目,严禁翻售\n"
|
229
|
+
msg += "https://github.com/laggykiller/sticker-convert\n"
|
230
|
+
msg += "尊重知识产权,做个文明人,请不要转售贴图!\n"
|
231
|
+
else:
|
232
|
+
msg = "sticker-convert is Free and Opensource software by laggykiller\n"
|
233
|
+
msg += "https://github.com/laggykiller/sticker-convert\n"
|
234
|
+
msg += "Please use the stickers with your friends only.\n"
|
235
|
+
msg += "It is illegal and immoral to sell stickers downloaded from this program.\n"
|
236
|
+
|
237
|
+
self.cb_msg(msg)
|
238
|
+
|
208
239
|
def warn_tkinter_bug(self) -> None:
|
209
240
|
if (
|
210
241
|
platform.system() == "Darwin"
|
@@ -214,13 +245,9 @@ class GUI(Window):
|
|
214
245
|
and sys.version_info[2] <= 6
|
215
246
|
):
|
216
247
|
msg = "NOTICE: If buttons are not responsive, try to press "
|
217
|
-
msg += "on title bar or move mouse cursor away from window for a while
|
218
|
-
|
219
|
-
msg
|
220
|
-
"(This is due to a bug in tkinter specific to macOS 14 python <=3.11.6)"
|
221
|
-
)
|
222
|
-
self.cb_msg(msg)
|
223
|
-
msg = "(https://github.com/python/cpython/issues/110218)"
|
248
|
+
msg += "on title bar or move mouse cursor away from window for a while.\n"
|
249
|
+
msg += "(This is a bug in tkinter specific to macOS 14 python <=3.11.6)\n"
|
250
|
+
msg += "(https://github.com/python/cpython/issues/110218)\n"
|
224
251
|
self.cb_msg(msg)
|
225
252
|
|
226
253
|
def load_jsons(self) -> None:
|