sticker-convert 2.7.2__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/__init__.py +1 -0
- sticker_convert/__main__.py +3 -1
- sticker_convert/cli.py +20 -24
- sticker_convert/converter.py +108 -119
- sticker_convert/definitions.py +8 -12
- sticker_convert/downloaders/download_base.py +14 -31
- sticker_convert/downloaders/download_kakao.py +25 -39
- sticker_convert/downloaders/download_line.py +24 -33
- sticker_convert/downloaders/download_signal.py +7 -16
- sticker_convert/downloaders/download_telegram.py +6 -15
- sticker_convert/gui.py +53 -61
- sticker_convert/gui_components/frames/comp_frame.py +11 -20
- sticker_convert/gui_components/frames/config_frame.py +9 -9
- sticker_convert/gui_components/frames/control_frame.py +3 -3
- sticker_convert/gui_components/frames/cred_frame.py +12 -18
- sticker_convert/gui_components/frames/input_frame.py +9 -15
- sticker_convert/gui_components/frames/output_frame.py +9 -15
- sticker_convert/gui_components/frames/progress_frame.py +8 -8
- sticker_convert/gui_components/frames/right_clicker.py +2 -2
- sticker_convert/gui_components/gui_utils.py +6 -8
- sticker_convert/gui_components/windows/advanced_compression_window.py +23 -32
- sticker_convert/gui_components/windows/base_window.py +6 -6
- sticker_convert/gui_components/windows/kakao_get_auth_window.py +5 -11
- sticker_convert/gui_components/windows/line_get_auth_window.py +5 -5
- sticker_convert/gui_components/windows/signal_get_auth_window.py +6 -6
- sticker_convert/job.py +84 -90
- sticker_convert/job_option.py +36 -32
- sticker_convert/resources/emoji.json +334 -70
- sticker_convert/resources/help.json +1 -1
- sticker_convert/uploaders/compress_wastickers.py +19 -30
- sticker_convert/uploaders/upload_base.py +19 -13
- sticker_convert/uploaders/upload_signal.py +20 -33
- sticker_convert/uploaders/upload_telegram.py +21 -28
- sticker_convert/uploaders/xcode_imessage.py +30 -95
- sticker_convert/utils/auth/get_kakao_auth.py +7 -8
- sticker_convert/utils/auth/get_line_auth.py +5 -6
- sticker_convert/utils/auth/get_signal_auth.py +7 -7
- sticker_convert/utils/callback.py +31 -23
- sticker_convert/utils/files/cache_store.py +6 -8
- sticker_convert/utils/files/json_manager.py +6 -7
- sticker_convert/utils/files/json_resources_loader.py +12 -0
- sticker_convert/utils/files/metadata_handler.py +93 -84
- sticker_convert/utils/files/run_bin.py +11 -10
- sticker_convert/utils/files/sanitize_filename.py +30 -28
- sticker_convert/utils/media/apple_png_normalize.py +3 -2
- sticker_convert/utils/media/codec_info.py +41 -44
- sticker_convert/utils/media/decrypt_kakao.py +7 -7
- sticker_convert/utils/media/format_verify.py +14 -14
- sticker_convert/utils/url_detect.py +4 -5
- sticker_convert/version.py +2 -1
- {sticker_convert-2.7.2.dist-info → sticker_convert-2.7.4.dist-info}/METADATA +19 -17
- {sticker_convert-2.7.2.dist-info → sticker_convert-2.7.4.dist-info}/RECORD +56 -55
- {sticker_convert-2.7.2.dist-info → sticker_convert-2.7.4.dist-info}/WHEEL +1 -1
- {sticker_convert-2.7.2.dist-info → sticker_convert-2.7.4.dist-info}/LICENSE +0 -0
- {sticker_convert-2.7.2.dist-info → sticker_convert-2.7.4.dist-info}/entry_points.txt +0 -0
- {sticker_convert-2.7.2.dist-info → sticker_convert-2.7.4.dist-info}/top_level.txt +0 -0
@@ -640,6 +640,19 @@
|
|
640
640
|
, "unicode_version": "9.0"
|
641
641
|
, "ios_version": "10.2"
|
642
642
|
}
|
643
|
+
, {
|
644
|
+
"emoji": "🫨"
|
645
|
+
, "description": "shaking face"
|
646
|
+
, "category": "Smileys & Emotion"
|
647
|
+
, "aliases": [
|
648
|
+
"shaking_face"
|
649
|
+
]
|
650
|
+
, "tags": [
|
651
|
+
"shock"
|
652
|
+
]
|
653
|
+
, "unicode_version": "15.0"
|
654
|
+
, "ios_version": "16.4"
|
655
|
+
}
|
643
656
|
, {
|
644
657
|
"emoji": "😌"
|
645
658
|
, "description": "relieved face"
|
@@ -1302,7 +1315,7 @@
|
|
1302
1315
|
}
|
1303
1316
|
, {
|
1304
1317
|
"emoji": "😡"
|
1305
|
-
, "description": "
|
1318
|
+
, "description": "enraged face"
|
1306
1319
|
, "category": "Smileys & Emotion"
|
1307
1320
|
, "aliases": [
|
1308
1321
|
"rage"
|
@@ -1660,19 +1673,6 @@
|
|
1660
1673
|
, "unicode_version": "6.0"
|
1661
1674
|
, "ios_version": "6.0"
|
1662
1675
|
}
|
1663
|
-
, {
|
1664
|
-
"emoji": "💋"
|
1665
|
-
, "description": "kiss mark"
|
1666
|
-
, "category": "Smileys & Emotion"
|
1667
|
-
, "aliases": [
|
1668
|
-
"kiss"
|
1669
|
-
]
|
1670
|
-
, "tags": [
|
1671
|
-
"lipstick"
|
1672
|
-
]
|
1673
|
-
, "unicode_version": "6.0"
|
1674
|
-
, "ios_version": "6.0"
|
1675
|
-
}
|
1676
1676
|
, {
|
1677
1677
|
"emoji": "💌"
|
1678
1678
|
, "description": "love letter"
|
@@ -1847,6 +1847,18 @@
|
|
1847
1847
|
, "unicode_version": ""
|
1848
1848
|
, "ios_version": "6.0"
|
1849
1849
|
}
|
1850
|
+
, {
|
1851
|
+
"emoji": "🩷"
|
1852
|
+
, "description": "pink heart"
|
1853
|
+
, "category": "Smileys & Emotion"
|
1854
|
+
, "aliases": [
|
1855
|
+
"pink_heart"
|
1856
|
+
]
|
1857
|
+
, "tags": [
|
1858
|
+
]
|
1859
|
+
, "unicode_version": "15.0"
|
1860
|
+
, "ios_version": "16.4"
|
1861
|
+
}
|
1850
1862
|
, {
|
1851
1863
|
"emoji": "🧡"
|
1852
1864
|
, "description": "orange heart"
|
@@ -1895,6 +1907,18 @@
|
|
1895
1907
|
, "unicode_version": "6.0"
|
1896
1908
|
, "ios_version": "6.0"
|
1897
1909
|
}
|
1910
|
+
, {
|
1911
|
+
"emoji": "🩵"
|
1912
|
+
, "description": "light blue heart"
|
1913
|
+
, "category": "Smileys & Emotion"
|
1914
|
+
, "aliases": [
|
1915
|
+
"light_blue_heart"
|
1916
|
+
]
|
1917
|
+
, "tags": [
|
1918
|
+
]
|
1919
|
+
, "unicode_version": "15.0"
|
1920
|
+
, "ios_version": "16.4"
|
1921
|
+
}
|
1898
1922
|
, {
|
1899
1923
|
"emoji": "💜"
|
1900
1924
|
, "description": "purple heart"
|
@@ -1931,6 +1955,18 @@
|
|
1931
1955
|
, "unicode_version": "9.0"
|
1932
1956
|
, "ios_version": "10.2"
|
1933
1957
|
}
|
1958
|
+
, {
|
1959
|
+
"emoji": "🩶"
|
1960
|
+
, "description": "grey heart"
|
1961
|
+
, "category": "Smileys & Emotion"
|
1962
|
+
, "aliases": [
|
1963
|
+
"grey_heart"
|
1964
|
+
]
|
1965
|
+
, "tags": [
|
1966
|
+
]
|
1967
|
+
, "unicode_version": "15.0"
|
1968
|
+
, "ios_version": "16.4"
|
1969
|
+
}
|
1934
1970
|
, {
|
1935
1971
|
"emoji": "🤍"
|
1936
1972
|
, "description": "white heart"
|
@@ -1943,6 +1979,19 @@
|
|
1943
1979
|
, "unicode_version": "12.0"
|
1944
1980
|
, "ios_version": "13.0"
|
1945
1981
|
}
|
1982
|
+
, {
|
1983
|
+
"emoji": "💋"
|
1984
|
+
, "description": "kiss mark"
|
1985
|
+
, "category": "Smileys & Emotion"
|
1986
|
+
, "aliases": [
|
1987
|
+
"kiss"
|
1988
|
+
]
|
1989
|
+
, "tags": [
|
1990
|
+
"lipstick"
|
1991
|
+
]
|
1992
|
+
, "unicode_version": "6.0"
|
1993
|
+
, "ios_version": "6.0"
|
1994
|
+
}
|
1946
1995
|
, {
|
1947
1996
|
"emoji": "💯"
|
1948
1997
|
, "description": "hundred points"
|
@@ -2038,19 +2087,6 @@
|
|
2038
2087
|
, "unicode_version": "7.0"
|
2039
2088
|
, "ios_version": "9.1"
|
2040
2089
|
}
|
2041
|
-
, {
|
2042
|
-
"emoji": "💣"
|
2043
|
-
, "description": "bomb"
|
2044
|
-
, "category": "Smileys & Emotion"
|
2045
|
-
, "aliases": [
|
2046
|
-
"bomb"
|
2047
|
-
]
|
2048
|
-
, "tags": [
|
2049
|
-
"boom"
|
2050
|
-
]
|
2051
|
-
, "unicode_version": "6.0"
|
2052
|
-
, "ios_version": "6.0"
|
2053
|
-
}
|
2054
2090
|
, {
|
2055
2091
|
"emoji": "💬"
|
2056
2092
|
, "description": "speech balloon"
|
@@ -2115,7 +2151,7 @@
|
|
2115
2151
|
}
|
2116
2152
|
, {
|
2117
2153
|
"emoji": "💤"
|
2118
|
-
, "description": "
|
2154
|
+
, "description": "ZZZ"
|
2119
2155
|
, "category": "Smileys & Emotion"
|
2120
2156
|
, "aliases": [
|
2121
2157
|
"zzz"
|
@@ -2249,6 +2285,32 @@
|
|
2249
2285
|
, "ios_version": "15.4"
|
2250
2286
|
, "skin_tones": true
|
2251
2287
|
}
|
2288
|
+
, {
|
2289
|
+
"emoji": "🫷"
|
2290
|
+
, "description": "leftwards pushing hand"
|
2291
|
+
, "category": "People & Body"
|
2292
|
+
, "aliases": [
|
2293
|
+
"leftwards_pushing_hand"
|
2294
|
+
]
|
2295
|
+
, "tags": [
|
2296
|
+
]
|
2297
|
+
, "unicode_version": "15.0"
|
2298
|
+
, "ios_version": "16.4"
|
2299
|
+
, "skin_tones": true
|
2300
|
+
}
|
2301
|
+
, {
|
2302
|
+
"emoji": "🫸"
|
2303
|
+
, "description": "rightwards pushing hand"
|
2304
|
+
, "category": "People & Body"
|
2305
|
+
, "aliases": [
|
2306
|
+
"rightwards_pushing_hand"
|
2307
|
+
]
|
2308
|
+
, "tags": [
|
2309
|
+
]
|
2310
|
+
, "unicode_version": "15.0"
|
2311
|
+
, "ios_version": "16.4"
|
2312
|
+
, "skin_tones": true
|
2313
|
+
}
|
2252
2314
|
, {
|
2253
2315
|
"emoji": "👌"
|
2254
2316
|
, "description": "OK hand"
|
@@ -6416,7 +6478,7 @@
|
|
6416
6478
|
]
|
6417
6479
|
, "unicode_version": "12.0"
|
6418
6480
|
, "ios_version": "13.0"
|
6419
|
-
, "skin_tones":
|
6481
|
+
, "skin_tones": true
|
6420
6482
|
}
|
6421
6483
|
, {
|
6422
6484
|
"emoji": "👭"
|
@@ -7190,6 +7252,32 @@
|
|
7190
7252
|
, "unicode_version": "6.0"
|
7191
7253
|
, "ios_version": "6.0"
|
7192
7254
|
}
|
7255
|
+
, {
|
7256
|
+
"emoji": "🫎"
|
7257
|
+
, "description": "moose"
|
7258
|
+
, "category": "Animals & Nature"
|
7259
|
+
, "aliases": [
|
7260
|
+
"moose"
|
7261
|
+
]
|
7262
|
+
, "tags": [
|
7263
|
+
"canada"
|
7264
|
+
]
|
7265
|
+
, "unicode_version": "15.0"
|
7266
|
+
, "ios_version": "16.4"
|
7267
|
+
}
|
7268
|
+
, {
|
7269
|
+
"emoji": "🫏"
|
7270
|
+
, "description": "donkey"
|
7271
|
+
, "category": "Animals & Nature"
|
7272
|
+
, "aliases": [
|
7273
|
+
"donkey"
|
7274
|
+
]
|
7275
|
+
, "tags": [
|
7276
|
+
"mule"
|
7277
|
+
]
|
7278
|
+
, "unicode_version": "15.0"
|
7279
|
+
, "ios_version": "16.4"
|
7280
|
+
}
|
7193
7281
|
, {
|
7194
7282
|
"emoji": "🐎"
|
7195
7283
|
, "description": "horse"
|
@@ -7941,6 +8029,44 @@
|
|
7941
8029
|
, "unicode_version": "11.0"
|
7942
8030
|
, "ios_version": "12.1"
|
7943
8031
|
}
|
8032
|
+
, {
|
8033
|
+
"emoji": "🪽"
|
8034
|
+
, "description": "wing"
|
8035
|
+
, "category": "Animals & Nature"
|
8036
|
+
, "aliases": [
|
8037
|
+
"wing"
|
8038
|
+
]
|
8039
|
+
, "tags": [
|
8040
|
+
"fly"
|
8041
|
+
]
|
8042
|
+
, "unicode_version": "15.0"
|
8043
|
+
, "ios_version": "16.4"
|
8044
|
+
}
|
8045
|
+
, {
|
8046
|
+
"emoji": "🐦⬛"
|
8047
|
+
, "description": "black bird"
|
8048
|
+
, "category": "Animals & Nature"
|
8049
|
+
, "aliases": [
|
8050
|
+
"black_bird"
|
8051
|
+
]
|
8052
|
+
, "tags": [
|
8053
|
+
]
|
8054
|
+
, "unicode_version": "15.0"
|
8055
|
+
, "ios_version": "16.4"
|
8056
|
+
}
|
8057
|
+
, {
|
8058
|
+
"emoji": "🪿"
|
8059
|
+
, "description": "goose"
|
8060
|
+
, "category": "Animals & Nature"
|
8061
|
+
, "aliases": [
|
8062
|
+
"goose"
|
8063
|
+
]
|
8064
|
+
, "tags": [
|
8065
|
+
"honk"
|
8066
|
+
]
|
8067
|
+
, "unicode_version": "15.0"
|
8068
|
+
, "ios_version": "16.4"
|
8069
|
+
}
|
7944
8070
|
, {
|
7945
8071
|
"emoji": "🐸"
|
7946
8072
|
, "description": "frog"
|
@@ -8188,6 +8314,18 @@
|
|
8188
8314
|
, "unicode_version": "14.0"
|
8189
8315
|
, "ios_version": "15.4"
|
8190
8316
|
}
|
8317
|
+
, {
|
8318
|
+
"emoji": "🪼"
|
8319
|
+
, "description": "jellyfish"
|
8320
|
+
, "category": "Animals & Nature"
|
8321
|
+
, "aliases": [
|
8322
|
+
"jellyfish"
|
8323
|
+
]
|
8324
|
+
, "tags": [
|
8325
|
+
]
|
8326
|
+
, "unicode_version": "15.0"
|
8327
|
+
, "ios_version": "16.4"
|
8328
|
+
}
|
8191
8329
|
, {
|
8192
8330
|
"emoji": "🐌"
|
8193
8331
|
, "description": "snail"
|
@@ -8521,6 +8659,18 @@
|
|
8521
8659
|
, "unicode_version": "6.0"
|
8522
8660
|
, "ios_version": "6.0"
|
8523
8661
|
}
|
8662
|
+
, {
|
8663
|
+
"emoji": "🪻"
|
8664
|
+
, "description": "hyacinth"
|
8665
|
+
, "category": "Animals & Nature"
|
8666
|
+
, "aliases": [
|
8667
|
+
"hyacinth"
|
8668
|
+
]
|
8669
|
+
, "tags": [
|
8670
|
+
]
|
8671
|
+
, "unicode_version": "15.0"
|
8672
|
+
, "ios_version": "16.4"
|
8673
|
+
}
|
8524
8674
|
, {
|
8525
8675
|
"emoji": "🌱"
|
8526
8676
|
, "description": "seedling"
|
@@ -8708,6 +8858,19 @@
|
|
8708
8858
|
, "unicode_version": "14.0"
|
8709
8859
|
, "ios_version": "15.4"
|
8710
8860
|
}
|
8861
|
+
, {
|
8862
|
+
"emoji": "🍄"
|
8863
|
+
, "description": "mushroom"
|
8864
|
+
, "category": "Animals & Nature"
|
8865
|
+
, "aliases": [
|
8866
|
+
"mushroom"
|
8867
|
+
]
|
8868
|
+
, "tags": [
|
8869
|
+
"fungus"
|
8870
|
+
]
|
8871
|
+
, "unicode_version": "6.0"
|
8872
|
+
, "ios_version": "6.0"
|
8873
|
+
}
|
8711
8874
|
, {
|
8712
8875
|
"emoji": "🍇"
|
8713
8876
|
, "description": "grapes"
|
@@ -9088,18 +9251,6 @@
|
|
9088
9251
|
, "unicode_version": "12.0"
|
9089
9252
|
, "ios_version": "13.0"
|
9090
9253
|
}
|
9091
|
-
, {
|
9092
|
-
"emoji": "🍄"
|
9093
|
-
, "description": "mushroom"
|
9094
|
-
, "category": "Food & Drink"
|
9095
|
-
, "aliases": [
|
9096
|
-
"mushroom"
|
9097
|
-
]
|
9098
|
-
, "tags": [
|
9099
|
-
]
|
9100
|
-
, "unicode_version": "6.0"
|
9101
|
-
, "ios_version": "6.0"
|
9102
|
-
}
|
9103
9254
|
, {
|
9104
9255
|
"emoji": "🥜"
|
9105
9256
|
, "description": "peanuts"
|
@@ -9136,6 +9287,30 @@
|
|
9136
9287
|
, "unicode_version": "6.0"
|
9137
9288
|
, "ios_version": "6.0"
|
9138
9289
|
}
|
9290
|
+
, {
|
9291
|
+
"emoji": "🫚"
|
9292
|
+
, "description": "ginger root"
|
9293
|
+
, "category": "Food & Drink"
|
9294
|
+
, "aliases": [
|
9295
|
+
"ginger_root"
|
9296
|
+
]
|
9297
|
+
, "tags": [
|
9298
|
+
]
|
9299
|
+
, "unicode_version": "15.0"
|
9300
|
+
, "ios_version": "16.4"
|
9301
|
+
}
|
9302
|
+
, {
|
9303
|
+
"emoji": "🫛"
|
9304
|
+
, "description": "pea pod"
|
9305
|
+
, "category": "Food & Drink"
|
9306
|
+
, "aliases": [
|
9307
|
+
"pea_pod"
|
9308
|
+
]
|
9309
|
+
, "tags": [
|
9310
|
+
]
|
9311
|
+
, "unicode_version": "15.0"
|
9312
|
+
, "ios_version": "16.4"
|
9313
|
+
}
|
9139
9314
|
, {
|
9140
9315
|
"emoji": "🍞"
|
9141
9316
|
, "description": "bread"
|
@@ -13727,6 +13902,20 @@
|
|
13727
13902
|
, "unicode_version": "12.0"
|
13728
13903
|
, "ios_version": "13.0"
|
13729
13904
|
}
|
13905
|
+
, {
|
13906
|
+
"emoji": "🔫"
|
13907
|
+
, "description": "water pistol"
|
13908
|
+
, "category": "Activities"
|
13909
|
+
, "aliases": [
|
13910
|
+
"gun"
|
13911
|
+
]
|
13912
|
+
, "tags": [
|
13913
|
+
"shoot"
|
13914
|
+
, "weapon"
|
13915
|
+
]
|
13916
|
+
, "unicode_version": "6.0"
|
13917
|
+
, "ios_version": "6.0"
|
13918
|
+
}
|
13730
13919
|
, {
|
13731
13920
|
"emoji": "🎱"
|
13732
13921
|
, "description": "pool 8 ball"
|
@@ -13766,30 +13955,6 @@
|
|
13766
13955
|
, "unicode_version": "13.0"
|
13767
13956
|
, "ios_version": "14.0"
|
13768
13957
|
}
|
13769
|
-
, {
|
13770
|
-
"emoji": "🧿"
|
13771
|
-
, "description": "nazar amulet"
|
13772
|
-
, "category": "Activities"
|
13773
|
-
, "aliases": [
|
13774
|
-
"nazar_amulet"
|
13775
|
-
]
|
13776
|
-
, "tags": [
|
13777
|
-
]
|
13778
|
-
, "unicode_version": "11.0"
|
13779
|
-
, "ios_version": "12.1"
|
13780
|
-
}
|
13781
|
-
, {
|
13782
|
-
"emoji": "🪬"
|
13783
|
-
, "description": "hamsa"
|
13784
|
-
, "category": "Activities"
|
13785
|
-
, "aliases": [
|
13786
|
-
"hamsa"
|
13787
|
-
]
|
13788
|
-
, "tags": [
|
13789
|
-
]
|
13790
|
-
, "unicode_version": "14.0"
|
13791
|
-
, "ios_version": "15.4"
|
13792
|
-
}
|
13793
13958
|
, {
|
13794
13959
|
"emoji": "🎮"
|
13795
13960
|
, "description": "video game"
|
@@ -14335,6 +14500,19 @@
|
|
14335
14500
|
, "unicode_version": "6.0"
|
14336
14501
|
, "ios_version": "6.0"
|
14337
14502
|
}
|
14503
|
+
, {
|
14504
|
+
"emoji": "🪭"
|
14505
|
+
, "description": "folding hand fan"
|
14506
|
+
, "category": "Objects"
|
14507
|
+
, "aliases": [
|
14508
|
+
"folding_hand_fan"
|
14509
|
+
]
|
14510
|
+
, "tags": [
|
14511
|
+
"sensu"
|
14512
|
+
]
|
14513
|
+
, "unicode_version": "15.0"
|
14514
|
+
, "ios_version": "16.4"
|
14515
|
+
}
|
14338
14516
|
, {
|
14339
14517
|
"emoji": "👛"
|
14340
14518
|
, "description": "purse"
|
@@ -14512,6 +14690,18 @@
|
|
14512
14690
|
, "unicode_version": "6.0"
|
14513
14691
|
, "ios_version": "6.0"
|
14514
14692
|
}
|
14693
|
+
, {
|
14694
|
+
"emoji": "🪮"
|
14695
|
+
, "description": "hair pick"
|
14696
|
+
, "category": "Objects"
|
14697
|
+
, "aliases": [
|
14698
|
+
"hair_pick"
|
14699
|
+
]
|
14700
|
+
, "tags": [
|
14701
|
+
]
|
14702
|
+
, "unicode_version": "15.0"
|
14703
|
+
, "ios_version": "16.4"
|
14704
|
+
}
|
14515
14705
|
, {
|
14516
14706
|
"emoji": "👑"
|
14517
14707
|
, "description": "crown"
|
@@ -14999,6 +15189,32 @@
|
|
14999
15189
|
, "unicode_version": "13.0"
|
15000
15190
|
, "ios_version": "14.0"
|
15001
15191
|
}
|
15192
|
+
, {
|
15193
|
+
"emoji": "🪇"
|
15194
|
+
, "description": "maracas"
|
15195
|
+
, "category": "Objects"
|
15196
|
+
, "aliases": [
|
15197
|
+
"maracas"
|
15198
|
+
]
|
15199
|
+
, "tags": [
|
15200
|
+
"shaker"
|
15201
|
+
]
|
15202
|
+
, "unicode_version": "15.0"
|
15203
|
+
, "ios_version": "16.4"
|
15204
|
+
}
|
15205
|
+
, {
|
15206
|
+
"emoji": "🪈"
|
15207
|
+
, "description": "flute"
|
15208
|
+
, "category": "Objects"
|
15209
|
+
, "aliases": [
|
15210
|
+
"flute"
|
15211
|
+
]
|
15212
|
+
, "tags": [
|
15213
|
+
"recorder"
|
15214
|
+
]
|
15215
|
+
, "unicode_version": "15.0"
|
15216
|
+
, "ios_version": "16.4"
|
15217
|
+
}
|
15002
15218
|
, {
|
15003
15219
|
"emoji": "📱"
|
15004
15220
|
, "description": "mobile phone"
|
@@ -16490,15 +16706,14 @@
|
|
16490
16706
|
, "ios_version": "9.1"
|
16491
16707
|
}
|
16492
16708
|
, {
|
16493
|
-
"emoji": "
|
16494
|
-
, "description": "
|
16709
|
+
"emoji": "💣"
|
16710
|
+
, "description": "bomb"
|
16495
16711
|
, "category": "Objects"
|
16496
16712
|
, "aliases": [
|
16497
|
-
"
|
16713
|
+
"bomb"
|
16498
16714
|
]
|
16499
16715
|
, "tags": [
|
16500
|
-
"
|
16501
|
-
, "weapon"
|
16716
|
+
"boom"
|
16502
16717
|
]
|
16503
16718
|
, "unicode_version": "6.0"
|
16504
16719
|
, "ios_version": "6.0"
|
@@ -17239,6 +17454,30 @@
|
|
17239
17454
|
, "unicode_version": "4.1"
|
17240
17455
|
, "ios_version": "9.1"
|
17241
17456
|
}
|
17457
|
+
, {
|
17458
|
+
"emoji": "🧿"
|
17459
|
+
, "description": "nazar amulet"
|
17460
|
+
, "category": "Objects"
|
17461
|
+
, "aliases": [
|
17462
|
+
"nazar_amulet"
|
17463
|
+
]
|
17464
|
+
, "tags": [
|
17465
|
+
]
|
17466
|
+
, "unicode_version": "11.0"
|
17467
|
+
, "ios_version": "12.1"
|
17468
|
+
}
|
17469
|
+
, {
|
17470
|
+
"emoji": "🪬"
|
17471
|
+
, "description": "hamsa"
|
17472
|
+
, "category": "Objects"
|
17473
|
+
, "aliases": [
|
17474
|
+
"hamsa"
|
17475
|
+
]
|
17476
|
+
, "tags": [
|
17477
|
+
]
|
17478
|
+
, "unicode_version": "14.0"
|
17479
|
+
, "ios_version": "15.4"
|
17480
|
+
}
|
17242
17481
|
, {
|
17243
17482
|
"emoji": "🗿"
|
17244
17483
|
, "description": "moai"
|
@@ -17995,6 +18234,18 @@
|
|
17995
18234
|
, "unicode_version": "6.0"
|
17996
18235
|
, "ios_version": "6.0"
|
17997
18236
|
}
|
18237
|
+
, {
|
18238
|
+
"emoji": "🪯"
|
18239
|
+
, "description": "khanda"
|
18240
|
+
, "category": "Symbols"
|
18241
|
+
, "aliases": [
|
18242
|
+
"khanda"
|
18243
|
+
]
|
18244
|
+
, "tags": [
|
18245
|
+
]
|
18246
|
+
, "unicode_version": "15.0"
|
18247
|
+
, "ios_version": "16.4"
|
18248
|
+
}
|
17998
18249
|
, {
|
17999
18250
|
"emoji": "♈"
|
18000
18251
|
, "description": "Aries"
|
@@ -18420,6 +18671,19 @@
|
|
18420
18671
|
, "unicode_version": "6.0"
|
18421
18672
|
, "ios_version": "6.0"
|
18422
18673
|
}
|
18674
|
+
, {
|
18675
|
+
"emoji": "🛜"
|
18676
|
+
, "description": "wireless"
|
18677
|
+
, "category": "Symbols"
|
18678
|
+
, "aliases": [
|
18679
|
+
"wireless"
|
18680
|
+
]
|
18681
|
+
, "tags": [
|
18682
|
+
"wifi"
|
18683
|
+
]
|
18684
|
+
, "unicode_version": "15.0"
|
18685
|
+
, "ios_version": "16.4"
|
18686
|
+
}
|
18423
18687
|
, {
|
18424
18688
|
"emoji": "📳"
|
18425
18689
|
, "description": "vibration mode"
|
@@ -45,7 +45,7 @@
|
|
45
45
|
"vid_format": "Set file format if input is animated.",
|
46
46
|
"img_format": "Set file format if input is static.",
|
47
47
|
"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.",
|
48
|
-
"scale_filter": "Set scale filter. Default as lanczos. Valid options are:\n- nearest = Use nearest neighbour (Suitable for pixel art)\n- bilinear =
|
48
|
+
"scale_filter": "Set scale filter. Default as lanczos. 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",
|
49
49
|
"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",
|
50
50
|
"cache_dir": "Set custom cache directory.\nUseful for debugging, or speed up conversion if cache_dir is on RAM disk.",
|
51
51
|
"default_emoji": "Set the default emoji for uploading Signal and Telegram sticker packs."
|
@@ -4,12 +4,12 @@ import shutil
|
|
4
4
|
import zipfile
|
5
5
|
from pathlib import Path
|
6
6
|
from queue import Queue
|
7
|
-
from typing import Any,
|
7
|
+
from typing import Any, List, Union
|
8
8
|
|
9
9
|
from sticker_convert.converter import StickerConvert
|
10
10
|
from sticker_convert.job_option import CompOption, CredOption, OutputOption
|
11
11
|
from sticker_convert.uploaders.upload_base import UploadBase
|
12
|
-
from sticker_convert.utils.callback import Callback, CallbackReturn
|
12
|
+
from sticker_convert.utils.callback import Callback, CallbackReturn, CbQueueItemType
|
13
13
|
from sticker_convert.utils.files.cache_store import CacheStore
|
14
14
|
from sticker_convert.utils.files.metadata_handler import MetadataHandler
|
15
15
|
from sticker_convert.utils.files.sanitize_filename import sanitize_filename
|
@@ -18,17 +18,15 @@ from sticker_convert.utils.media.format_verify import FormatVerify
|
|
18
18
|
|
19
19
|
|
20
20
|
class CompressWastickers(UploadBase):
|
21
|
-
def __init__(self, *args: Any, **kwargs: Any):
|
22
|
-
super(
|
23
|
-
base_spec =
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
)
|
30
|
-
base_spec.set_res(512)
|
31
|
-
base_spec.set_format((".webp",))
|
21
|
+
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
22
|
+
super().__init__(*args, **kwargs)
|
23
|
+
self.base_spec.size_max_img = 100000
|
24
|
+
self.base_spec.size_max_vid = 500000
|
25
|
+
self.base_spec.duration_min = 8
|
26
|
+
self.base_spec.duration_max = 10000
|
27
|
+
self.base_spec.square = True
|
28
|
+
self.base_spec.set_res(512)
|
29
|
+
self.base_spec.set_format((".webp",))
|
32
30
|
|
33
31
|
self.spec_cover = CompOption(
|
34
32
|
size_max_img=50000,
|
@@ -40,19 +38,19 @@ class CompressWastickers(UploadBase):
|
|
40
38
|
self.spec_cover.set_fps(0)
|
41
39
|
self.spec_cover.set_format((".png",))
|
42
40
|
|
43
|
-
self.webp_spec = copy.deepcopy(base_spec)
|
41
|
+
self.webp_spec = copy.deepcopy(self.base_spec)
|
44
42
|
self.webp_spec.set_format((".webp",))
|
45
43
|
self.webp_spec.animated = None if self.opt_comp.fake_vid else True
|
46
44
|
|
47
|
-
self.png_spec = copy.deepcopy(base_spec)
|
45
|
+
self.png_spec = copy.deepcopy(self.base_spec)
|
48
46
|
self.png_spec.set_format((".png",))
|
49
47
|
self.png_spec.animated = False
|
50
48
|
|
51
49
|
self.opt_comp_merged = copy.deepcopy(self.opt_comp)
|
52
|
-
self.opt_comp_merged.merge(base_spec)
|
50
|
+
self.opt_comp_merged.merge(self.base_spec)
|
53
51
|
|
54
|
-
def compress_wastickers(self) ->
|
55
|
-
urls:
|
52
|
+
def compress_wastickers(self) -> List[str]:
|
53
|
+
urls: List[str] = []
|
56
54
|
title, author, _ = MetadataHandler.get_metadata(
|
57
55
|
self.opt_output.dir,
|
58
56
|
title=self.opt_output.title,
|
@@ -112,7 +110,7 @@ class CompressWastickers(UploadBase):
|
|
112
110
|
|
113
111
|
return urls
|
114
112
|
|
115
|
-
def add_metadata(self, pack_dir: Path, title: str, author: str):
|
113
|
+
def add_metadata(self, pack_dir: Path, title: str, author: str) -> None:
|
116
114
|
opt_comp_merged = copy.deepcopy(self.opt_comp)
|
117
115
|
opt_comp_merged.merge(self.spec_cover)
|
118
116
|
|
@@ -152,17 +150,8 @@ class CompressWastickers(UploadBase):
|
|
152
150
|
opt_output: OutputOption,
|
153
151
|
opt_comp: CompOption,
|
154
152
|
opt_cred: CredOption,
|
155
|
-
cb: Union[
|
156
|
-
Queue[
|
157
|
-
Union[
|
158
|
-
tuple[str, Optional[tuple[str]], Optional[dict[str, str]]],
|
159
|
-
str,
|
160
|
-
None,
|
161
|
-
]
|
162
|
-
],
|
163
|
-
Callback,
|
164
|
-
],
|
153
|
+
cb: "Union[Queue[CbQueueItemType], Callback]",
|
165
154
|
cb_return: CallbackReturn,
|
166
|
-
) ->
|
155
|
+
) -> List[str]:
|
167
156
|
exporter = CompressWastickers(opt_output, opt_comp, opt_cred, cb, cb_return)
|
168
157
|
return exporter.compress_wastickers()
|