sticker-convert 2.7.3__py3-none-any.whl → 2.7.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sticker_convert/cli.py +12 -16
- sticker_convert/converter.py +46 -50
- sticker_convert/definitions.py +8 -12
- sticker_convert/downloaders/download_base.py +13 -30
- sticker_convert/downloaders/download_kakao.py +19 -25
- sticker_convert/downloaders/download_line.py +7 -8
- sticker_convert/downloaders/download_signal.py +4 -5
- sticker_convert/downloaders/download_telegram.py +4 -5
- sticker_convert/gui.py +28 -29
- sticker_convert/gui_components/frames/comp_frame.py +7 -7
- sticker_convert/gui_components/frames/config_frame.py +7 -7
- sticker_convert/gui_components/frames/control_frame.py +1 -1
- sticker_convert/gui_components/frames/cred_frame.py +8 -8
- sticker_convert/gui_components/frames/input_frame.py +6 -6
- sticker_convert/gui_components/frames/output_frame.py +6 -6
- sticker_convert/gui_components/frames/progress_frame.py +6 -6
- sticker_convert/gui_components/gui_utils.py +2 -4
- sticker_convert/gui_components/windows/advanced_compression_window.py +13 -11
- sticker_convert/gui_components/windows/base_window.py +3 -3
- sticker_convert/gui_components/windows/kakao_get_auth_window.py +2 -2
- sticker_convert/gui_components/windows/line_get_auth_window.py +2 -2
- sticker_convert/gui_components/windows/signal_get_auth_window.py +1 -1
- sticker_convert/job.py +66 -75
- sticker_convert/job_option.py +1 -1
- sticker_convert/resources/help.json +1 -1
- sticker_convert/uploaders/compress_wastickers.py +3 -3
- sticker_convert/uploaders/upload_base.py +2 -3
- sticker_convert/uploaders/upload_signal.py +5 -5
- sticker_convert/uploaders/upload_telegram.py +5 -4
- sticker_convert/uploaders/xcode_imessage.py +14 -69
- sticker_convert/utils/auth/get_kakao_auth.py +4 -5
- sticker_convert/utils/auth/get_line_auth.py +1 -2
- sticker_convert/utils/auth/get_signal_auth.py +4 -4
- sticker_convert/utils/callback.py +25 -17
- sticker_convert/utils/files/cache_store.py +4 -6
- sticker_convert/utils/files/json_manager.py +3 -4
- sticker_convert/utils/files/json_resources_loader.py +12 -0
- sticker_convert/utils/files/metadata_handler.py +83 -74
- sticker_convert/utils/files/run_bin.py +8 -7
- sticker_convert/utils/files/sanitize_filename.py +30 -28
- sticker_convert/utils/media/apple_png_normalize.py +2 -2
- sticker_convert/utils/media/codec_info.py +22 -29
- sticker_convert/utils/media/decrypt_kakao.py +3 -5
- sticker_convert/utils/media/format_verify.py +6 -8
- sticker_convert/utils/url_detect.py +4 -5
- sticker_convert/version.py +1 -1
- {sticker_convert-2.7.3.dist-info → sticker_convert-2.7.4.dist-info}/METADATA +16 -14
- {sticker_convert-2.7.3.dist-info → sticker_convert-2.7.4.dist-info}/RECORD +52 -51
- {sticker_convert-2.7.3.dist-info → sticker_convert-2.7.4.dist-info}/WHEEL +1 -1
- {sticker_convert-2.7.3.dist-info → sticker_convert-2.7.4.dist-info}/LICENSE +0 -0
- {sticker_convert-2.7.3.dist-info → sticker_convert-2.7.4.dist-info}/entry_points.txt +0 -0
- {sticker_convert-2.7.3.dist-info → sticker_convert-2.7.4.dist-info}/top_level.txt +0 -0
@@ -24,7 +24,7 @@ class CodecInfo:
|
|
24
24
|
)
|
25
25
|
self.codec = CodecInfo.get_file_codec(file)
|
26
26
|
self.res = CodecInfo.get_file_res(file)
|
27
|
-
self.is_animated =
|
27
|
+
self.is_animated = self.fps > 1
|
28
28
|
|
29
29
|
@staticmethod
|
30
30
|
def get_file_fps_frames_duration(
|
@@ -63,7 +63,7 @@ class CodecInfo:
|
|
63
63
|
|
64
64
|
if file_ext == ".tgs":
|
65
65
|
return CodecInfo._get_file_fps_tgs(file)
|
66
|
-
|
66
|
+
if file_ext == ".webp":
|
67
67
|
frames, duration = CodecInfo._get_file_frames_duration_webp(file)
|
68
68
|
elif file_ext in (".gif", ".apng", ".png"):
|
69
69
|
frames, duration = CodecInfo._get_file_frames_duration_pillow(file)
|
@@ -74,8 +74,7 @@ class CodecInfo:
|
|
74
74
|
|
75
75
|
if duration > 0:
|
76
76
|
return frames / duration * 1000
|
77
|
-
|
78
|
-
return 0
|
77
|
+
return 0
|
79
78
|
|
80
79
|
@staticmethod
|
81
80
|
def get_file_frames(
|
@@ -89,7 +88,7 @@ class CodecInfo:
|
|
89
88
|
|
90
89
|
if file_ext == ".tgs":
|
91
90
|
return CodecInfo._get_file_frames_tgs(file)
|
92
|
-
|
91
|
+
if file_ext in (".gif", ".webp", ".png", ".apng"):
|
93
92
|
frames, _ = CodecInfo._get_file_frames_duration_pillow(
|
94
93
|
file, frames_only=True
|
95
94
|
)
|
@@ -183,7 +182,7 @@ class CodecInfo:
|
|
183
182
|
total_duration = 0
|
184
183
|
|
185
184
|
with Image.open(file) as im:
|
186
|
-
if "n_frames" in im
|
185
|
+
if "n_frames" in dir(im):
|
187
186
|
frames = im.n_frames
|
188
187
|
if frames_only is True:
|
189
188
|
return frames, 1
|
@@ -191,8 +190,8 @@ class CodecInfo:
|
|
191
190
|
im.seek(i)
|
192
191
|
total_duration += im.info.get("duration", 1000)
|
193
192
|
return frames, total_duration
|
194
|
-
|
195
|
-
|
193
|
+
|
194
|
+
return 1, 0
|
196
195
|
|
197
196
|
@staticmethod
|
198
197
|
def _get_file_frames_duration_webp(
|
@@ -201,13 +200,12 @@ class CodecInfo:
|
|
201
200
|
total_duration = 0
|
202
201
|
frames = 0
|
203
202
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
f = BytesIO(file)
|
203
|
+
def _open_f(file: Union[Path, bytes]) -> BinaryIO:
|
204
|
+
if isinstance(file, Path):
|
205
|
+
return open(file, "r+b")
|
206
|
+
return BytesIO(file)
|
209
207
|
|
210
|
-
|
208
|
+
with _open_f(file) as f:
|
211
209
|
with mmap.mmap(f.fileno(), 0) as mm:
|
212
210
|
while True:
|
213
211
|
anmf_pos = mm.find(b"ANMF")
|
@@ -220,13 +218,11 @@ class CodecInfo:
|
|
220
218
|
)
|
221
219
|
total_duration += int.from_bytes(frame_duration, "little")
|
222
220
|
frames += 1
|
223
|
-
finally:
|
224
|
-
f.close()
|
225
221
|
|
226
222
|
if frames == 0:
|
227
223
|
return 1, 0
|
228
|
-
|
229
|
-
|
224
|
+
|
225
|
+
return frames, total_duration
|
230
226
|
|
231
227
|
@staticmethod
|
232
228
|
def _get_file_frames_duration_av(
|
@@ -274,11 +270,10 @@ class CodecInfo:
|
|
274
270
|
)
|
275
271
|
if frame_count <= 1 or duration_metadata != 0:
|
276
272
|
return frame_count, duration_metadata
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
return frame_count, int(Decimal(duration).quantize(0, ROUND_HALF_UP))
|
273
|
+
duration_n_minus_one = last_frame.pts * time_base_ms
|
274
|
+
ms_per_frame = duration_n_minus_one / (frame_count - 1)
|
275
|
+
duration = frame_count * ms_per_frame
|
276
|
+
return frame_count, int(Decimal(duration).quantize(0, ROUND_HALF_UP))
|
282
277
|
|
283
278
|
return 0, 0
|
284
279
|
|
@@ -300,7 +295,7 @@ class CodecInfo:
|
|
300
295
|
try:
|
301
296
|
with Image.open(file) as im:
|
302
297
|
codec = im.format
|
303
|
-
if "is_animated" in im
|
298
|
+
if "is_animated" in dir(im):
|
304
299
|
animated = im.is_animated
|
305
300
|
else:
|
306
301
|
animated = False
|
@@ -311,9 +306,8 @@ class CodecInfo:
|
|
311
306
|
# Unable to distinguish apng and png
|
312
307
|
if animated:
|
313
308
|
return "apng"
|
314
|
-
|
315
|
-
|
316
|
-
elif codec is not None:
|
309
|
+
return "png"
|
310
|
+
if codec is not None:
|
317
311
|
return codec.lower()
|
318
312
|
|
319
313
|
import av # type: ignore
|
@@ -375,5 +369,4 @@ class CodecInfo:
|
|
375
369
|
def is_anim(file: Union[Path, bytes]) -> bool:
|
376
370
|
if CodecInfo.get_file_frames(file, check_anim=True) > 1:
|
377
371
|
return True
|
378
|
-
|
379
|
-
return False
|
372
|
+
return False
|
@@ -3,11 +3,9 @@ from __future__ import annotations
|
|
3
3
|
|
4
4
|
from typing import List
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
https://github.com/
|
9
|
-
https://github.com/star-39/moe-sticker-bot
|
10
|
-
"""
|
6
|
+
# References:
|
7
|
+
# https://github.com/blluv/KakaoTalkEmoticonDownloader
|
8
|
+
# https://github.com/star-39/moe-sticker-bot
|
11
9
|
|
12
10
|
|
13
11
|
class DecryptKakao:
|
@@ -40,8 +40,7 @@ class FormatVerify:
|
|
40
40
|
def check_presence(file: Union[Path, bytes]) -> bool:
|
41
41
|
if isinstance(file, Path):
|
42
42
|
return Path(file).is_file()
|
43
|
-
|
44
|
-
return True
|
43
|
+
return True
|
45
44
|
|
46
45
|
@staticmethod
|
47
46
|
def check_file_res(
|
@@ -163,7 +162,7 @@ class FormatVerify:
|
|
163
162
|
file: Union[Path, bytes],
|
164
163
|
fmt: Tuple[Tuple[str, ...], Tuple[str, ...]],
|
165
164
|
file_info: Optional[CodecInfo] = None,
|
166
|
-
):
|
165
|
+
) -> bool:
|
167
166
|
if file_info:
|
168
167
|
file_animated = file_info.is_animated
|
169
168
|
file_ext = file_info.file_ext
|
@@ -184,11 +183,10 @@ class FormatVerify:
|
|
184
183
|
|
185
184
|
if len(valid_fmt) == 0:
|
186
185
|
return True
|
187
|
-
|
186
|
+
if file_ext in valid_fmt:
|
188
187
|
return True
|
189
|
-
|
188
|
+
if file_ext in jpg_exts and (".jpg" in valid_fmt or ".jpeg" in valid_fmt):
|
190
189
|
return True
|
191
|
-
|
190
|
+
if file_ext in png_exts and (".png" in valid_fmt or ".apng" in valid_fmt):
|
192
191
|
return True
|
193
|
-
|
194
|
-
return False
|
192
|
+
return False
|
@@ -12,20 +12,19 @@ class UrlDetect:
|
|
12
12
|
if domain == "signal.art":
|
13
13
|
return "signal"
|
14
14
|
|
15
|
-
|
15
|
+
if domain in ("telegram.me", "t.me"):
|
16
16
|
return "telegram"
|
17
17
|
|
18
|
-
|
18
|
+
if (
|
19
19
|
domain in ("store.line.me", "line.me")
|
20
20
|
or url.startswith("line://shop/detail/")
|
21
21
|
or (len(url) == 24 and all(c in string.hexdigits for c in url))
|
22
22
|
):
|
23
23
|
return "line"
|
24
24
|
|
25
|
-
|
25
|
+
if domain in ("e.kakao.com", "emoticon.kakao.com") or url.startswith(
|
26
26
|
"kakaotalk://store/emoticon/"
|
27
27
|
):
|
28
28
|
return "kakao"
|
29
29
|
|
30
|
-
|
31
|
-
return None
|
30
|
+
return None
|
sticker_convert/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: sticker-convert
|
3
|
-
Version: 2.7.
|
3
|
+
Version: 2.7.4
|
4
4
|
Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, iMessage. Written in Python.
|
5
5
|
Author-email: laggykiller <chaudominic2@gmail.com>
|
6
6
|
Maintainer-email: laggykiller <chaudominic2@gmail.com>
|
@@ -478,20 +478,20 @@ usage: sticker-convert.py [-h] [--version] [--no-confirm] [--input-dir INPUT_DIR
|
|
478
478
|
[--export-signal | --export-telegram | --export-telegram-emoji | --export-whatsapp | --export-imessage]
|
479
479
|
[--no-compress]
|
480
480
|
[--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,imessage_small,imessage_medium,imessage_large,custom}]
|
481
|
-
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
482
|
-
[--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
483
|
-
[--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
484
|
-
[--quality-
|
485
|
-
[--color-
|
486
|
-
[--duration-
|
487
|
-
[--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid]
|
488
|
-
[--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR]
|
489
|
-
[--
|
490
|
-
[--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN]
|
481
|
+
[--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX]
|
482
|
+
[--fps-power FPS_POWER] [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN]
|
483
|
+
[--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN] [--res-h-max RES_H_MAX] [--res-power RES_POWER]
|
484
|
+
[--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX] [--quality-power QUALITY_POWER]
|
485
|
+
[--color-min COLOR_MIN] [--color-max COLOR_MAX] [--color-power COLOR_POWER]
|
486
|
+
[--duration-min DURATION_MIN] [--duration-max DURATION_MAX] [--vid-size-max VID_SIZE_MAX]
|
487
|
+
[--img-size-max IMG_SIZE_MAX] [--vid-format VID_FORMAT] [--img-format IMG_FORMAT] [--fake-vid]
|
488
|
+
[--scale-filter SCALE_FILTER] [--quantize-method QUANTIZE_METHOD] [--cache-dir CACHE_DIR]
|
489
|
+
[--default-emoji DEFAULT_EMOJI] [--signal-uuid SIGNAL_UUID] [--signal-password SIGNAL_PASSWORD]
|
490
|
+
[--signal-get-auth] [--signal-data-dir SIGNAL_DATA_DIR] [--telegram-token TELEGRAM_TOKEN]
|
491
491
|
[--telegram-userid TELEGRAM_USERID] [--kakao-auth-token KAKAO_AUTH_TOKEN] [--kakao-get-auth]
|
492
492
|
[--kakao-username KAKAO_USERNAME] [--kakao-password KAKAO_PASSWORD]
|
493
|
-
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER]
|
494
|
-
[--line-cookies LINE_COOKIES] [--save-cred SAVE_CRED]
|
493
|
+
[--kakao-country-code KAKAO_COUNTRY_CODE] [--kakao-phone-number KAKAO_PHONE_NUMBER]
|
494
|
+
[--line-get-auth] [--line-cookies LINE_COOKIES] [--save-cred SAVE_CRED]
|
495
495
|
|
496
496
|
CLI for stickers-convert
|
497
497
|
|
@@ -592,7 +592,9 @@ Compression options:
|
|
592
592
|
--scale-filter SCALE_FILTER
|
593
593
|
Set scale filter. Default as lanczos. Valid options are:
|
594
594
|
- nearest = Use nearest neighbour (Suitable for pixel art)
|
595
|
-
-
|
595
|
+
-box = Similar to nearest, but better downscaling
|
596
|
+
- bilinear = Linear interpolation
|
597
|
+
- hamming = Similar to bilinear, but better downscaling
|
596
598
|
- bicubic = Cubic spline interpolation
|
597
599
|
- lanczos = A high-quality downsampling filter
|
598
600
|
--quantize-method QUANTIZE_METHOD
|
@@ -1,35 +1,35 @@
|
|
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=
|
4
|
-
sticker_convert/converter.py,sha256=
|
5
|
-
sticker_convert/definitions.py,sha256=
|
6
|
-
sticker_convert/gui.py,sha256=
|
7
|
-
sticker_convert/job.py,sha256=
|
8
|
-
sticker_convert/job_option.py,sha256=
|
9
|
-
sticker_convert/version.py,sha256=
|
3
|
+
sticker_convert/cli.py,sha256=9juw31O8oVRWHMs8YgUtzX0bLamouDiO4xiqFkjWNP8,17575
|
4
|
+
sticker_convert/converter.py,sha256=ZAuRO6Ic6e1nhJc_pBsBlPMVyHZzy87q5Gk_naCRShI,31241
|
5
|
+
sticker_convert/definitions.py,sha256=ZhP2ALCEud-w9ZZD4c3TDG9eHGPZyaAL7zPUsJAbjtE,2073
|
6
|
+
sticker_convert/gui.py,sha256=5nl_OYmYTIHgmgX_ctrh-Xjys0geCntVtJj2OWQWoY4,30253
|
7
|
+
sticker_convert/job.py,sha256=sibFn95LenFa4CR29txM9FImP6Ib4fUffILGd_r6kK0,25931
|
8
|
+
sticker_convert/job_option.py,sha256=niPTGZ4X1iUdkxyVc29oM67bpsUNBX9Um7OOJNa3piE,7521
|
9
|
+
sticker_convert/version.py,sha256=BgvWx-3rkv80bo8ilxFsN4mqSAsTcZt0QXEqm7n2uK0,46
|
10
10
|
sticker_convert/downloaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
-
sticker_convert/downloaders/download_base.py,sha256=
|
12
|
-
sticker_convert/downloaders/download_kakao.py,sha256=
|
13
|
-
sticker_convert/downloaders/download_line.py,sha256=
|
14
|
-
sticker_convert/downloaders/download_signal.py,sha256=
|
15
|
-
sticker_convert/downloaders/download_telegram.py,sha256=
|
11
|
+
sticker_convert/downloaders/download_base.py,sha256=5R7c8kwahAflOOYrtSQPnBVQ4T-DsprPUMP7G9wcJX4,2824
|
12
|
+
sticker_convert/downloaders/download_kakao.py,sha256=RYrebTxEjKjXAr9xw18r0dMW0dFjSqZxzi8dpaq56TY,8581
|
13
|
+
sticker_convert/downloaders/download_line.py,sha256=iQwCWqZBnoKFuQqgTR2JPnxE1RJWMu9eRmg38wST-kM,17918
|
14
|
+
sticker_convert/downloaders/download_signal.py,sha256=HMV5SV-WnfJkZ0lC65yY45xlE7_GK1b_ELOPwNTptG8,3225
|
15
|
+
sticker_convert/downloaders/download_telegram.py,sha256=ImGveyYoS2NtPiYHUQPEUOXciG76MD9iGAwvC_akXYw,4240
|
16
16
|
sticker_convert/gui_components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
sticker_convert/gui_components/gui_utils.py,sha256=
|
17
|
+
sticker_convert/gui_components/gui_utils.py,sha256=okho2cA1Scem_m6rPiYifreFzpFrM21-yUkiAv64EUI,3431
|
18
18
|
sticker_convert/gui_components/frames/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
|
-
sticker_convert/gui_components/frames/comp_frame.py,sha256=
|
20
|
-
sticker_convert/gui_components/frames/config_frame.py,sha256=
|
21
|
-
sticker_convert/gui_components/frames/control_frame.py,sha256=
|
22
|
-
sticker_convert/gui_components/frames/cred_frame.py,sha256=
|
23
|
-
sticker_convert/gui_components/frames/input_frame.py,sha256=
|
24
|
-
sticker_convert/gui_components/frames/output_frame.py,sha256=
|
25
|
-
sticker_convert/gui_components/frames/progress_frame.py,sha256=
|
19
|
+
sticker_convert/gui_components/frames/comp_frame.py,sha256=Bqdw1cRVIq1ub0TanXN7zBhQdxGuRzR9UvOgOMG5oWA,8137
|
20
|
+
sticker_convert/gui_components/frames/config_frame.py,sha256=I2mHL8vJe5E0YKXuN9rb9sXtNq7grpLuvud6g-Aaac8,4324
|
21
|
+
sticker_convert/gui_components/frames/control_frame.py,sha256=_XiOJ9JPUfiysDghGG04sEVLrXG9TMVlDZ60W0LhYVI,835
|
22
|
+
sticker_convert/gui_components/frames/cred_frame.py,sha256=I3XrOv7kUOsvFWquuzWWpZWbLclqKQXgD7dx5pcTuY4,6499
|
23
|
+
sticker_convert/gui_components/frames/input_frame.py,sha256=5Vz1d6J1jkofvvzm43DxeIW_CjWfxa2QPYFnkAAiAfM,5040
|
24
|
+
sticker_convert/gui_components/frames/output_frame.py,sha256=n2WLk22h61DoZli8WbFhd-h2CqWAebDXnBa051JBuOc,4260
|
25
|
+
sticker_convert/gui_components/frames/progress_frame.py,sha256=UpEPdxsV6knL1d5Y7k2BXKdkav2LAiv6lDFqNSQ-7_U,3474
|
26
26
|
sticker_convert/gui_components/frames/right_clicker.py,sha256=dGIvSzEChrkguR80pzUemBNJ39uzJjVJQKeDNUoW3Gk,721
|
27
27
|
sticker_convert/gui_components/windows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
sticker_convert/gui_components/windows/advanced_compression_window.py,sha256=
|
29
|
-
sticker_convert/gui_components/windows/base_window.py,sha256=
|
30
|
-
sticker_convert/gui_components/windows/kakao_get_auth_window.py,sha256=
|
31
|
-
sticker_convert/gui_components/windows/line_get_auth_window.py,sha256=
|
32
|
-
sticker_convert/gui_components/windows/signal_get_auth_window.py,sha256=
|
28
|
+
sticker_convert/gui_components/windows/advanced_compression_window.py,sha256=1UulI_3ZtXdc34aq-hzFyV2WBZOC5OWGFUAMdf7ipU0,32105
|
29
|
+
sticker_convert/gui_components/windows/base_window.py,sha256=xBE1peGMPvWsdrFej0CJUVhmQ57GJGvz-cX03nIIhkE,1108
|
30
|
+
sticker_convert/gui_components/windows/kakao_get_auth_window.py,sha256=AvXB2Q8pAPkKILHTvlLGV9jfBcvskCA4arko4nvBTdo,7115
|
31
|
+
sticker_convert/gui_components/windows/line_get_auth_window.py,sha256=S4ES_lk2-GDvPokZtYALnUc5zW1VbS4WulNqO9K1aSs,3375
|
32
|
+
sticker_convert/gui_components/windows/signal_get_auth_window.py,sha256=oucmrXushgFqIk7qLhFO1toBZ47D_2ciGoQ4jWc8YvI,4422
|
33
33
|
sticker_convert/ios-message-stickers-template/.gitignore,sha256=4uuTph_9eHfqXHUavLOmGOji6aIHOif2bUEU_hCBn4Y,9
|
34
34
|
sticker_convert/ios-message-stickers-template/README.md,sha256=oN0FvJkCWWjSZ3PMrCvY3T1zCsdkZYFgGHAoFh0Kmt8,467
|
35
35
|
sticker_convert/ios-message-stickers-template/.github/FUNDING.yml,sha256=3LlmdSAGDsBA2o_C1iBYTNLwkABnyZuN0zxgPPyd-f8,70
|
@@ -68,32 +68,33 @@ sticker_convert/resources/appicon.ico,sha256=-ldugcl2Yq2pBRTktnhGKWInpKyWzRjCiPv
|
|
68
68
|
sticker_convert/resources/appicon.png,sha256=6XBEQz7PnerqS43aRkwpWolFG4WvKMuQ-st1ly-_JPg,5265
|
69
69
|
sticker_convert/resources/compression.json,sha256=WxC_KejpEreXrd_3YfW0NhDKn6xqBSaRqalVohLq5eI,10569
|
70
70
|
sticker_convert/resources/emoji.json,sha256=sXSuKusyG1L2Stuf9BL5ZqfzOIOdeAeE3RXcrXAsLdY,413367
|
71
|
-
sticker_convert/resources/help.json,sha256
|
71
|
+
sticker_convert/resources/help.json,sha256=PQcISwdoGTZhyxgOBhNJ47z8t3rCiawewbDFHE53f3k,5988
|
72
72
|
sticker_convert/resources/input.json,sha256=sRz8qWaLh2KTjjlPIxz2UfynVn2Bn0olywbb8-qT_Hc,2251
|
73
73
|
sticker_convert/resources/output.json,sha256=QYP2gqDvEaAm5I9bH4NReaB1XMLboevv69u-V8YdZUs,1373
|
74
74
|
sticker_convert/uploaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
|
-
sticker_convert/uploaders/compress_wastickers.py,sha256=
|
76
|
-
sticker_convert/uploaders/upload_base.py,sha256=
|
77
|
-
sticker_convert/uploaders/upload_signal.py,sha256=
|
78
|
-
sticker_convert/uploaders/upload_telegram.py,sha256=
|
79
|
-
sticker_convert/uploaders/xcode_imessage.py,sha256=
|
80
|
-
sticker_convert/utils/callback.py,sha256=
|
81
|
-
sticker_convert/utils/url_detect.py,sha256=
|
82
|
-
sticker_convert/utils/auth/get_kakao_auth.py,sha256=
|
83
|
-
sticker_convert/utils/auth/get_line_auth.py,sha256=
|
84
|
-
sticker_convert/utils/auth/get_signal_auth.py,sha256=
|
85
|
-
sticker_convert/utils/files/cache_store.py,sha256=
|
86
|
-
sticker_convert/utils/files/json_manager.py,sha256=
|
87
|
-
sticker_convert/utils/files/
|
88
|
-
sticker_convert/utils/files/
|
89
|
-
sticker_convert/utils/files/
|
90
|
-
sticker_convert/utils/
|
91
|
-
sticker_convert/utils/media/
|
92
|
-
sticker_convert/utils/media/
|
93
|
-
sticker_convert/utils/media/
|
94
|
-
sticker_convert
|
95
|
-
sticker_convert-2.7.
|
96
|
-
sticker_convert-2.7.
|
97
|
-
sticker_convert-2.7.
|
98
|
-
sticker_convert-2.7.
|
99
|
-
sticker_convert-2.7.
|
75
|
+
sticker_convert/uploaders/compress_wastickers.py,sha256=vrrd2huRGEw0Dbd3EqS162MsQHuzFk5rhB6GnD9zhfU,6062
|
76
|
+
sticker_convert/uploaders/upload_base.py,sha256=FDNZdMUcamLtnxy1XNMHk1N1MJapTlODLDhod5wqo7g,1386
|
77
|
+
sticker_convert/uploaders/upload_signal.py,sha256=6H4GT10d_J9rEA0Ov1CTdNagxuRDjGYtuQYZADV05Lo,6606
|
78
|
+
sticker_convert/uploaders/upload_telegram.py,sha256=HC6G5vgOqwoabA-VYSxeQHDg_8SgAcCCaG9iZScuAvo,11716
|
79
|
+
sticker_convert/uploaders/xcode_imessage.py,sha256=mwnUTNclq4SFGX8JgFoM-bsvAtsYtrjg6gFPNdRgbWk,11319
|
80
|
+
sticker_convert/utils/callback.py,sha256=qMGboov4bd6MnrMrQkIlS4TadgbKaF9R8yeR5twMItU,5450
|
81
|
+
sticker_convert/utils/url_detect.py,sha256=Cw3SzHj0xQTgCY8KvXbgFGRn_VhDJuZvH0mWsiQOg5s,769
|
82
|
+
sticker_convert/utils/auth/get_kakao_auth.py,sha256=ipAZ1DUd5CMTpUoxRXHVOFC3DKIpxwxpTYAfrOJ6UZ8,9829
|
83
|
+
sticker_convert/utils/auth/get_line_auth.py,sha256=WzO5aGL1-_KHTcBA6ymOZLD3vLp35MUj0pG7w08K5Wo,2436
|
84
|
+
sticker_convert/utils/auth/get_signal_auth.py,sha256=xTNRouhWIYysNYz13H9nBZr6QzVUjwrhdJAH70CzwzU,4793
|
85
|
+
sticker_convert/utils/files/cache_store.py,sha256=etfe614OAhAyrnM5fGeESKq6R88YLNqkqkxSzEmZ0V0,1047
|
86
|
+
sticker_convert/utils/files/json_manager.py,sha256=Vr6pZJdLMkrJJWN99210aduVHb0ILyf0SSTaw4TZqgc,541
|
87
|
+
sticker_convert/utils/files/json_resources_loader.py,sha256=H3uMn-77wtALwiGAPhA31OIohcZtWvvzXO7rFmM8EMg,535
|
88
|
+
sticker_convert/utils/files/metadata_handler.py,sha256=TJpQ-7KdnqQh09hwR6xB_scRLhbJ6D3zgORy3dkf858,9933
|
89
|
+
sticker_convert/utils/files/run_bin.py,sha256=QalA9je6liHxiOtxsjsFsIkc2t59quhcJCVpP1X3p50,1743
|
90
|
+
sticker_convert/utils/files/sanitize_filename.py,sha256=HBklPGsHRJjFQUIC5rYTQsUrsuTtezZXIEA8CPhLP8A,2156
|
91
|
+
sticker_convert/utils/media/apple_png_normalize.py,sha256=LbrQhc7LlYX4I9ek4XJsZE4l0MygBA1jB-PFiYLEkzk,3657
|
92
|
+
sticker_convert/utils/media/codec_info.py,sha256=slKvwLxgJz1txJIN4gJ5dAFDLvZLhnTP29Pm8GYveSM,12984
|
93
|
+
sticker_convert/utils/media/decrypt_kakao.py,sha256=4wq9ZDRnFkx1WmFZnyEogBofiLGsWQM_X69HlA36578,1947
|
94
|
+
sticker_convert/utils/media/format_verify.py,sha256=Xf94jyqk_6M9IlFGMy0wYIgQKn_yg00nD4XW0CgAbew,5732
|
95
|
+
sticker_convert-2.7.4.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
|
96
|
+
sticker_convert-2.7.4.dist-info/METADATA,sha256=cHUc7sVAVAmcq5oRqssPho1AfmSXCVaPrEfl8ot1hnk,48316
|
97
|
+
sticker_convert-2.7.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
98
|
+
sticker_convert-2.7.4.dist-info/entry_points.txt,sha256=MNJ7XyC--ugxi5jS1nzjDLGnxCyLuaGdsVLnJhDHCqs,66
|
99
|
+
sticker_convert-2.7.4.dist-info/top_level.txt,sha256=r9vfnB0l1ZnH5pTH5RvkobnK3Ow9m0RsncaOMAtiAtk,16
|
100
|
+
sticker_convert-2.7.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|