sticker-convert 2.8.8__tar.gz → 2.8.10__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sticker_convert-2.8.8/src/sticker_convert.egg-info → sticker_convert-2.8.10}/PKG-INFO +30 -20
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/README.md +24 -13
- sticker_convert-2.8.8/src/sticker_convert.egg-info/requires.txt → sticker_convert-2.8.10/requirements.txt +6 -7
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/cli.py +7 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/converter.py +17 -64
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/help.json +1 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/callback.py +3 -1
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/version.py +1 -1
- {sticker_convert-2.8.8 → sticker_convert-2.8.10/src/sticker_convert.egg-info}/PKG-INFO +30 -20
- sticker_convert-2.8.8/requirements.txt → sticker_convert-2.8.10/src/sticker_convert.egg-info/requires.txt +5 -6
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/LICENSE +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/MANIFEST.in +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/pyproject.toml +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/setup.cfg +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/__main__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/definitions.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_base.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_kakao.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_line.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_signal.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_telegram.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_viber.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/comp_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/config_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/control_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/cred_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/input_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/output_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/progress_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/frames/right_clicker.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/gui_utils.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/windows/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/windows/advanced_compression_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/windows/base_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/windows/line_get_auth_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/gui_components/windows/signal_get_auth_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Contents.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcuserdata/niklaspeterson.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/xcuserdata/niklaspeterson.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/job.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/job_option.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/appicon.icns +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/appicon.ico +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/appicon.png +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/compression.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/emoji.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/input.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/output.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/compress_wastickers.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/upload_base.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/upload_signal.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/upload_telegram.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/xcode_imessage.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/auth/get_kakao_auth.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/auth/get_line_auth.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/auth/get_signal_auth.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/cache_store.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/json_manager.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/json_resources_loader.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/metadata_handler.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/run_bin.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/sanitize_filename.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/apple_png_normalize.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/codec_info.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/decrypt_kakao.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/format_verify.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/url_detect.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert.egg-info/SOURCES.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert.egg-info/entry_points.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert.egg-info/top_level.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/tests/test_compression.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/tests/test_download.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.10}/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.10
|
4
4
|
Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, Viber, iMessage. Written in Python.
|
5
5
|
Author-email: laggykiller <chaudominic2@gmail.com>
|
6
6
|
Maintainer-email: laggykiller <chaudominic2@gmail.com>
|
@@ -365,9 +365,9 @@ Requires-Python: >=3.8
|
|
365
365
|
Description-Content-Type: text/markdown
|
366
366
|
License-File: LICENSE
|
367
367
|
Requires-Dist: aiolimiter~=1.1.0
|
368
|
-
Requires-Dist: anyio~=4.
|
369
|
-
Requires-Dist: apngasm_python~=1.
|
370
|
-
Requires-Dist: av~=12.
|
368
|
+
Requires-Dist: anyio~=4.4.0
|
369
|
+
Requires-Dist: apngasm_python~=1.3.1
|
370
|
+
Requires-Dist: av~=12.1.0
|
371
371
|
Requires-Dist: beautifulsoup4~=4.12.3
|
372
372
|
Requires-Dist: rookiepy~=0.5.1
|
373
373
|
Requires-Dist: imagequant~=1.1.1
|
@@ -376,14 +376,13 @@ Requires-Dist: mergedeep~=1.3.4
|
|
376
376
|
Requires-Dist: numpy>=1.22.4
|
377
377
|
Requires-Dist: Pillow~=10.3.0
|
378
378
|
Requires-Dist: pyoxipng~=9.0.0
|
379
|
-
Requires-Dist: python-telegram-bot~=21.
|
380
|
-
Requires-Dist: requests~=2.
|
379
|
+
Requires-Dist: python-telegram-bot~=21.2
|
380
|
+
Requires-Dist: requests~=2.32.2
|
381
381
|
Requires-Dist: rlottie_python~=1.3.4
|
382
382
|
Requires-Dist: signalstickers-client-fork-laggykiller~=3.3.0.post1
|
383
383
|
Requires-Dist: sqlcipher3-wheels~=0.5.2.post1
|
384
384
|
Requires-Dist: tqdm~=4.66.4
|
385
385
|
Requires-Dist: ttkbootstrap-fork-laggykiller~=1.5.1
|
386
|
-
Requires-Dist: webp~=0.3.0
|
387
386
|
|
388
387
|
# sticker-convert
|
389
388
|

