sticker-convert 2.8.8__tar.gz → 2.8.9__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.9}/PKG-INFO +20 -14
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/README.md +19 -13
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/cli.py +11 -1
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/converter.py +26 -9
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui.py +2 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/comp_frame.py +1 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/windows/advanced_compression_window.py +16 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/job_option.py +1 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/compression.json +12 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/help.json +2 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/callback.py +3 -1
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/version.py +1 -1
- {sticker_convert-2.8.8 → sticker_convert-2.8.9/src/sticker_convert.egg-info}/PKG-INFO +20 -14
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/LICENSE +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/MANIFEST.in +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/pyproject.toml +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/requirements.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/setup.cfg +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/__main__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/definitions.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_base.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_kakao.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_line.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_signal.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_telegram.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_viber.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/config_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/control_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/cred_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/input_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/output_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/progress_frame.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/frames/right_clicker.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/gui_utils.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/windows/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/windows/base_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/windows/line_get_auth_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/gui_components/windows/signal_get_auth_window.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/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.9}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/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.9}/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.9}/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.9}/src/sticker_convert/job.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/appicon.icns +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/appicon.ico +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/appicon.png +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/emoji.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/input.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/output.json +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/__init__.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/compress_wastickers.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/upload_base.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/upload_signal.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/upload_telegram.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/xcode_imessage.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/auth/get_kakao_auth.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/auth/get_line_auth.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/auth/get_signal_auth.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/cache_store.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/json_manager.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/json_resources_loader.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/metadata_handler.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/run_bin.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/sanitize_filename.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/media/apple_png_normalize.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/media/codec_info.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/media/decrypt_kakao.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/media/format_verify.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/url_detect.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert.egg-info/SOURCES.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert.egg-info/entry_points.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert.egg-info/requires.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert.egg-info/top_level.txt +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/tests/test_compression.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/tests/test_download.py +0 -0
- {sticker_convert-2.8.8 → sticker_convert-2.8.9}/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.9
|
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>
|
@@ -479,18 +479,22 @@ Requires-Dist: webp~=0.3.0
|
|
479
479
|
To run in CLI mode, pass on any arguments
|
480
480
|
|
481
481
|
```
|
482
|
-
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
|
482
|
+
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--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] [--no-compress]
|
486
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}]
|
487
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER] [--res-min RES_MIN]
|
488
|
+
[--res-max RES_MAX] [--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX]
|
489
|
+
[--res-power RES_POWER] [--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER] [--color-min COLOR_MIN]
|
490
|
+
[--color-max COLOR_MAX] [--color-power COLOR_POWER] [--duration-min DURATION_MIN] [--duration-max DURATION_MAX]
|
491
|
+
[--padding-percent PADDING_PERCENT] [--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX]
|
492
|
+
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD]
|
493
|
+
[--force-pywebp] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD]
|
494
|
+
[--signal-get-auth] [--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN] [--telegram-userid TELEGRAM_USERID]
|
495
|
+
[--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
496
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER] [--line-get-auth] [--line-cookies LINE_COOKIES]
|
497
|
+
[--save-cred SAVE_CRED]
|
494
498
|
|
495
499
|
CLI for stickers-convert
|
496
500
|
|
@@ -498,6 +502,7 @@ options:
|
|
498
502
|
-h, --help show this help message and exit
|
499
503
|
--version show program's version number and exit
|
500
504
|
--no-confirm Do not ask any questions.
|
505
|
+
--no-progress Do not show progress bar in CLI.
|
501
506
|
--custom-presets CUSTOM_PRESETS
|
502
507
|
Specify a json file containing custom compression presets.
|
503
508
|
See compression.json for format.
|
@@ -508,7 +513,7 @@ Input options:
|
|
508
513
|
Specify input directory.
|
509
514
|
--download-auto DOWNLOAD_AUTO
|
510
515
|
Auto detect URL type and download
|
511
|
-
(Supported input sources: Signal, Telegram, Line, Kakao)
|
516
|
+
(Supported input sources: Signal, Telegram, Line, Kakao, Viber)
|
512
517
|
--download-signal DOWNLOAD_SIGNAL
|
513
518
|
Download signal stickers from a URL as input
|
514
519
|
(Example: https://signal.art/addstickers/#pack_id=xxxxx&pack_key=xxxxx)
|
@@ -587,7 +592,7 @@ Compression options:
|
|
587
592
|
--padding-percent PADDING_PERCENT
|
588
593
|
Set percentage of space used as padding.
|
589
594
|
--bg-color BG_COLOR Set custom background color in rrggbbaa format.
|
590
|
-
Example:
|
595
|
+
Example: 00ff0000 for green with alpha 0.
|
591
596
|
If this is not set, background color would be auto set to black if image is bright, or white if image is dark.
|
592
597
|
Note: The color should not be visible if output format supports transparency.
|
593
598
|
--vid-size-max VID_SIZE_MAX
|
@@ -615,6 +620,7 @@ Compression options:
|
|
615
620
|
- imagequant = Best quality but slow
|
616
621
|
- fastoctree = Fast but image looks chunky
|
617
622
|
- none = No image quantizing, large image size as result
|
623
|
+
--force-pywebp Force using pywebp for encoding webp files instead of Pillow.
|
618
624
|
--cache-dir CACHE_DIR
|
619
625
|
Set custom cache directory.
|
620
626
|
Useful for debugging, or speed up conversion if cache_dir is on RAM disk.
|
@@ -92,18 +92,22 @@
|
|
92
92
|
To run in CLI mode, pass on any arguments
|
93
93
|
|
94
94
|
```
|
95
|
-
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
|
95
|
+
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
|
96
96
|
[--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
|
-
[--
|
97
|
+
[--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
|
98
|
+
[--export-signal | --export-telegram | --export-telegram-emoji | --export-whatsapp | --export-imessage] [--no-compress]
|
99
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}]
|
100
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER] [--res-min RES_MIN]
|
101
|
+
[--res-max RES_MAX] [--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX]
|
102
|
+
[--res-power RES_POWER] [--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER] [--color-min COLOR_MIN]
|
103
|
+
[--color-max COLOR_MAX] [--color-power COLOR_POWER] [--duration-min DURATION_MIN] [--duration-max DURATION_MAX]
|
104
|
+
[--padding-percent PADDING_PERCENT] [--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX]
|
105
|
+
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD]
|
106
|
+
[--force-pywebp] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD]
|
107
|
+
[--signal-get-auth] [--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN] [--telegram-userid TELEGRAM_USERID]
|
108
|
+
[--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
109
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER] [--line-get-auth] [--line-cookies LINE_COOKIES]
|
110
|
+
[--save-cred SAVE_CRED]
|
107
111
|
|
108
112
|
CLI for stickers-convert
|
109
113
|
|
@@ -111,6 +115,7 @@ options:
|
|
111
115
|
-h, --help show this help message and exit
|
112
116
|
--version show program's version number and exit
|
113
117
|
--no-confirm Do not ask any questions.
|
118
|
+
--no-progress Do not show progress bar in CLI.
|
114
119
|
--custom-presets CUSTOM_PRESETS
|
115
120
|
Specify a json file containing custom compression presets.
|
116
121
|
See compression.json for format.
|
@@ -121,7 +126,7 @@ Input options:
|
|
121
126
|
Specify input directory.
|
122
127
|
--download-auto DOWNLOAD_AUTO
|
123
128
|
Auto detect URL type and download
|
124
|
-
(Supported input sources: Signal, Telegram, Line, Kakao)
|
129
|
+
(Supported input sources: Signal, Telegram, Line, Kakao, Viber)
|
125
130
|
--download-signal DOWNLOAD_SIGNAL
|
126
131
|
Download signal stickers from a URL as input
|
127
132
|
(Example: https://signal.art/addstickers/#pack_id=xxxxx&pack_key=xxxxx)
|
@@ -200,7 +205,7 @@ Compression options:
|
|
200
205
|
--padding-percent PADDING_PERCENT
|
201
206
|
Set percentage of space used as padding.
|
202
207
|
--bg-color BG_COLOR Set custom background color in rrggbbaa format.
|
203
|
-
Example:
|
208
|
+
Example: 00ff0000 for green with alpha 0.
|
204
209
|
If this is not set, background color would be auto set to black if image is bright, or white if image is dark.
|
205
210
|
Note: The color should not be visible if output format supports transparency.
|
206
211
|
--vid-size-max VID_SIZE_MAX
|
@@ -228,6 +233,7 @@ Compression options:
|
|
228
233
|
- imagequant = Best quality but slow
|
229
234
|
- fastoctree = Fast but image looks chunky
|
230
235
|
- none = No image quantizing, large image size as result
|
236
|
+
--force-pywebp Force using pywebp for encoding webp files instead of Pillow.
|
231
237
|
--cache-dir CACHE_DIR
|
232
238
|
Set custom cache directory.
|
233
239
|
Useful for debugging, or speed up conversion if cache_dir is on RAM disk.
|
@@ -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",
|
@@ -130,7 +136,7 @@ class CLI:
|
|
130
136
|
"scale_filter",
|
131
137
|
"quantize_method",
|
132
138
|
)
|
133
|
-
flags_comp_bool = ("fake_vid",)
|
139
|
+
flags_comp_bool = ("fake_vid", "force_pywebp")
|
134
140
|
keyword_args: Dict[str, Any]
|
135
141
|
for k, v in self.help["comp"].items():
|
136
142
|
if k in flags_comp_int:
|
@@ -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)
|
@@ -383,6 +390,9 @@ class CLI:
|
|
383
390
|
fake_vid=self.compression_presets[preset]["fake_vid"]
|
384
391
|
if args.fake_vid is None
|
385
392
|
else args.fake_vid,
|
393
|
+
force_pywebp=self.compression_presets[preset]["force_pywebp"]
|
394
|
+
if args.force_pywebp is None
|
395
|
+
else args.force_pywebp,
|
386
396
|
cache_dir=args.cache_dir,
|
387
397
|
scale_filter=self.compression_presets[preset]["scale_filter"]
|
388
398
|
if args.scale_filter is None
|
@@ -33,11 +33,13 @@ 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_FLAG_SET = "`--force-pywebp` was set\n"
|
37
|
+
MSG_PYWEBP_NO_LIBWEBP = "system WebP>=0.5.0 was not found.\n"
|
36
38
|
MSG_PYWEBP_DUPFRAME = (
|
37
39
|
"[W] {} contains duplicated frame.\n"
|
38
|
-
"
|
39
|
-
"
|
40
|
-
"
|
40
|
+
" Using pywebp instead of Pillow as {}"
|
41
|
+
" This is faster, but known to collapse same frames into single frame,\n"
|
42
|
+
" causing problem with animation timing."
|
41
43
|
)
|
42
44
|
MSG_WEBP_PIL_DUPFRAME = (
|
43
45
|
"[W] {} contains duplicated frame.\n"
|
@@ -718,6 +720,8 @@ class StickerConvert:
|
|
718
720
|
return False
|
719
721
|
|
720
722
|
def _frames_export_webp(self) -> None:
|
723
|
+
# TODO: Encode webp with pyav when available
|
724
|
+
# https://github.com/PyAV-Org/PyAV/issues/1352
|
721
725
|
has_dup_frames = self._check_dup()
|
722
726
|
if self.fps:
|
723
727
|
# It was noted that pywebp would collapse all frames.
|
@@ -726,17 +730,30 @@ class StickerConvert:
|
|
726
730
|
# not be accepted by WhatsApp.
|
727
731
|
# Therefore, we are preferring Pillow over pywebp.
|
728
732
|
if has_dup_frames:
|
729
|
-
if
|
733
|
+
if self.opt_comp.force_pywebp:
|
734
|
+
if not self.msg_pywebp_dupframe_displayed:
|
735
|
+
self.cb.put(
|
736
|
+
MSG_PYWEBP_DUPFRAME.format(
|
737
|
+
self.in_f_name, MSG_PYWEBP_FLAG_SET
|
738
|
+
)
|
739
|
+
)
|
740
|
+
self.msg_pywebp_dupframe_displayed = True
|
741
|
+
self._frames_export_pywebp()
|
742
|
+
elif not PIL_WEBP_ANIM:
|
743
|
+
if not self.msg_pywebp_dupframe_displayed:
|
744
|
+
self.cb.put(
|
745
|
+
MSG_PYWEBP_DUPFRAME.format(
|
746
|
+
self.in_f_name, MSG_PYWEBP_NO_LIBWEBP
|
747
|
+
)
|
748
|
+
)
|
749
|
+
self.msg_pywebp_dupframe_displayed = True
|
750
|
+
self._frames_export_pywebp()
|
751
|
+
else:
|
730
752
|
# Warn that using Pillow is slower
|
731
753
|
if not self.msg_webp_pil_dupframe_displayed:
|
732
754
|
self.cb.put(MSG_WEBP_PIL_DUPFRAME.format(self.in_f_name))
|
733
755
|
self.msg_webp_pil_dupframe_displayed = True
|
734
756
|
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
757
|
else:
|
741
758
|
self._frames_export_pywebp()
|
742
759
|
else:
|
@@ -135,6 +135,7 @@ class GUI(Window):
|
|
135
135
|
self.fake_vid_var = BooleanVar()
|
136
136
|
self.scale_filter_var = StringVar(self)
|
137
137
|
self.quantize_method_var = StringVar(self)
|
138
|
+
self.force_pywebp_var = BooleanVar()
|
138
139
|
self.cache_dir_var = StringVar(self)
|
139
140
|
self.default_emoji_var = StringVar(self)
|
140
141
|
self.steps_var = IntVar(self)
|
@@ -525,6 +526,7 @@ class GUI(Window):
|
|
525
526
|
fake_vid=self.fake_vid_var.get(),
|
526
527
|
scale_filter=self.scale_filter_var.get(),
|
527
528
|
quantize_method=self.quantize_method_var.get(),
|
529
|
+
force_pywebp=self.force_pywebp_var.get(),
|
528
530
|
cache_dir=self.cache_dir_var.get()
|
529
531
|
if self.cache_dir_var.get() != ""
|
530
532
|
else None,
|
@@ -135,6 +135,7 @@ class CompFrame(LabelFrame):
|
|
135
135
|
self.gui.fake_vid_var.set(preset.get("fake_vid"))
|
136
136
|
self.gui.scale_filter_var.set(preset.get("scale_filter"))
|
137
137
|
self.gui.quantize_method_var.set(preset.get("quantize_method"))
|
138
|
+
self.gui.force_pywebp_var.set(preset.get("force_pywebp"))
|
138
139
|
self.gui.default_emoji_var.set(preset.get("default_emoji"))
|
139
140
|
self.gui.steps_var.set(preset.get("steps"))
|
140
141
|
|
@@ -293,6 +293,18 @@ class AdvancedCompressionWindow(BaseWindow):
|
|
293
293
|
bootstyle="secondary", # type: ignore
|
294
294
|
)
|
295
295
|
|
296
|
+
self.force_pywebp_help_btn = self.add_help_btn(
|
297
|
+
self.gui.help["comp"]["force_pywebp"]
|
298
|
+
)
|
299
|
+
self.force_pywebp_lbl = Label(self.frame_advcomp, text="Force pywebp")
|
300
|
+
self.force_pywebp_cbox = Checkbutton(
|
301
|
+
self.frame_advcomp,
|
302
|
+
variable=self.gui.force_pywebp_var,
|
303
|
+
onvalue=True,
|
304
|
+
offvalue=False,
|
305
|
+
bootstyle="success-round-toggle", # type: ignore
|
306
|
+
)
|
307
|
+
|
296
308
|
self.cache_dir_help_btn = self.add_help_btn(self.gui.help["comp"]["cache_dir"])
|
297
309
|
self.cache_dir_lbl = Label(self.frame_advcomp, text="Custom cache directory")
|
298
310
|
self.cache_dir_entry = Entry(
|
@@ -412,6 +424,10 @@ class AdvancedCompressionWindow(BaseWindow):
|
|
412
424
|
column=2, row=r, columnspan=4, sticky="nes", padx=3, pady=3
|
413
425
|
)
|
414
426
|
r += 1
|
427
|
+
self.force_pywebp_help_btn.grid(column=0, row=r, sticky="w", padx=3, pady=3)
|
428
|
+
self.force_pywebp_lbl.grid(column=1, row=r, sticky="w", padx=3, pady=3)
|
429
|
+
self.force_pywebp_cbox.grid(column=6, row=r, sticky="nes", padx=3, pady=3)
|
430
|
+
r += 1
|
415
431
|
self.cache_dir_help_btn.grid(column=0, row=r, sticky="w", padx=3, pady=3)
|
416
432
|
self.cache_dir_lbl.grid(column=1, row=r, sticky="w", padx=3, pady=3)
|
417
433
|
self.cache_dir_entry.grid(
|
@@ -74,6 +74,7 @@ class CompOption(BaseOption):
|
|
74
74
|
steps: int = 1
|
75
75
|
fake_vid: Optional[bool] = None
|
76
76
|
quantize_method: Optional[str] = None
|
77
|
+
force_pywebp: Optional[bool] = None
|
77
78
|
scale_filter: Optional[str] = None
|
78
79
|
cache_dir: Optional[str] = None
|
79
80
|
default_emoji: str = "😀"
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/resources/compression.json
RENAMED
@@ -44,6 +44,7 @@
|
|
44
44
|
"fake_vid": false,
|
45
45
|
"scale_filter": "bicubic",
|
46
46
|
"quantize_method": "imagequant",
|
47
|
+
"force_pywebp": false,
|
47
48
|
"default_emoji": "😀"
|
48
49
|
},
|
49
50
|
"signal": {
|
@@ -91,6 +92,7 @@
|
|
91
92
|
"fake_vid": false,
|
92
93
|
"scale_filter": "bicubic",
|
93
94
|
"quantize_method": "imagequant",
|
95
|
+
"force_pywebp": false,
|
94
96
|
"default_emoji": "😀"
|
95
97
|
},
|
96
98
|
"telegram": {
|
@@ -138,6 +140,7 @@
|
|
138
140
|
"fake_vid": false,
|
139
141
|
"scale_filter": "bicubic",
|
140
142
|
"quantize_method": "imagequant",
|
143
|
+
"force_pywebp": false,
|
141
144
|
"default_emoji": "😀"
|
142
145
|
},
|
143
146
|
"telegram_emoji": {
|
@@ -185,6 +188,7 @@
|
|
185
188
|
"fake_vid": false,
|
186
189
|
"scale_filter": "bicubic",
|
187
190
|
"quantize_method": "imagequant",
|
191
|
+
"force_pywebp": false,
|
188
192
|
"default_emoji": "😀"
|
189
193
|
},
|
190
194
|
"whatsapp": {
|
@@ -232,6 +236,7 @@
|
|
232
236
|
"fake_vid": true,
|
233
237
|
"scale_filter": "bicubic",
|
234
238
|
"quantize_method": "imagequant",
|
239
|
+
"force_pywebp": false,
|
235
240
|
"default_emoji": "😀"
|
236
241
|
},
|
237
242
|
"line": {
|
@@ -279,6 +284,7 @@
|
|
279
284
|
"fake_vid": false,
|
280
285
|
"scale_filter": "bicubic",
|
281
286
|
"quantize_method": "imagequant",
|
287
|
+
"force_pywebp": false,
|
282
288
|
"default_emoji": "😀"
|
283
289
|
},
|
284
290
|
"kakao": {
|
@@ -326,6 +332,7 @@
|
|
326
332
|
"fake_vid": false,
|
327
333
|
"scale_filter": "bicubic",
|
328
334
|
"quantize_method": "imagequant",
|
335
|
+
"force_pywebp": false,
|
329
336
|
"default_emoji": "😀"
|
330
337
|
},
|
331
338
|
"viber": {
|
@@ -373,6 +380,7 @@
|
|
373
380
|
"fake_vid": false,
|
374
381
|
"scale_filter": "bicubic",
|
375
382
|
"quantize_method": "imagequant",
|
383
|
+
"force_pywebp": false,
|
376
384
|
"default_emoji": "😀"
|
377
385
|
},
|
378
386
|
"imessage_small": {
|
@@ -420,6 +428,7 @@
|
|
420
428
|
"fake_vid": false,
|
421
429
|
"scale_filter": "bicubic",
|
422
430
|
"quantize_method": "imagequant",
|
431
|
+
"force_pywebp": false,
|
423
432
|
"default_emoji": "😀"
|
424
433
|
},
|
425
434
|
"imessage_medium": {
|
@@ -467,6 +476,7 @@
|
|
467
476
|
"fake_vid": false,
|
468
477
|
"scale_filter": "bicubic",
|
469
478
|
"quantize_method": "imagequant",
|
479
|
+
"force_pywebp": false,
|
470
480
|
"default_emoji": "😀"
|
471
481
|
},
|
472
482
|
"imessage_large": {
|
@@ -514,6 +524,7 @@
|
|
514
524
|
"fake_vid": false,
|
515
525
|
"scale_filter": "bicubic",
|
516
526
|
"quantize_method": "imagequant",
|
527
|
+
"force_pywebp": false,
|
517
528
|
"default_emoji": "😀"
|
518
529
|
},
|
519
530
|
"custom": {
|
@@ -561,6 +572,7 @@
|
|
561
572
|
"fake_vid": false,
|
562
573
|
"scale_filter": "bicubic",
|
563
574
|
"quantize_method": "imagequant",
|
575
|
+
"force_pywebp": false,
|
564
576
|
"default_emoji": "😀"
|
565
577
|
}
|
566
578
|
}
|
@@ -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": {
|
@@ -50,6 +51,7 @@
|
|
50
51
|
"fake_vid": "Convert (faking) image to video.\nUseful if:\n(1) Size limit for video is larger than image;\n(2) Mix image and video into same pack.",
|
51
52
|
"scale_filter": "Set scale filter. Default as bicubic. Valid options are:\n- nearest = Use nearest neighbour (Suitable for pixel art)\n- box = Similar to nearest, but better downscaling\n- bilinear = Linear interpolation\n- hamming = Similar to bilinear, but better downscaling\n- bicubic = Cubic spline interpolation\n- lanczos = A high-quality downsampling filter",
|
52
53
|
"quantize_method": "Set method for quantizing image. Default as imagequant. Valid options are:\n- imagequant = Best quality but slow\n- fastoctree = Fast but image looks chunky\n- none = No image quantizing, large image size as result",
|
54
|
+
"force_pywebp": "Force using pywebp for encoding webp files instead of Pillow.",
|
53
55
|
"cache_dir": "Set custom cache directory.\nUseful for debugging, or speed up conversion if cache_dir is on RAM disk.",
|
54
56
|
"default_emoji": "Set the default emoji for uploading Signal and Telegram sticker packs."
|
55
57
|
},
|
@@ -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.9
|
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>
|
@@ -479,18 +479,22 @@ Requires-Dist: webp~=0.3.0
|
|
479
479
|
To run in CLI mode, pass on any arguments
|
480
480
|
|
481
481
|
```
|
482
|
-
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
|
482
|
+
usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--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] [--no-compress]
|
486
|
+
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}]
|
487
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER] [--res-min RES_MIN]
|
488
|
+
[--res-max RES_MAX] [--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX]
|
489
|
+
[--res-power RES_POWER] [--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER] [--color-min COLOR_MIN]
|
490
|
+
[--color-max COLOR_MAX] [--color-power COLOR_POWER] [--duration-min DURATION_MIN] [--duration-max DURATION_MAX]
|
491
|
+
[--padding-percent PADDING_PERCENT] [--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX]
|
492
|
+
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD]
|
493
|
+
[--force-pywebp] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD]
|
494
|
+
[--signal-get-auth] [--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN] [--telegram-userid TELEGRAM_USERID]
|
495
|
+
[--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth] [--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
496
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER] [--line-get-auth] [--line-cookies LINE_COOKIES]
|
497
|
+
[--save-cred SAVE_CRED]
|
494
498
|
|
495
499
|
CLI for stickers-convert
|
496
500
|
|
@@ -498,6 +502,7 @@ options:
|
|
498
502
|
-h, --help show this help message and exit
|
499
503
|
--version show program's version number and exit
|
500
504
|
--no-confirm Do not ask any questions.
|
505
|
+
--no-progress Do not show progress bar in CLI.
|
501
506
|
--custom-presets CUSTOM_PRESETS
|
502
507
|
Specify a json file containing custom compression presets.
|
503
508
|
See compression.json for format.
|
@@ -508,7 +513,7 @@ Input options:
|
|
508
513
|
Specify input directory.
|
509
514
|
--download-auto DOWNLOAD_AUTO
|
510
515
|
Auto detect URL type and download
|
511
|
-
(Supported input sources: Signal, Telegram, Line, Kakao)
|
516
|
+
(Supported input sources: Signal, Telegram, Line, Kakao, Viber)
|
512
517
|
--download-signal DOWNLOAD_SIGNAL
|
513
518
|
Download signal stickers from a URL as input
|
514
519
|
(Example: https://signal.art/addstickers/#pack_id=xxxxx&pack_key=xxxxx)
|
@@ -587,7 +592,7 @@ Compression options:
|
|
587
592
|
--padding-percent PADDING_PERCENT
|
588
593
|
Set percentage of space used as padding.
|
589
594
|
--bg-color BG_COLOR Set custom background color in rrggbbaa format.
|
590
|
-
Example:
|
595
|
+
Example: 00ff0000 for green with alpha 0.
|
591
596
|
If this is not set, background color would be auto set to black if image is bright, or white if image is dark.
|
592
597
|
Note: The color should not be visible if output format supports transparency.
|
593
598
|
--vid-size-max VID_SIZE_MAX
|
@@ -615,6 +620,7 @@ Compression options:
|
|
615
620
|
- imagequant = Best quality but slow
|
616
621
|
- fastoctree = Fast but image looks chunky
|
617
622
|
- none = No image quantizing, large image size as result
|
623
|
+
--force-pywebp Force using pywebp for encoding webp files instead of Pillow.
|
618
624
|
--cache-dir CACHE_DIR
|
619
625
|
Set custom cache directory.
|
620
626
|
Useful for debugging, or speed up conversion if cache_dir is on RAM disk.
|
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.9}/src/sticker_convert/downloaders/download_base.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_kakao.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_line.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_signal.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_telegram.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/downloaders/download_viber.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/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
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/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
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/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.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/compress_wastickers.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/upload_base.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/upload_signal.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/upload_telegram.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/uploaders/xcode_imessage.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/auth/get_kakao_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/auth/get_line_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/auth/get_signal_auth.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/cache_store.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/json_manager.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/metadata_handler.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/files/sanitize_filename.py
RENAMED
File without changes
|
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/media/codec_info.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert/utils/media/decrypt_kakao.py
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/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.9}/src/sticker_convert.egg-info/dependency_links.txt
RENAMED
File without changes
|
{sticker_convert-2.8.8 → sticker_convert-2.8.9}/src/sticker_convert.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|