sticker-convert 2.8.8__py3-none-any.whl → 2.8.9__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
sticker_convert/cli.py CHANGED
@@ -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
- " 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."
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 PIL_WEBP_ANIM:
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:
sticker_convert/gui.py CHANGED
@@ -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 = "😀"
@@ -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,3 +1,3 @@
1
1
  #!/usr/bin/env python3
2
2
 
3
- __version__ = "2.8.8"
3
+ __version__ = "2.8.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sticker-convert
3
- Version: 2.8.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] [--export-signal | --export-telegram | --export-telegram-emoji | --export-whatsapp | --export-imessage]
485
- [--no-compress] [--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,imessage_small,imessage_medium,imessage_large,custom}] [--steps STEPS]
486
- [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX]
487
- [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER] [--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
488
- [--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER] [--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--padding-percent PADDING_PERCENT]
489
- [--bg-color BG_COLOR] [--vid-size-max VID_SIZE_MAX] [--img-size-max IMG_SIZE_MAX] [--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid] [--scale-filter SCALE_FILTER]
490
- [--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR] [--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD] [--signal-get-auth]
491
- [--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN] [--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth]
492
- [--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD] [--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER] [--line-get-auth]
493
- [--line-cookies LINE_COOKIES] [--save-cred SAVE_CRED]
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: 00ff00 for green with alpha 0.
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.
@@ -1,12 +1,12 @@
1
1
  sticker_convert/__init__.py,sha256=iQnv6UOOA69c3soAn7ZOnAIubTIQSUxtq1Uhh8xRWvU,102
2
2
  sticker_convert/__main__.py,sha256=6RJauR-SCSSTT3TU7FFB6B6PVwsCxO2xZXtmZ3jc2Is,463
3
- sticker_convert/cli.py,sha256=QGCpCSVt6ChVGXkX7Ngivl-CDUewqklqz2GRJKPFlsg,18621
4
- sticker_convert/converter.py,sha256=TtUPP_UcuRvdRSkf2YUR_uU-ZvLvJvZiRdNqcWb8R2I,37357
3
+ sticker_convert/cli.py,sha256=ThoWSx6C-_k4T_wcYirxNHC6f7YXZD9-UaKbEbW0a8g,19020
4
+ sticker_convert/converter.py,sha256=4YhQkYyq_rOnCPyu22dG6iztdf5xxluOmeUfzuHh0pw,38099
5
5
  sticker_convert/definitions.py,sha256=ZhP2ALCEud-w9ZZD4c3TDG9eHGPZyaAL7zPUsJAbjtE,2073
6
- sticker_convert/gui.py,sha256=TRPGwMhSMPHnZppHmw2OWHKTJtGoeLpGWD0eRYi4_yk,30707
6
+ sticker_convert/gui.py,sha256=2mZkhRKi_4tTPxUTAVo5lPFvWixy__uyyyZFOTsOc3M,30806
7
7
  sticker_convert/job.py,sha256=vKv1--y4MVmZV_IBpUhEfNEiUeEqrTR1umzlALPXKdw,25775
8
- sticker_convert/job_option.py,sha256=JHAFCxp7-dDwD-1PbpYLAFRF3OoJu8cj_BjOm5r8Gp8,7732
9
- sticker_convert/version.py,sha256=NgVoPL4PBh23ueR5NkJVXlVHy6AGoldBVKqY4xIiViY,46
8
+ sticker_convert/job_option.py,sha256=s5M_BR0U5yWN-ZEz2rvch8ZYl109p5m4PvFHEjKu1Pw,7772
9
+ sticker_convert/version.py,sha256=1NQeivze43jfPeBfR4EWVX8KQSH7hKktUzqmKSdZQT8,46
10
10
  sticker_convert/downloaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  sticker_convert/downloaders/download_base.py,sha256=x18bI2mPpbXRnSmStBHEb1IvN-VPCilOHLQUs6YPUEU,4041
12
12
  sticker_convert/downloaders/download_kakao.py,sha256=UFp7EpMea62fIePY5DfhH4jThAwdeazfoC5iW1g4dAo,8516
@@ -17,7 +17,7 @@ sticker_convert/downloaders/download_viber.py,sha256=mrM1XIuXuon4hlkYQc8vYqjYr1K
17
17
  sticker_convert/gui_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  sticker_convert/gui_components/gui_utils.py,sha256=okho2cA1Scem_m6rPiYifreFzpFrM21-yUkiAv64EUI,3431
19
19
  sticker_convert/gui_components/frames/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- sticker_convert/gui_components/frames/comp_frame.py,sha256=9k_UntKKi2G_g0byzoj1rdTqOq7q9mcnXiy799bYnr0,7257
20
+ sticker_convert/gui_components/frames/comp_frame.py,sha256=L4CCr_D5K-hieLqvGJ8fz532ETzI2LymbCDHtDFBNTM,7323
21
21
  sticker_convert/gui_components/frames/config_frame.py,sha256=b3X4QAnGpde0OhthXHmjSyU_Yb5tYRUFXmy04Yi8Zmo,4316
22
22
  sticker_convert/gui_components/frames/control_frame.py,sha256=_XiOJ9JPUfiysDghGG04sEVLrXG9TMVlDZ60W0LhYVI,835
23
23
  sticker_convert/gui_components/frames/cred_frame.py,sha256=I3XrOv7kUOsvFWquuzWWpZWbLclqKQXgD7dx5pcTuY4,6499
@@ -26,7 +26,7 @@ sticker_convert/gui_components/frames/output_frame.py,sha256=n2WLk22h61DoZli8WbF
26
26
  sticker_convert/gui_components/frames/progress_frame.py,sha256=LWUZg_iL7iiNTfu7N5Ct_pklZdghxihENi7DP9YozOE,4915
27
27
  sticker_convert/gui_components/frames/right_clicker.py,sha256=dGIvSzEChrkguR80pzUemBNJ39uzJjVJQKeDNUoW3Gk,721
28
28
  sticker_convert/gui_components/windows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- sticker_convert/gui_components/windows/advanced_compression_window.py,sha256=DT5SgSWWKXRbOD8fJK-9kch9U_P1N3ox6-bphlPr0Ss,31964
29
+ sticker_convert/gui_components/windows/advanced_compression_window.py,sha256=6PYo_IPHbddy6ncob3Xt44_wZ8m6bEQJ5l1mkKrcT7k,32675
30
30
  sticker_convert/gui_components/windows/base_window.py,sha256=xBE1peGMPvWsdrFej0CJUVhmQ57GJGvz-cX03nIIhkE,1108
31
31
  sticker_convert/gui_components/windows/kakao_get_auth_window.py,sha256=AvXB2Q8pAPkKILHTvlLGV9jfBcvskCA4arko4nvBTdo,7115
32
32
  sticker_convert/gui_components/windows/line_get_auth_window.py,sha256=S4ES_lk2-GDvPokZtYALnUc5zW1VbS4WulNqO9K1aSs,3375
@@ -67,9 +67,9 @@ sticker_convert/resources/NotoColorEmoji.ttf,sha256=LurIVaCIA8bSCfjrdO1feYr0bhKL
67
67
  sticker_convert/resources/appicon.icns,sha256=FB2DVTOQcFfQNZ9RcyG3z9c9k7eOiI1qw0IJhXMRFg4,5404
68
68
  sticker_convert/resources/appicon.ico,sha256=-ldugcl2Yq2pBRTktnhGKWInpKyWzRjCiPvMr3XPTlc,38078
69
69
  sticker_convert/resources/appicon.png,sha256=6XBEQz7PnerqS43aRkwpWolFG4WvKMuQ-st1ly-_JPg,5265
70
- sticker_convert/resources/compression.json,sha256=8SAv5m7_R2QFaU656W7gpliCJF9ZmGdE_XfnJU3D0ZE,12156
70
+ sticker_convert/resources/compression.json,sha256=brKB2wP7DSFTF5KMAD9SmiRR0nVQeyTIhcn82sKzSpM,12528
71
71
  sticker_convert/resources/emoji.json,sha256=sXSuKusyG1L2Stuf9BL5ZqfzOIOdeAeE3RXcrXAsLdY,413367
72
- sticker_convert/resources/help.json,sha256=YOemDoCtddz_7lrlkPnn5sa41kagmPkoFIC_OvYmSLI,6575
72
+ sticker_convert/resources/help.json,sha256=0EU_PDfireayHb052lTIQxOP-xK14z1iBNQkmEZmviA,6723
73
73
  sticker_convert/resources/input.json,sha256=S3CkInBMLrk5OS9aJfuTCDsf_64NOjNT3IKQr7d1hM0,2665
74
74
  sticker_convert/resources/output.json,sha256=QYP2gqDvEaAm5I9bH4NReaB1XMLboevv69u-V8YdZUs,1373
75
75
  sticker_convert/uploaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -78,7 +78,7 @@ sticker_convert/uploaders/upload_base.py,sha256=uQupPn6r4zrlAzpKzzX7CgvZb69ATyrw
78
78
  sticker_convert/uploaders/upload_signal.py,sha256=eZNfTwnZzPmJcl_UCfJT6rrmLlNpD2EKfxrO2jdi1yg,6396
79
79
  sticker_convert/uploaders/upload_telegram.py,sha256=XnspO9VVbKND0gybUwdFTSzDBVDxLw9O_R7chnVQ0t0,15695
80
80
  sticker_convert/uploaders/xcode_imessage.py,sha256=1gvOljf6kYsq_11tYhnF19Yf4oGY5y34te2DWBRMwf0,11254
81
- sticker_convert/utils/callback.py,sha256=_w_dZ3DZTA9m4TjEg6NH_VOa5Dl2YHXdXAlwx_tBdoY,6061
81
+ sticker_convert/utils/callback.py,sha256=spYUGlklOs1yPZAxoqwOWgR1sdimpfM8a27if3TaVYk,6155
82
82
  sticker_convert/utils/url_detect.py,sha256=L2QwE2jwN85MoyYsW_4GvBHuoedrlhoIdAmzwrmaKLs,840
83
83
  sticker_convert/utils/auth/get_kakao_auth.py,sha256=ipAZ1DUd5CMTpUoxRXHVOFC3DKIpxwxpTYAfrOJ6UZ8,9829
84
84
  sticker_convert/utils/auth/get_line_auth.py,sha256=8l8ha2vQmk3rHGvDE7PkcxQXbH3oe62LKbI3qVUtvqc,2196
@@ -93,9 +93,9 @@ sticker_convert/utils/media/apple_png_normalize.py,sha256=LbrQhc7LlYX4I9ek4XJsZE
93
93
  sticker_convert/utils/media/codec_info.py,sha256=SJSFvQzXHnGkj7MH9xJ5xiC4cqiOjFKckFKE_FICdT4,15562
94
94
  sticker_convert/utils/media/decrypt_kakao.py,sha256=4wq9ZDRnFkx1WmFZnyEogBofiLGsWQM_X69HlA36578,1947
95
95
  sticker_convert/utils/media/format_verify.py,sha256=Xf94jyqk_6M9IlFGMy0wYIgQKn_yg00nD4XW0CgAbew,5732
96
- sticker_convert-2.8.8.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
97
- sticker_convert-2.8.8.dist-info/METADATA,sha256=2LglWjdHEV5CgH5VD5XpSVcsWqQRu3cHYWAkZ0NHX18,50061
98
- sticker_convert-2.8.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
99
- sticker_convert-2.8.8.dist-info/entry_points.txt,sha256=MNJ7XyC--ugxi5jS1nzjDLGnxCyLuaGdsVLnJhDHCqs,66
100
- sticker_convert-2.8.8.dist-info/top_level.txt,sha256=r9vfnB0l1ZnH5pTH5RvkobnK3Ow9m0RsncaOMAtiAtk,16
101
- sticker_convert-2.8.8.dist-info/RECORD,,
96
+ sticker_convert-2.8.9.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
97
+ sticker_convert-2.8.9.dist-info/METADATA,sha256=xAKxvEPCrY5S_dYZlwSies5pzYDYldeY9i-5Y75RpIE,50350
98
+ sticker_convert-2.8.9.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
99
+ sticker_convert-2.8.9.dist-info/entry_points.txt,sha256=MNJ7XyC--ugxi5jS1nzjDLGnxCyLuaGdsVLnJhDHCqs,66
100
+ sticker_convert-2.8.9.dist-info/top_level.txt,sha256=r9vfnB0l1ZnH5pTH5RvkobnK3Ow9m0RsncaOMAtiAtk,16
101
+ sticker_convert-2.8.9.dist-info/RECORD,,