|
@@ -479,18 +478,28 @@ Requires-Dist: webp~=0.3.0
|
|
479
478
|
To run in CLI mode, pass on any arguments
|
480
479
|
|
481
480
|
```
|
482
|
-
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--
|
481
|
+
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS]
|
482
|
+
[--input-dir INPUT_DIR]
|
483
483
|
[--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-viber DOWNLOAD_VIBER]
|
484
|
-
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
485
|
-
[--
|
486
|
-
[--
|
487
|
-
[--
|
488
|
-
[--
|
489
|
-
[--
|
490
|
-
[--
|
491
|
-
[--
|
492
|
-
[--
|
493
|
-
[--
|
484
|
+
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
485
|
+
[--export-signal | --export-telegram | --export-telegram-emoji | --export-whatsapp | --export-imessage]
|
486
|
+
[--no-compress]
|
487
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}]
|
488
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
489
|
+
[--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
490
|
+
[--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
491
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
|
492
|
+
[--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER]
|
493
|
+
[--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--padding-percent PADDING_PERCENT]
|
494
|
+
[--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX]
|
495
|
+
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER]
|
496
|
+
[--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI]
|
497
|
+
[--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD] [--signal-get-auth]
|
498
|
+
[--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN]
|
499
|
+
[--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth]
|
500
|
+
[--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
501
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER]
|
502
|
+
[--line-get-auth] [--line-cookies LINE_COOKIES] [--save-cred SAVE_CRED]
|
494
503
|
|
495
504
|
CLI for stickers-convert
|
496
505
|
|
@@ -498,6 +507,7 @@ options:
|
|
498
507
|
-h, --help show this help message and exit
|
499
508
|
--version show program's version number and exit
|
500
509
|
--no-confirm Do not ask any questions.
|
510
|
+
--no-progress Do not show progress bar in CLI.
|
501
511
|
--custom-presets CUSTOM_PRESETS
|
502
512
|
Specify a json file containing custom compression presets.
|
503
513
|
See compression.json for format.
|
@@ -508,7 +518,7 @@ Input options:
|
|
508
518
|
Specify input directory.
|
509
519
|
--download-auto DOWNLOAD_AUTO
|
510
520
|
Auto detect URL type and download
|
511
|
-
(Supported input sources: Signal, Telegram, Line, Kakao)
|
521
|
+
(Supported input sources: Signal, Telegram, Line, Kakao, Viber)
|
512
522
|
--download-signal DOWNLOAD_SIGNAL
|
513
523
|
Download signal stickers from a URL as input
|
514
524
|
(Example: https://signal.art/addstickers/#pack_id=xxxxx&pack_key=xxxxx)
|
@@ -587,7 +597,7 @@ Compression options:
|
|
587
597
|
--padding-percent PADDING_PERCENT
|
588
598
|
Set percentage of space used as padding.
|
589
599
|
--bg-color BG_COLOR Set custom background color in rrggbbaa format.
|
590
|
-
Example:
|
600
|
+
Example: 00ff0000 for green with alpha 0.
|
591
601
|
If this is not set, background color would be auto set to black if image is bright, or white if image is dark.
|
592
602
|
Note: The color should not be visible if output format supports transparency.
|
593
603
|
--vid-size-max VID_SIZE_MAX
|
@@ -92,18 +92,28 @@
|
|
92
92
|
To run in CLI mode, pass on any arguments
|
93
93
|
|
94
94
|
```
|
95
|
-
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--
|
95
|
+
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS]
|
96
|
+
[--input-dir INPUT_DIR]
|
96
97
|
[--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-viber DOWNLOAD_VIBER]
|
97
|
-
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
98
|
-
[--
|
99
|
-
[--
|
100
|
-
[--
|
101
|
-
[--
|
102
|
-
[--
|
103
|
-
[--
|
104
|
-
[--
|
105
|
-
[--
|
106
|
-
[--
|
98
|
+
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
99
|
+
[--export-signal | --export-telegram | --export-telegram-emoji | --export-whatsapp | --export-imessage]
|
100
|
+
[--no-compress]
|
101
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}]
|
102
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
103
|
+
[--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
104
|
+
[--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
105
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
|
106
|
+
[--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER]
|
107
|
+
[--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]
|
109
|
+
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER]
|
110
|
+
[--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI]
|
111
|
+
[--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD] [--signal-get-auth]
|
112
|
+
[--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN]
|
113
|
+
[--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth]
|
114
|
+
[--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
115
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER]
|
116
|
+
[--line-get-auth] [--line-cookies LINE_COOKIES] [--save-cred SAVE_CRED]
|
107
117
|
|
108
118
|
CLI for stickers-convert
|
109
119
|
|
@@ -111,6 +121,7 @@ options:
|
|
111
121
|
-h, --help show this help message and exit
|
112
122
|
--version show program's version number and exit
|
113
123
|
--no-confirm Do not ask any questions.
|
124
|
+
--no-progress Do not show progress bar in CLI.
|
114
125
|
--custom-presets CUSTOM_PRESETS
|
115
126
|
Specify a json file containing custom compression presets.
|
116
127
|
See compression.json for format.
|
@@ -121,7 +132,7 @@ Input options:
|
|
121
132
|
Specify input directory.
|
122
133
|
--download-auto DOWNLOAD_AUTO
|
123
134
|
Auto detect URL type and download
|
124
|
-
(Supported input sources: Signal, Telegram, Line, Kakao)
|
135
|
+
(Supported input sources: Signal, Telegram, Line, Kakao, Viber)
|
125
136
|
--download-signal DOWNLOAD_SIGNAL
|
126
137
|
Download signal stickers from a URL as input
|
127
138
|
(Example: https://signal.art/addstickers/#pack_id=xxxxx&pack_key=xxxxx)
|
@@ -200,7 +211,7 @@ Compression options:
|
|
200
211
|
--padding-percent PADDING_PERCENT
|
201
212
|
Set percentage of space used as padding.
|
202
213
|
--bg-color BG_COLOR Set custom background color in rrggbbaa format.
|
203
|
-
Example:
|
214
|
+
Example: 00ff0000 for green with alpha 0.
|
204
215
|
If this is not set, background color would be auto set to black if image is bright, or white if image is dark.
|
205
216
|
Note: The color should not be visible if output format supports transparency.
|
206
217
|
--vid-size-max VID_SIZE_MAX
|
@@ -1,7 +1,7 @@
|
|
1
1
|
aiolimiter~=1.1.0
|
2
|
-
anyio~=4.
|
3
|
-
apngasm_python~=1.
|
4
|
-
av~=12.
|
2
|
+
anyio~=4.4.0
|
3
|
+
apngasm_python~=1.3.1
|
4
|
+
av~=12.1.0
|
5
5
|
beautifulsoup4~=4.12.3
|
6
6
|
rookiepy~=0.5.1
|
7
7
|
imagequant~=1.1.1
|
@@ -10,11 +10,10 @@ mergedeep~=1.3.4
|
|
10
10
|
numpy>=1.22.4
|
11
11
|
Pillow~=10.3.0
|
12
12
|
pyoxipng~=9.0.0
|
13
|
-
python-telegram-bot~=21.
|
14
|
-
requests~=2.
|
13
|
+
python-telegram-bot~=21.2
|
14
|
+
requests~=2.32.2
|
15
15
|
rlottie_python~=1.3.4
|
16
16
|
signalstickers-client-fork-laggykiller~=3.3.0.post1
|
17
17
|
sqlcipher3-wheels~=0.5.2.post1
|
18
18
|
tqdm~=4.66.4
|
19
|
-
ttkbootstrap-fork-laggykiller~=1.5.1
|
20
|
-
webp~=0.3.0
|
19
|
+
ttkbootstrap-fork-laggykiller~=1.5.1
|
@@ -52,6 +52,12 @@ class CLI:
|
|
52
52
|
action="store_true",
|
53
53
|
help=self.help["global"]["no_confirm"],
|
54
54
|
)
|
55
|
+
parser.add_argument(
|
56
|
+
"--no-progress",
|
57
|
+
dest="no_progress",
|
58
|
+
action="store_true",
|
59
|
+
help=self.help["global"]["no_progress"],
|
60
|
+
)
|
55
61
|
parser.add_argument(
|
56
62
|
"--custom-presets",
|
57
63
|
dest="custom_presets",
|
@@ -182,6 +188,7 @@ class CLI:
|
|
182
188
|
print(f"Error: Cannot load custom presets from {args.custom_presets}")
|
183
189
|
|
184
190
|
self.cb.no_confirm = args.no_confirm
|
191
|
+
self.cb.no_progress = args.no_progress
|
185
192
|
|
186
193
|
self.opt_input = self.get_opt_input(args)
|
187
194
|
self.opt_output = self.get_opt_output(args)
|
@@ -33,17 +33,6 @@ MSG_FAIL_COMP = (
|
|
33
33
|
"[F] Failed Compression {} -> {}, "
|
34
34
|
"cannot get below limit {} with lowest quality under current settings (Best size: {})"
|
35
35
|
)
|
36
|
-
MSG_PYWEBP_DUPFRAME = (
|
37
|
-
"[W] {} contains duplicated frame.\n"
|
38
|
-
" System WebP>=0.5.0 was not found, hence Pillow cannot be used\n"
|
39
|
-
" for creating animated webp. Using pywebp instead, which is known to\n"
|
40
|
-
" collapse same frames into single frame, causing problem with animation timing."
|
41
|
-
)
|
42
|
-
MSG_WEBP_PIL_DUPFRAME = (
|
43
|
-
"[W] {} contains duplicated frame.\n"
|
44
|
-
" Using Pillow to create animated webp to avoid same frames collapse\n"
|
45
|
-
" into single frame, but this is slower."
|
46
|
-
)
|
47
36
|
|
48
37
|
YUV_RGB_MATRIX = np.array(
|
49
38
|
[
|
@@ -195,8 +184,6 @@ class StickerConvert:
|
|
195
184
|
self.result_step: Optional[int] = None
|
196
185
|
|
197
186
|
self.apngasm = None
|
198
|
-
self.msg_pywebp_dupframe_displayed = False
|
199
|
-
self.msg_webp_pil_dupframe_displayed = False
|
200
187
|
|
201
188
|
@staticmethod
|
202
189
|
def convert(
|
@@ -696,11 +683,9 @@ class StickerConvert:
|
|
696
683
|
self._frames_export_apng()
|
697
684
|
else:
|
698
685
|
self._frames_export_png()
|
699
|
-
elif self.out_f.suffix == ".webp":
|
700
|
-
self._frames_export_webp()
|
701
686
|
elif self.out_f.suffix == ".gif":
|
702
687
|
self._frames_export_pil_anim()
|
703
|
-
elif self.out_f.suffix in (".webm", ".mp4", ".mkv") or is_animated:
|
688
|
+
elif self.out_f.suffix in (".webm", ".mp4", ".mkv", ".webp") or is_animated:
|
704
689
|
self._frames_export_pyav()
|
705
690
|
else:
|
706
691
|
self._frames_export_pil()
|
@@ -717,31 +702,6 @@ class StickerConvert:
|
|
717
702
|
|
718
703
|
return False
|
719
704
|
|
720
|
-
def _frames_export_webp(self) -> None:
|
721
|
-
has_dup_frames = self._check_dup()
|
722
|
-
if self.fps:
|
723
|
-
# It was noted that pywebp would collapse all frames.
|
724
|
-
# aed005b attempted to fix this by creating webp with
|
725
|
-
# variable frame duration. However, the webp created would
|
726
|
-
# not be accepted by WhatsApp.
|
727
|
-
# Therefore, we are preferring Pillow over pywebp.
|
728
|
-
if has_dup_frames:
|
729
|
-
if PIL_WEBP_ANIM:
|
730
|
-
# Warn that using Pillow is slower
|
731
|
-
if not self.msg_webp_pil_dupframe_displayed:
|
732
|
-
self.cb.put(MSG_WEBP_PIL_DUPFRAME.format(self.in_f_name))
|
733
|
-
self.msg_webp_pil_dupframe_displayed = True
|
734
|
-
self._frames_export_pil_anim()
|
735
|
-
else:
|
736
|
-
if not self.msg_pywebp_dupframe_displayed:
|
737
|
-
self.cb.put(MSG_PYWEBP_DUPFRAME.format(self.in_f_name))
|
738
|
-
self.msg_pywebp_dupframe_displayed = True
|
739
|
-
self._frames_export_pywebp()
|
740
|
-
else:
|
741
|
-
self._frames_export_pywebp()
|
742
|
-
else:
|
743
|
-
self._frames_export_pil()
|
744
|
-
|
745
705
|
def _frames_export_pil(self) -> None:
|
746
706
|
with Image.fromarray(self.frames_processed[0]) as im: # type: ignore
|
747
707
|
im.save(
|
@@ -754,30 +714,38 @@ class StickerConvert:
|
|
754
714
|
import av
|
755
715
|
from av.video.stream import VideoStream
|
756
716
|
|
757
|
-
|
717
|
+
options_container: Dict[str, str] = {}
|
718
|
+
options_stream: Dict[str, str] = {}
|
758
719
|
|
759
720
|
if isinstance(self.quality, int):
|
760
721
|
# Seems not actually working
|
761
|
-
|
762
|
-
|
722
|
+
options_stream["quality"] = str(self.quality)
|
723
|
+
options_stream["lossless"] = "0"
|
763
724
|
|
764
725
|
if self.out_f.suffix in (".apng", ".png"):
|
765
726
|
codec = "apng"
|
766
727
|
pixel_format = "rgba"
|
767
|
-
|
728
|
+
options_container["plays"] = "0"
|
768
729
|
elif self.out_f.suffix in (".webm", ".mkv"):
|
769
730
|
codec = "libvpx-vp9"
|
770
731
|
pixel_format = "yuva420p"
|
771
|
-
|
732
|
+
options_container["loop"] = "0"
|
733
|
+
elif self.out_f.suffix == ".webp":
|
734
|
+
codec = "webp"
|
735
|
+
pixel_format = "yuva420p"
|
736
|
+
options_container["loop"] = "0"
|
772
737
|
else:
|
773
738
|
codec = "libvpx-vp9"
|
774
739
|
pixel_format = "yuv420p"
|
775
|
-
|
740
|
+
options_container["loop"] = "0"
|
776
741
|
|
777
742
|
with av.open(
|
778
|
-
self.tmp_f,
|
743
|
+
self.tmp_f,
|
744
|
+
"w",
|
745
|
+
format=self.out_f.suffix.replace(".", ""),
|
746
|
+
options=options_container,
|
779
747
|
) as output:
|
780
|
-
out_stream = output.add_stream(codec, rate=self.fps, options=
|
748
|
+
out_stream = output.add_stream(codec, rate=self.fps, options=options_stream)
|
781
749
|
out_stream = cast(VideoStream, out_stream)
|
782
750
|
assert isinstance(self.res_w, int) and isinstance(self.res_h, int)
|
783
751
|
out_stream.width = self.res_w
|
@@ -841,21 +809,6 @@ class StickerConvert:
|
|
841
809
|
**extra_kwargs,
|
842
810
|
)
|
843
811
|
|
844
|
-
def _frames_export_pywebp(self) -> None:
|
845
|
-
import webp # type: ignore
|
846
|
-
|
847
|
-
assert self.fps
|
848
|
-
|
849
|
-
config = webp.WebPConfig.new(quality=self.quality) # type: ignore
|
850
|
-
enc = webp.WebPAnimEncoder.new(self.res_w, self.res_h) # type: ignore
|
851
|
-
timestamp_ms = 0
|
852
|
-
for frame in self.frames_processed:
|
853
|
-
pic = webp.WebPPicture.from_numpy(frame) # type: ignore
|
854
|
-
enc.encode_frame(pic, timestamp_ms, config=config) # type: ignore
|
855
|
-
timestamp_ms += int(1000 / self.fps)
|
856
|
-
anim_data = enc.assemble(timestamp_ms) # type: ignore
|
857
|
-
self.tmp_f.write(anim_data.buffer()) # type: ignore
|
858
|
-
|
859
812
|
def _frames_export_png(self) -> None:
|
860
813
|
with Image.fromarray(self.frames_processed[0], "RGBA") as image: # type: ignore
|
861
814
|
image_quant = self.quantize(image)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"global": {
|
3
3
|
"no_confirm": "Do not ask any questions.",
|
4
|
+
"no_progress": "Do not show progress bar in CLI.",
|
4
5
|
"custom_presets": "Specify a json file containing custom compression presets.\nSee compression.json for format.\nNote that if present, 'custom_preset.json' from config directory would be auto loaded."
|
5
6
|
},
|
6
7
|
"input": {
|
@@ -61,6 +61,7 @@ class Callback(CallbackProtocol):
|
|
61
61
|
ask_str: Optional[Callable[..., str]] = None,
|
62
62
|
silent: bool = False,
|
63
63
|
no_confirm: bool = False,
|
64
|
+
no_progress: bool = False,
|
64
65
|
) -> None:
|
65
66
|
self.progress_bar: Optional[tqdm[Any]] = None
|
66
67
|
|
@@ -91,6 +92,7 @@ class Callback(CallbackProtocol):
|
|
91
92
|
|
92
93
|
self.silent = silent
|
93
94
|
self.no_confirm = no_confirm
|
95
|
+
self.no_progress = no_progress
|
94
96
|
|
95
97
|
def cb_msg(self, *args: Any, **kwargs: Any) -> None:
|
96
98
|
if self.silent:
|
@@ -113,7 +115,7 @@ class Callback(CallbackProtocol):
|
|
113
115
|
steps: int = 0,
|
114
116
|
update_bar: int = 0,
|
115
117
|
) -> None:
|
116
|
-
if self.silent:
|
118
|
+
if self.silent or self.no_progress:
|
117
119
|
return
|
118
120
|
|
119
121
|
if self.progress_bar:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sticker-convert
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.10
|
4
4
|
Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, Viber, iMessage. Written in Python.
|
5
5
|
Author-email: laggykiller <chaudominic2@gmail.com>
|
6
6
|
Maintainer-email: laggykiller <chaudominic2@gmail.com>
|
@@ -365,9 +365,9 @@ Requires-Python: >=3.8
|
|
365
365
|
Description-Content-Type: text/markdown
|
366
366
|
License-File: LICENSE
|
367
367
|
Requires-Dist: aiolimiter~=1.1.0
|
368
|
-
Requires-Dist: anyio~=4.
|
369
|
-
Requires-Dist: apngasm_python~=1.
|
370
|
-
Requires-Dist: av~=12.
|
368
|
+
Requires-Dist: anyio~=4.4.0
|
369
|
+
Requires-Dist: apngasm_python~=1.3.1
|
370
|
+
Requires-Dist: av~=12.1.0
|
371
371
|
Requires-Dist: beautifulsoup4~=4.12.3
|
372
372
|
Requires-Dist: rookiepy~=0.5.1
|
373
373
|
Requires-Dist: imagequant~=1.1.1
|
@@ -376,14 +376,13 @@ Requires-Dist: mergedeep~=1.3.4
|
|
376
376
|
Requires-Dist: numpy>=1.22.4
|
377
377
|
Requires-Dist: Pillow~=10.3.0
|
378
378
|
Requires-Dist: pyoxipng~=9.0.0
|
379
|
-
Requires-Dist: python-telegram-bot~=21.
|
380
|
-
Requires-Dist: requests~=2.
|
379
|
+
Requires-Dist: python-telegram-bot~=21.2
|
380
|
+
Requires-Dist: requests~=2.32.2
|
381
381
|
Requires-Dist: rlottie_python~=1.3.4
|
382
382
|
Requires-Dist: signalstickers-client-fork-laggykiller~=3.3.0.post1
|
383
383
|
Requires-Dist: sqlcipher3-wheels~=0.5.2.post1
|
384
384
|
Requires-Dist: tqdm~=4.66.4
|
385
385
|
Requires-Dist: ttkbootstrap-fork-laggykiller~=1.5.1
|
386
|
-
Requires-Dist: webp~=0.3.0
|
387
386
|
|
388
387
|
# sticker-convert
|
389
388
|

|
@@ -479,18 +478,28 @@ Requires-Dist: webp~=0.3.0
|
|
479
478
|
To run in CLI mode, pass on any arguments
|
480
479
|
|
481
480
|
```
|
482
|
-
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--
|
481
|
+
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS]
|
482
|
+
[--input-dir INPUT_DIR]
|
483
483
|
[--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-viber DOWNLOAD_VIBER]
|
484
|
-
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
485
|
-
[--
|
486
|
-
[--
|
487
|
-
[--
|
488
|
-
[--
|
489
|
-
[--
|
490
|
-
[--
|
491
|
-
[--
|
492
|
-
[--
|
493
|
-
[--
|
484
|
+
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
485
|
+
[--export-signal | --export-telegram | --export-telegram-emoji | --export-whatsapp | --export-imessage]
|
486
|
+
[--no-compress]
|
487
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}]
|
488
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
489
|
+
[--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
490
|
+
[--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
491
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
|
492
|
+
[--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER]
|
493
|
+
[--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--padding-percent PADDING_PERCENT]
|
494
|
+
[--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX]
|
495
|
+
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER]
|
496
|
+
[--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI]
|
497
|
+
[--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD] [--signal-get-auth]
|
498
|
+
[--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN]
|
499
|
+
[--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth]
|
500
|
+
[--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
501
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER]
|
502
|
+
[--line-get-auth] [--line-cookies LINE_COOKIES] [--save-cred SAVE_CRED]
|
494
503
|
|
495
504
|
CLI for stickers-convert
|
496
505
|
|
@@ -498,6 +507,7 @@ options:
|
|
498
507
|
-h, --help show this help message and exit
|
499
508
|
--version show program's version number and exit
|
500
509
|
--no-confirm Do not ask any questions.
|
510
|
+
--no-progress Do not show progress bar in CLI.
|
501
511
|
--custom-presets CUSTOM_PRESETS
|
502
512
|
Specify a json file containing custom compression presets.
|
503
513
|
See compression.json for format.
|
@@ -508,7 +518,7 @@ Input options:
|
|
508
518
|
Specify input directory.
|
509
519
|
--download-auto DOWNLOAD_AUTO
|
510
520
|
Auto detect URL type and download
|
511
|
-
(Supported input sources: Signal, Telegram, Line, Kakao)
|
521
|
+
(Supported input sources: Signal, Telegram, Line, Kakao, Viber)
|
512
522
|
--download-signal DOWNLOAD_SIGNAL
|
513
523
|
Download signal stickers from a URL as input
|
514
524
|
(Example: https://signal.art/addstickers/#pack_id=xxxxx&pack_key=xxxxx)
|
@@ -587,7 +597,7 @@ Compression options:
|
|
587
597
|
--padding-percent PADDING_PERCENT
|
588
598
|
Set percentage of space used as padding.
|
589
599
|
--bg-color BG_COLOR Set custom background color in rrggbbaa format.
|
590
|
-
Example:
|
600
|
+
Example: 00ff0000 for green with alpha 0.
|
591
601
|
If this is not set, background color would be auto set to black if image is bright, or white if image is dark.
|
592
602
|
Note: The color should not be visible if output format supports transparency.
|
593
603
|
--vid-size-max VID_SIZE_MAX
|
@@ -1,7 +1,7 @@
|
|
1
1
|
aiolimiter~=1.1.0
|
2
|
-
anyio~=4.
|
3
|
-
apngasm_python~=1.
|
4
|
-
av~=12.
|
2
|
+
anyio~=4.4.0
|
3
|
+
apngasm_python~=1.3.1
|
4
|
+
av~=12.1.0
|
5
5
|
beautifulsoup4~=4.12.3
|
6
6
|
rookiepy~=0.5.1
|
7
7
|
imagequant~=1.1.1
|
@@ -10,11 +10,10 @@ mergedeep~=1.3.4
|
|
10
10
|
numpy>=1.22.4
|
11
11
|
Pillow~=10.3.0
|
12
12
|
pyoxipng~=9.0.0
|
13
|
-
python-telegram-bot~=21.
|
14
|
-
requests~=2.
|
13
|
+
python-telegram-bot~=21.2
|
14
|
+
requests~=2.32.2
|
15
15
|
rlottie_python~=1.3.4
|
16
16
|
signalstickers-client-fork-laggykiller~=3.3.0.post1
|
17
17
|
sqlcipher3-wheels~=0.5.2.post1
|
18
18
|
tqdm~=4.66.4
|
19
19
|
ttkbootstrap-fork-laggykiller~=1.5.1
|
20
|
-
webp~=0.3.0
|
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.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/__init__.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_base.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_kakao.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_line.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_signal.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/downloaders/download_viber.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/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.8 → sticker_convert-2.8.10}/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
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/NotoColorEmoji.ttf
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/resources/compression.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/upload_base.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/upload_signal.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/upload_telegram.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/uploaders/xcode_imessage.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/auth/get_kakao_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/auth/get_line_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/auth/get_signal_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/cache_store.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/json_manager.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/files/metadata_handler.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/codec_info.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/decrypt_kakao.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert/utils/media/format_verify.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert.egg-info/dependency_links.txt
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.10}/src/sticker_convert.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|