sticker-convert 2.13.0__tar.gz → 2.13.2.0__tar.gz

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.
Files changed (133) hide show
  1. {sticker_convert-2.13.0/src/sticker_convert.egg-info → sticker_convert-2.13.2.0}/PKG-INFO +20 -13
  2. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/README.md +15 -7
  3. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/requirements.txt +4 -5
  4. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/cli.py +3 -0
  5. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/converter.py +1 -1
  6. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_line.py +8 -4
  7. sticker_convert-2.13.2.0/src/sticker_convert/downloaders/download_ogq.py +79 -0
  8. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/advanced_compression_window.py +1 -1
  9. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/kakao_get_auth_window.py +25 -4
  10. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/viber_get_auth_window.py +15 -0
  11. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/job.py +4 -0
  12. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/compression.json +47 -0
  13. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/help.json +1 -1
  14. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/input.json +10 -0
  15. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/get_discord_auth.py +1 -1
  16. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/get_kakao_desktop_auth.py +36 -41
  17. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/get_viber_auth.py +2 -4
  18. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/telegram_api.py +3 -1
  19. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/telethon_setup.py +18 -7
  20. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/chrome_remotedebug.py +9 -23
  21. sticker_convert-2.13.2.0/src/sticker_convert/utils/chromiums/linux.py +52 -0
  22. sticker_convert-2.13.2.0/src/sticker_convert/utils/chromiums/osx.py +68 -0
  23. sticker_convert-2.13.2.0/src/sticker_convert/utils/chromiums/windows.py +45 -0
  24. sticker_convert-2.13.2.0/src/sticker_convert/utils/process.py +231 -0
  25. sticker_convert-2.13.2.0/src/sticker_convert/version.py +3 -0
  26. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0/src/sticker_convert.egg-info}/PKG-INFO +20 -13
  27. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert.egg-info/SOURCES.txt +4 -0
  28. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert.egg-info/requires.txt +4 -5
  29. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/tests/test_download.py +42 -0
  30. sticker_convert-2.13.0/src/sticker_convert/utils/process.py +0 -187
  31. sticker_convert-2.13.0/src/sticker_convert/version.py +0 -3
  32. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/LICENSE +0 -0
  33. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/MANIFEST.in +0 -0
  34. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/pyproject.toml +0 -0
  35. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/setup.cfg +0 -0
  36. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/__init__.py +0 -0
  37. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/__main__.py +0 -0
  38. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/definitions.py +0 -0
  39. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/__init__.py +0 -0
  40. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_band.py +0 -0
  41. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_base.py +0 -0
  42. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_discord.py +0 -0
  43. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_kakao.py +0 -0
  44. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_signal.py +0 -0
  45. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_telegram.py +0 -0
  46. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/downloaders/download_viber.py +0 -0
  47. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui.py +0 -0
  48. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/__init__.py +0 -0
  49. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/__init__.py +0 -0
  50. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/comp_frame.py +0 -0
  51. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/config_frame.py +0 -0
  52. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/control_frame.py +0 -0
  53. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/cred_frame.py +0 -0
  54. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/input_frame.py +0 -0
  55. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/output_frame.py +0 -0
  56. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/progress_frame.py +0 -0
  57. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/frames/right_clicker.py +0 -0
  58. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/gui_utils.py +0 -0
  59. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/__init__.py +0 -0
  60. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/base_window.py +0 -0
  61. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/discord_get_auth_window.py +0 -0
  62. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/line_get_auth_window.py +0 -0
  63. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/gui_components/windows/signal_get_auth_window.py +0 -0
  64. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/.github/FUNDING.yml +0 -0
  65. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/.gitignore +0 -0
  66. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/README.md +0 -0
  67. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers/Info.plist +0 -0
  68. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Info.plist +0 -0
  69. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Contents.json +0 -0
  70. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Contents.json +0 -0
  71. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Contents.json +0 -0
  72. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 1.sticker/Sticker 1.png +0 -0
  73. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Contents.json +0 -0
  74. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 2.sticker/Sticker 2.png +0 -0
  75. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Contents.json +0 -0
  76. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/Sticker Pack.stickerpack/Sticker 3.sticker/Sticker 3.png +0 -0
  77. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/App-Store-1024x1024pt.png +0 -0
  78. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Contents.json +0 -0
  79. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-App-Store-1024x768pt.png +0 -0
  80. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-67x50pt@2x.png +0 -0
  81. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPad-Pro-74x55pt@2x.png +0 -0
  82. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@2x.png +0 -0
  83. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages-iPhone-60x45pt@3x.png +0 -0
  84. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@2x.png +0 -0
  85. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages27x20pt@3x.png +0 -0
  86. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@2x.png +0 -0
  87. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/Messages32x24pt@3x.png +0 -0
  88. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPad-Settings-29pt@2x.png +0 -0
  89. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-Settings-29pt@3x.png +0 -0
  90. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers StickerPackExtension/Stickers.xcstickers/iMessage App Icon.stickersiconset/iPhone-settings-29pt@2x.png +0 -0
  91. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.pbxproj +0 -0
  92. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -0
  93. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  94. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/project.xcworkspace/xcuserdata/niklaspeterson.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  95. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/ios-message-stickers-template/stickers.xcodeproj/xcuserdata/niklaspeterson.xcuserdatad/xcschemes/xcschememanagement.plist +0 -0
  96. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/job_option.py +0 -0
  97. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/NotoColorEmoji.ttf +0 -0
  98. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/appicon.icns +0 -0
  99. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/appicon.ico +0 -0
  100. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/appicon.png +0 -0
  101. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/emoji.json +0 -0
  102. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/memdump_linux.sh +0 -0
  103. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/memdump_windows.ps1 +0 -0
  104. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/resources/output.json +0 -0
  105. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/__init__.py +0 -0
  106. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/compress_wastickers.py +0 -0
  107. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/upload_base.py +0 -0
  108. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/upload_signal.py +0 -0
  109. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/upload_telegram.py +0 -0
  110. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/upload_viber.py +0 -0
  111. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/uploaders/xcode_imessage.py +0 -0
  112. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/get_kakao_auth.py +0 -0
  113. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/get_line_auth.py +0 -0
  114. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/auth/get_signal_auth.py +0 -0
  115. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/callback.py +0 -0
  116. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/emoji.py +0 -0
  117. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/files/cache_store.py +0 -0
  118. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/files/json_manager.py +0 -0
  119. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/files/json_resources_loader.py +0 -0
  120. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/files/metadata_handler.py +0 -0
  121. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/files/run_bin.py +0 -0
  122. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/files/sanitize_filename.py +0 -0
  123. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/media/apple_png_normalize.py +0 -0
  124. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/media/codec_info.py +0 -0
  125. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/media/decrypt_kakao.py +0 -0
  126. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/media/format_verify.py +0 -0
  127. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/singletons.py +0 -0
  128. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert/utils/url_detect.py +0 -0
  129. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert.egg-info/dependency_links.txt +0 -0
  130. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert.egg-info/entry_points.txt +0 -0
  131. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/src/sticker_convert.egg-info/top_level.txt +0 -0
  132. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/tests/test_compression.py +0 -0
  133. {sticker_convert-2.13.0 → sticker_convert-2.13.2.0}/tests/test_export.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sticker-convert
3
- Version: 2.13.0
3
+ Version: 2.13.2.0
4
4
  Summary: Convert (animated) stickers to/from WhatsApp, Telegram, Signal, Line, Kakao, Viber, Discord, iMessage. Written in Python.
5
5
  Author-email: laggykiller <chaudominic2@gmail.com>
6
6
  Maintainer-email: laggykiller <chaudominic2@gmail.com>
@@ -367,7 +367,7 @@ Requires-Dist: aiolimiter~=1.2.1
367
367
  Requires-Dist: anyio~=4.9.0
368
368
  Requires-Dist: apngasm_python~=1.3.2
369
369
  Requires-Dist: av>=13.1.0
370
- Requires-Dist: beautifulsoup4~=4.13.3
370
+ Requires-Dist: beautifulsoup4~=4.13.4
371
371
  Requires-Dist: cryptg~=0.5.0.post0
372
372
  Requires-Dist: rookiepy~=0.5.6
373
373
  Requires-Dist: httpx~=0.28.1
@@ -376,16 +376,15 @@ Requires-Dist: memory-tempfile~=2.2.3
376
376
  Requires-Dist: mergedeep~=1.3.4
377
377
  Requires-Dist: numpy>=1.22.4
378
378
  Requires-Dist: Pillow~=11.2.1
379
- Requires-Dist: pybrowsers~=0.8.0
380
379
  Requires-Dist: pyoxipng~=9.1.0
381
- Requires-Dist: python-telegram-bot~=22.0
380
+ Requires-Dist: python-telegram-bot~=22.1
382
381
  Requires-Dist: psutil~=7.0.0
383
382
  Requires-Dist: PyMemoryEditor~=1.5.22
384
- Requires-Dist: requests~=2.32.3
383
+ Requires-Dist: requests~=2.32.4
385
384
  Requires-Dist: rlottie_python~=1.3.7
386
385
  Requires-Dist: signalstickers-client-fork-laggykiller~=3.3.0.post2
387
386
  Requires-Dist: socksio~=1.0.0
388
- Requires-Dist: telethon~=1.39.0
387
+ Requires-Dist: telethon~=1.40.0
389
388
  Requires-Dist: tqdm~=4.67.1
390
389
  Requires-Dist: ttkbootstrap-fork-laggykiller~=1.5.1
391
390
  Requires-Dist: websocket_client~=1.8.0
@@ -397,12 +396,12 @@ Dynamic: license-file
397
396
 
398
397
  - A python script for creating, downloading, converting+compressing and uploading stickers from multiple instant messaging applications.
399
398
  - With GUI and CLI that runs on Windows, MacOS and Linux
400
- - Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Naver Band (Download only), Viber, Discord (Download only), iMessage (Create Xcode sticker pack project)
399
+ - Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Naver Band (Download only), OGQ (Download only), Viber, Discord (Download only), iMessage (Create Xcode sticker pack project)
401
400
  - Supports static and animated stickers, with transparency support
402
401
 
403
402
  ## Downloads
404
403
  - [Pre-compiled releases](https://github.com/laggykiller/sticker-convert/releases) for Windows, MacOS and Linux (As AppImage).
405
- - Windows: Unzip the downloaded file and run `sticker-convert.exe`
404
+ - Windows: Unzip the downloaded file and run `sticker-convert.exe`, or download msi file for installation
406
405
  - MacOS: Unzip the downloaded file, hold control and open `hold_control_and_click_open_me.command` for the first time, then `sticker-convert.app` in the future
407
406
  - Linux:
408
407
  - AppImage: `chmod +x` the downloaded AppImage and run it
@@ -439,6 +438,7 @@ Dynamic: license-file
439
438
  | [Line](docs/guide_line.md) | ✅ | 🚫 (Need to submit for manual approval) |
440
439
  | [Kakao](docs/guide_kakao.md) | ✅ (Need 'auth_token' for animated) | 🚫 (Need to submit for manual approval) |
441
440
  | [Band](docs/guide_band.md) | ✅ | 🚫 (Need to submit for manual approval) |
441
+ | [OGQ](docs/guide_ogq.md) | ✅ | 🚫 (Need to submit for manual approval) |
442
442
  | [Viber](docs/guide_viber.md) | ✅ | ✅ (Require `viber_auth`) |
443
443
  | [Discord](docs/guide_discord.md) | ✅ (Require `token`) | 🚫 |
444
444
  | [iMessage](docs/guide_imessage.md) | 🚫 | ⭕ (Create Xcode stickerpack project for sideload) |
@@ -468,6 +468,9 @@ Dynamic: license-file
468
468
  - Band
469
469
  - Download: Supported (e.g. `https://www.band.us/sticker/xxxx` OR 2535). Learn how to get share link from [docs/guide_band.md](docs/guide_band.md)
470
470
  - Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
471
+ - OGQ
472
+ - Download: Supported (e.g. `https://ogqmarket.naver.com/artworks/sticker/detail?artworkId=xxxxx`)
473
+ - Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
471
474
  - Viber
472
475
  - Download: Supported (e.g. `https://stickers.viber.com/pages/example` OR `https://stickers.viber.com/pages/custom-sticker-packs/example`)
473
476
  - Upload: Supported. Viber authentication data required for uploading Viber stickers, which could be fetched from Viber Desktop application automatically.
@@ -495,11 +498,11 @@ To run in CLI mode, pass on any arguments
495
498
 
496
499
  ```
497
500
  usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
498
- [--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-telegram-telethon DOWNLOAD_TELEGRAM_TELETHON | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-band DOWNLOAD_BAND | --download-viber DOWNLOAD_VIBER | --download-discord DOWNLOAD_DISCORD | --download-discord-emoji DOWNLOAD_DISCORD_EMOJI]
501
+ [--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-telegram-telethon DOWNLOAD_TELEGRAM_TELETHON | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-band DOWNLOAD_BAND | --download-ogq DOWNLOAD_OGQ | --download-viber DOWNLOAD_VIBER | --download-discord DOWNLOAD_DISCORD | --download-discord-emoji DOWNLOAD_DISCORD_EMOJI]
499
502
  [--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
500
503
  [--export-signal | --export-telegram | --export-telegram-emoji | --export-telegram-telethon | --export-telegram-emoji-telethon | --export-viber | --export-whatsapp | --export-imessage]
501
504
  [--no-compress]
502
- [--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}]
505
+ [--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,band,ogq,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}]
503
506
  [--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER]
504
507
  [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN]
505
508
  [--res-h-max RES_H_MAX] [--res-power RES_POWER] [--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX]
@@ -556,6 +559,9 @@ Input options:
556
559
  --download-band DOWNLOAD_BAND
557
560
  Download Naver Band stickers from a URL / ID as input
558
561
  (Example: https://www.band.us/sticker/xxxx OR 2535)
562
+ --download-ogq DOWNLOAD_OGQ
563
+ Download OGQ stickers from a URL / ID as input
564
+ (Example: https://ogqmarket.naver.com/artworks/sticker/detail?artworkId=xxxxx)
559
565
  --download-viber DOWNLOAD_VIBER
560
566
  Download viber stickers from a URL as input
561
567
  (Example: https://stickers.viber.com/pages/example
@@ -588,7 +594,7 @@ Output options:
588
594
 
589
595
  Compression options:
590
596
  --no-compress Do not compress files. Useful for only downloading stickers.
591
- --preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}
597
+ --preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,band,ogq,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}
592
598
  Apply preset for compression.
593
599
  --steps STEPS Set number of divisions between min and max settings.
594
600
  Steps higher = Slower but yields file more closer to the specified file size limit.
@@ -686,7 +692,6 @@ Credentials options:
686
692
  --kakao-get-auth Generate Kakao auth_token by simulating login. Kakao username, password, country code and phone number are also required.
687
693
  --kakao-get-auth-desktop
688
694
  Get Kakao auth_token from Kakao Desktop application.
689
- (Only working on Windows.)
690
695
  --kakao-bin-path KAKAO_BIN_PATH
691
696
  Set Kakao Desktop application path for launching and getting auth_token.
692
697
  Useful for portable installation.
@@ -889,9 +894,11 @@ See [docs/TODO.md](docs/TODO.md)
889
894
  - Information about Line stickers: https://github.com/doubleplusc/Line-sticker-downloader
890
895
  - Information about Kakao animated stickers: https://gist.github.com/chitacan/9802668
891
896
  - Downloading and decrypting Kakao animated stickers: https://github.com/blluv/KakaoTalkEmoticonDownloader
897
+ - Finding browser executable paths: https://github.com/roniemartinez/browsers
892
898
  - Application icon taken from [Icons8](https://icons8.com/)
893
899
  - Banner generated from [GitHub Socialify](https://socialify.git.ci/)
900
+ - Free code signing on Windows provided by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/)
894
901
 
895
902
  ## DISCLAIMER
896
- - The author of this repo is NOT affiliated with Signal, Telegram, WhatsApp, Line, Kakao, Naver Band, Viber, Discord, iMessage or Sticker Maker.
903
+ - The author of this repo is NOT affiliated with Signal, Telegram, WhatsApp, Line, Kakao, Naver Band, OGQ, Viber, Discord, iMessage or Sticker Maker.
897
904
  - The author of this repo is NOT repsonsible for any legal consequences and loss incurred from using this repo.
@@ -4,12 +4,12 @@
4
4
 
5
5
  - A python script for creating, downloading, converting+compressing and uploading stickers from multiple instant messaging applications.
6
6
  - With GUI and CLI that runs on Windows, MacOS and Linux
7
- - Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Naver Band (Download only), Viber, Discord (Download only), iMessage (Create Xcode sticker pack project)
7
+ - Currently supports Signal, Telegram, WhatsApp (Create .wastickers), Line (Download only), Kakao (Download only), Naver Band (Download only), OGQ (Download only), Viber, Discord (Download only), iMessage (Create Xcode sticker pack project)
8
8
  - Supports static and animated stickers, with transparency support
9
9
 
10
10
  ## Downloads
11
11
  - [Pre-compiled releases](https://github.com/laggykiller/sticker-convert/releases) for Windows, MacOS and Linux (As AppImage).
12
- - Windows: Unzip the downloaded file and run `sticker-convert.exe`
12
+ - Windows: Unzip the downloaded file and run `sticker-convert.exe`, or download msi file for installation
13
13
  - MacOS: Unzip the downloaded file, hold control and open `hold_control_and_click_open_me.command` for the first time, then `sticker-convert.app` in the future
14
14
  - Linux:
15
15
  - AppImage: `chmod +x` the downloaded AppImage and run it
@@ -46,6 +46,7 @@
46
46
  | [Line](docs/guide_line.md) | ✅ | 🚫 (Need to submit for manual approval) |
47
47
  | [Kakao](docs/guide_kakao.md) | ✅ (Need 'auth_token' for animated) | 🚫 (Need to submit for manual approval) |
48
48
  | [Band](docs/guide_band.md) | ✅ | 🚫 (Need to submit for manual approval) |
49
+ | [OGQ](docs/guide_ogq.md) | ✅ | 🚫 (Need to submit for manual approval) |
49
50
  | [Viber](docs/guide_viber.md) | ✅ | ✅ (Require `viber_auth`) |
50
51
  | [Discord](docs/guide_discord.md) | ✅ (Require `token`) | 🚫 |
51
52
  | [iMessage](docs/guide_imessage.md) | 🚫 | ⭕ (Create Xcode stickerpack project for sideload) |
@@ -75,6 +76,9 @@
75
76
  - Band
76
77
  - Download: Supported (e.g. `https://www.band.us/sticker/xxxx` OR 2535). Learn how to get share link from [docs/guide_band.md](docs/guide_band.md)
77
78
  - Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
79
+ - OGQ
80
+ - Download: Supported (e.g. `https://ogqmarket.naver.com/artworks/sticker/detail?artworkId=xxxxx`)
81
+ - Upload: Not supported. You need to manually submit sticker pack for approval before you can use in app.
78
82
  - Viber
79
83
  - Download: Supported (e.g. `https://stickers.viber.com/pages/example` OR `https://stickers.viber.com/pages/custom-sticker-packs/example`)
80
84
  - Upload: Supported. Viber authentication data required for uploading Viber stickers, which could be fetched from Viber Desktop application automatically.
@@ -102,11 +106,11 @@ To run in CLI mode, pass on any arguments
102
106
 
103
107
  ```
104
108
  usage: sticker-convert.py [-h] [--version] [--no-confirm] [--no-progress] [--custom-presets CUSTOM_PRESETS] [--input-dir INPUT_DIR]
105
- [--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-telegram-telethon DOWNLOAD_TELEGRAM_TELETHON | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-band DOWNLOAD_BAND | --download-viber DOWNLOAD_VIBER | --download-discord DOWNLOAD_DISCORD | --download-discord-emoji DOWNLOAD_DISCORD_EMOJI]
109
+ [--download-auto DOWNLOAD_AUTO | --download-signal DOWNLOAD_SIGNAL | --download-telegram DOWNLOAD_TELEGRAM | --download-telegram-telethon DOWNLOAD_TELEGRAM_TELETHON | --download-line DOWNLOAD_LINE | --download-kakao DOWNLOAD_KAKAO | --download-band DOWNLOAD_BAND | --download-ogq DOWNLOAD_OGQ | --download-viber DOWNLOAD_VIBER | --download-discord DOWNLOAD_DISCORD | --download-discord-emoji DOWNLOAD_DISCORD_EMOJI]
106
110
  [--output-dir OUTPUT_DIR] [--author AUTHOR] [--title TITLE]
107
111
  [--export-signal | --export-telegram | --export-telegram-emoji | --export-telegram-telethon | --export-telegram-emoji-telethon | --export-viber | --export-whatsapp | --export-imessage]
108
112
  [--no-compress]
109
- [--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}]
113
+ [--preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,band,ogq,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}]
110
114
  [--steps STEPS] [--processes PROCESSES] [--fps-min FPS_MIN] [--fps-max FPS_MAX] [--fps-power FPS_POWER]
111
115
  [--res-min RES_MIN] [--res-max RES_MAX] [--res-w-min RES_W_MIN] [--res-w-max RES_W_MAX] [--res-h-min RES_H_MIN]
112
116
  [--res-h-max RES_H_MAX] [--res-power RES_POWER] [--quality-min QUALITY_MIN] [--quality-max QUALITY_MAX]
@@ -163,6 +167,9 @@ Input options:
163
167
  --download-band DOWNLOAD_BAND
164
168
  Download Naver Band stickers from a URL / ID as input
165
169
  (Example: https://www.band.us/sticker/xxxx OR 2535)
170
+ --download-ogq DOWNLOAD_OGQ
171
+ Download OGQ stickers from a URL / ID as input
172
+ (Example: https://ogqmarket.naver.com/artworks/sticker/detail?artworkId=xxxxx)
166
173
  --download-viber DOWNLOAD_VIBER
167
174
  Download viber stickers from a URL as input
168
175
  (Example: https://stickers.viber.com/pages/example
@@ -195,7 +202,7 @@ Output options:
195
202
 
196
203
  Compression options:
197
204
  --no-compress Do not compress files. Useful for only downloading stickers.
198
- --preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}
205
+ --preset {auto,signal,telegram,telegram_emoji,whatsapp,line,kakao,band,ogq,viber,discord,discord_emoji,imessage_small,imessage_medium,imessage_large,custom}
199
206
  Apply preset for compression.
200
207
  --steps STEPS Set number of divisions between min and max settings.
201
208
  Steps higher = Slower but yields file more closer to the specified file size limit.
@@ -293,7 +300,6 @@ Credentials options:
293
300
  --kakao-get-auth Generate Kakao auth_token by simulating login. Kakao username, password, country code and phone number are also required.
294
301
  --kakao-get-auth-desktop
295
302
  Get Kakao auth_token from Kakao Desktop application.
296
- (Only working on Windows.)
297
303
  --kakao-bin-path KAKAO_BIN_PATH
298
304
  Set Kakao Desktop application path for launching and getting auth_token.
299
305
  Useful for portable installation.
@@ -496,9 +502,11 @@ See [docs/TODO.md](docs/TODO.md)
496
502
  - Information about Line stickers: https://github.com/doubleplusc/Line-sticker-downloader
497
503
  - Information about Kakao animated stickers: https://gist.github.com/chitacan/9802668
498
504
  - Downloading and decrypting Kakao animated stickers: https://github.com/blluv/KakaoTalkEmoticonDownloader
505
+ - Finding browser executable paths: https://github.com/roniemartinez/browsers
499
506
  - Application icon taken from [Icons8](https://icons8.com/)
500
507
  - Banner generated from [GitHub Socialify](https://socialify.git.ci/)
508
+ - Free code signing on Windows provided by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/)
501
509
 
502
510
  ## DISCLAIMER
503
- - The author of this repo is NOT affiliated with Signal, Telegram, WhatsApp, Line, Kakao, Naver Band, Viber, Discord, iMessage or Sticker Maker.
511
+ - The author of this repo is NOT affiliated with Signal, Telegram, WhatsApp, Line, Kakao, Naver Band, OGQ, Viber, Discord, iMessage or Sticker Maker.
504
512
  - The author of this repo is NOT repsonsible for any legal consequences and loss incurred from using this repo.
@@ -2,7 +2,7 @@ aiolimiter~=1.2.1
2
2
  anyio~=4.9.0
3
3
  apngasm_python~=1.3.2
4
4
  av>=13.1.0
5
- beautifulsoup4~=4.13.3
5
+ beautifulsoup4~=4.13.4
6
6
  cryptg~=0.5.0.post0
7
7
  rookiepy~=0.5.6
8
8
  httpx~=0.28.1
@@ -11,16 +11,15 @@ memory-tempfile~=2.2.3
11
11
  mergedeep~=1.3.4
12
12
  numpy>=1.22.4
13
13
  Pillow~=11.2.1
14
- pybrowsers~=0.8.0
15
14
  pyoxipng~=9.1.0
16
- python-telegram-bot~=22.0
15
+ python-telegram-bot~=22.1
17
16
  psutil~=7.0.0
18
17
  PyMemoryEditor~=1.5.22
19
- requests~=2.32.3
18
+ requests~=2.32.4
20
19
  rlottie_python~=1.3.7
21
20
  signalstickers-client-fork-laggykiller~=3.3.0.post2
22
21
  socksio~=1.0.0
23
- telethon~=1.39.0
22
+ telethon~=1.40.0
24
23
  tqdm~=4.67.1
25
24
  ttkbootstrap-fork-laggykiller~=1.5.1
26
25
  websocket_client~=1.8.0
@@ -233,6 +233,7 @@ class CLI:
233
233
  "telegram_telethon": args.download_telegram_telethon,
234
234
  "kakao": args.download_kakao,
235
235
  "band": args.download_band,
236
+ "ogq": args.download_ogq,
236
237
  "viber": args.download_viber,
237
238
  "discord": args.download_discord,
238
239
  "discord_emoji": args.download_discord_emoji,
@@ -551,6 +552,8 @@ class CLI:
551
552
  opt_cred.telethon_api_hash = telethon_api_hash
552
553
 
553
554
  self.cb.msg("Telethon setup successful")
555
+ else:
556
+ self.cb.msg("Telethon setup failed")
554
557
 
555
558
  if args.line_get_auth:
556
559
  get_line_auth = GetLineAuth()
@@ -441,7 +441,7 @@ class StickerConvert:
441
441
  if self.opt_comp.chromium_path:
442
442
  chrome_path = self.opt_comp.chromium_path
443
443
  else:
444
- chrome_path = CRD.get_chrome_path()
444
+ chrome_path = CRD.get_chromium_path()
445
445
  args = [
446
446
  "--headless",
447
447
  "--kiosk",
@@ -77,7 +77,7 @@ class MetadataLine:
77
77
  @staticmethod
78
78
  def get_metadata_sticon(
79
79
  pack_id: str, region: str
80
- ) -> Optional[Tuple[str, str, List[Dict[str, Any]], str, bool]]:
80
+ ) -> Optional[Tuple[str, str, List[Dict[str, Any]], str, bool, bool]]:
81
81
  pack_meta_r = requests.get(
82
82
  f"https://stickershop.line-scdn.net/sticonshop/v1/{pack_id}/sticon/iphone/meta.json"
83
83
  )
@@ -114,14 +114,15 @@ class MetadataLine:
114
114
  files = pack_meta["orders"]
115
115
 
116
116
  resource_type = pack_meta.get("sticonResourceType")
117
+ has_animation = True if resource_type == "ANIMATION" else False
117
118
  has_sound = False
118
119
 
119
- return title, author, files, resource_type, has_sound
120
+ return title, author, files, resource_type, has_animation, has_sound
120
121
 
121
122
  @staticmethod
122
123
  def get_metadata_stickers(
123
124
  pack_id: str, region: str
124
- ) -> Optional[Tuple[str, str, List[Dict[str, Any]], str, bool]]:
125
+ ) -> Optional[Tuple[str, str, List[Dict[str, Any]], str, bool, bool]]:
125
126
  pack_meta_r = requests.get(
126
127
  f"https://stickershop.line-scdn.net/stickershop/v1/product/{pack_id}/android/productInfo.meta"
127
128
  )
@@ -153,9 +154,10 @@ class MetadataLine:
153
154
  files = pack_meta["stickers"]
154
155
 
155
156
  resource_type = pack_meta.get("stickerResourceType")
157
+ has_animation = pack_meta.get("hasAnimation")
156
158
  has_sound = pack_meta.get("hasSound")
157
159
 
158
- return title, author, files, resource_type, has_sound
160
+ return title, author, files, resource_type, has_animation, has_sound
159
161
 
160
162
 
161
163
  class DownloadLine(DownloadBase):
@@ -207,6 +209,7 @@ class DownloadLine(DownloadBase):
207
209
  if (
208
210
  self.resource_type in ("ANIMATION", "ANIMATION_SOUND", "POPUP")
209
211
  or self.has_sound is True
212
+ or self.has_animation is True
210
213
  ):
211
214
  pack_url = f"https://stickershop.line-scdn.net/stickershop/v1/product/{self.pack_id}/iphone/stickerpack@2x.zip"
212
215
  elif self.resource_type == "PER_STICKER_TEXT":
@@ -419,6 +422,7 @@ class DownloadLine(DownloadBase):
419
422
  self.author,
420
423
  self.pack_files,
421
424
  self.resource_type,
425
+ self.has_animation,
422
426
  self.has_sound,
423
427
  ) = metadata
424
428
  else:
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env python3
2
+ from __future__ import annotations
3
+
4
+ from pathlib import Path
5
+ from typing import Any, List, Optional, Tuple
6
+ from urllib import parse
7
+
8
+ import requests
9
+ from bs4 import BeautifulSoup
10
+
11
+ from sticker_convert.downloaders.download_base import DownloadBase
12
+ from sticker_convert.job_option import CredOption, InputOption
13
+ from sticker_convert.utils.callback import CallbackProtocol, CallbackReturn
14
+ from sticker_convert.utils.files.metadata_handler import MetadataHandler
15
+
16
+ # Reference: https://github.com/star-39/moe-sticker-bot/issues/49
17
+
18
+
19
+ class DownloadOgq(DownloadBase):
20
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
21
+ super().__init__(*args, **kwargs)
22
+ self.headers = {"User-Agent": "Mozilla/5.0"}
23
+
24
+ def download_stickers_ogq(self) -> Tuple[int, int]:
25
+ url_parse = parse.urlparse(self.url)
26
+ if (
27
+ url_parse.netloc != "ogqmarket.naver.com"
28
+ or url_parse.path.startswith("/artworks/sticker/detail") is False
29
+ ):
30
+ self.cb.put(f"Invalid url: {self.url}")
31
+ artwork_id = {
32
+ i.split("=")[0]: i.split("=")[1] for i in url_parse.query.split("&")
33
+ }["artworkId"]
34
+
35
+ html = requests.get(self.url, headers=self.headers).text
36
+ soup = BeautifulSoup(html, "html.parser")
37
+
38
+ author_tag = soup.select_one("div.info div.nickname span") # type: ignore
39
+ author = author_tag.text.strip() if author_tag else "OGQ"
40
+ title_tag = soup.select_one("div.header div div.title p") # type: ignore
41
+ title = title_tag.text.strip() if title_tag else artwork_id
42
+
43
+ seen: List[str] = []
44
+ imgs: List[str] = []
45
+ targets: List[Tuple[str, Path]] = []
46
+ n = 0
47
+ for img in soup.find_all("img", alt="sticker-detail-image-prevew"):
48
+ src = img.get("src")
49
+ if not src:
50
+ continue
51
+ src = src.split("?")[0]
52
+ if src in seen:
53
+ continue
54
+ seen.append(src)
55
+ imgs.append(src)
56
+ sticker_url = f"{src}?type=ma480_480"
57
+ sticker_url_parse = parse.urlparse(sticker_url)
58
+ ext = sticker_url_parse.path.split(".")[-1]
59
+ if sticker_url_parse.path.split("/")[-1].startswith("original_"):
60
+ path = self.out_dir / f"{n}.{ext}"
61
+ else:
62
+ path = self.out_dir / f"cover.{ext}"
63
+ targets.append((sticker_url, path))
64
+ n += 1
65
+
66
+ results = self.download_multiple_files(targets)
67
+ MetadataHandler.set_metadata(self.out_dir, title=title, author=author)
68
+
69
+ return len(results.values()), len(targets)
70
+
71
+ @staticmethod
72
+ def start(
73
+ opt_input: InputOption,
74
+ opt_cred: Optional[CredOption],
75
+ cb: CallbackProtocol,
76
+ cb_return: CallbackReturn,
77
+ ) -> Tuple[int, int]:
78
+ downloader = DownloadOgq(opt_input, opt_cred, cb, cb_return)
79
+ return downloader.download_stickers_ogq()
@@ -609,7 +609,7 @@ class AdvancedCompressionWindow(BaseWindow):
609
609
  )[1]
610
610
  if color:
611
611
  self.gui.bg_color_var.set(color.replace("#", "") + "00")
612
- self.lift()
612
+ self.lift() # type: ignore
613
613
  self.attributes("-topmost", True) # type: ignore
614
614
  self.attributes("-topmost", False) # type: ignore
615
615
 
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env python3
2
+ import platform
2
3
  from functools import partial
3
4
  from threading import Thread
4
5
  from typing import Any, Optional
@@ -51,6 +52,20 @@ class KakaoGetAuthWindow(BaseWindow):
51
52
  justify="left",
52
53
  anchor="w",
53
54
  )
55
+ if platform.system() != "Darwin":
56
+ self.explanation1_4_lbl = Label(
57
+ self.frame_from_desktop,
58
+ text="Note: This will download ProcDump and read memory of KakaoTalk Desktop",
59
+ justify="left",
60
+ anchor="w",
61
+ )
62
+ else:
63
+ self.explanation1_4_lbl = Label(
64
+ self.frame_from_desktop,
65
+ text="Note: This will read memory of KakaoTalk Desktop",
66
+ justify="left",
67
+ anchor="w",
68
+ )
54
69
  self.kakao_bin_path_lbl = Label(
55
70
  self.frame_from_desktop,
56
71
  text="Kakao app path (Optional):",
@@ -85,10 +100,13 @@ class KakaoGetAuthWindow(BaseWindow):
85
100
  self.explanation1_3_lbl.grid(
86
101
  column=0, row=2, columnspan=2, sticky="w", padx=3, pady=3
87
102
  )
88
- self.kakao_bin_path_lbl.grid(column=0, row=3, sticky="w", padx=3, pady=3)
89
- self.kakao_bin_path_entry.grid(column=1, row=3, sticky="w", padx=3, pady=3)
90
- self.launch_desktop_btn.grid(column=0, row=4, columnspan=2, padx=3, pady=3)
91
- self.get_auth_desktop_btn.grid(column=0, row=5, columnspan=2, padx=3, pady=3)
103
+ self.explanation1_4_lbl.grid(
104
+ column=0, row=3, columnspan=2, sticky="w", padx=3, pady=3
105
+ )
106
+ self.kakao_bin_path_lbl.grid(column=0, row=4, sticky="w", padx=3, pady=3)
107
+ self.kakao_bin_path_entry.grid(column=1, row=4, sticky="w", padx=3, pady=3)
108
+ self.launch_desktop_btn.grid(column=0, row=5, columnspan=2, padx=3, pady=3)
109
+ self.get_auth_desktop_btn.grid(column=0, row=6, columnspan=2, padx=3, pady=3)
92
110
 
93
111
  # Method 2 frame
94
112
  self.explanation2_1_lbl = Label(
@@ -277,6 +295,8 @@ class KakaoGetAuthWindow(BaseWindow):
277
295
 
278
296
  def cb_from_desktop_thread(self, *_: Any) -> None:
279
297
  self.gui.save_creds()
298
+ self.gui.cb_msg("Getting auth_token, this may take a minute...")
299
+ self.gui.cb_bar("indeterminate")
280
300
  m = GetKakaoDesktopAuth(
281
301
  cb_ask_str=self.cb_ask_str_kakao,
282
302
  )
@@ -298,3 +318,4 @@ class KakaoGetAuthWindow(BaseWindow):
298
318
  self.gui.highlight_fields()
299
319
 
300
320
  self.cb_msg_block_kakao(msg)
321
+ self.gui.cb_bar("clear")
@@ -59,10 +59,25 @@ class ViberGetAuthWindow(BaseWindow):
59
59
  justify="left",
60
60
  anchor="w",
61
61
  )
62
+ if platform.system() != "Darwin":
63
+ self.explanation_lbl3 = Label(
64
+ self.frame_info,
65
+ text="Note: This will download ProcDump and read memory of Viber Desktop",
66
+ justify="left",
67
+ anchor="w",
68
+ )
69
+ else:
70
+ self.explanation_lbl3 = Label(
71
+ self.frame_info,
72
+ text="Note: This will read memory of Viber Desktop",
73
+ justify="left",
74
+ anchor="w",
75
+ )
62
76
 
63
77
  self.explanation_lbl0.grid(column=0, row=0, sticky="w", padx=3, pady=3)
64
78
  self.explanation_lbl1.grid(column=0, row=1, sticky="w", padx=3, pady=3)
65
79
  self.explanation_lbl2.grid(column=0, row=2, sticky="w", padx=3, pady=3)
80
+ self.explanation_lbl3.grid(column=0, row=3, sticky="w", padx=3, pady=3)
66
81
 
67
82
  # Start button frame
68
83
  self.launch_btn = Button(
@@ -16,6 +16,7 @@ from sticker_convert.downloaders.download_band import DownloadBand
16
16
  from sticker_convert.downloaders.download_discord import DownloadDiscord
17
17
  from sticker_convert.downloaders.download_kakao import DownloadKakao
18
18
  from sticker_convert.downloaders.download_line import DownloadLine
19
+ from sticker_convert.downloaders.download_ogq import DownloadOgq
19
20
  from sticker_convert.downloaders.download_signal import DownloadSignal
20
21
  from sticker_convert.downloaders.download_telegram import DownloadTelegram
21
22
  from sticker_convert.downloaders.download_viber import DownloadViber
@@ -570,6 +571,9 @@ class Job:
570
571
  if self.opt_input.option == "band":
571
572
  downloaders.append(DownloadBand.start)
572
573
 
574
+ if self.opt_input.option == "ogq":
575
+ downloaders.append(DownloadOgq.start)
576
+
573
577
  if self.opt_input.option == "viber":
574
578
  downloaders.append(DownloadViber.start)
575
579
 
@@ -375,6 +375,53 @@
375
375
  "quantize_method": "imagequant",
376
376
  "default_emoji": "😀"
377
377
  },
378
+ "ogq": {
379
+ "size_max": {
380
+ "img": 0,
381
+ "vid": 0
382
+ },
383
+ "format": {
384
+ "img": ".png",
385
+ "vid": ".gif"
386
+ },
387
+ "fps": {
388
+ "min": 1,
389
+ "max": 30,
390
+ "power": -0.5
391
+ },
392
+ "res": {
393
+ "w": {
394
+ "min": 480,
395
+ "max": 480
396
+ },
397
+ "h": {
398
+ "min": 480,
399
+ "max": 480
400
+ },
401
+ "power": 3
402
+ },
403
+ "quality": {
404
+ "min": 10,
405
+ "max": 95,
406
+ "power": 5
407
+ },
408
+ "color": {
409
+ "min": 32,
410
+ "max": 257,
411
+ "power": 3
412
+ },
413
+ "duration": {
414
+ "min": 83,
415
+ "max": 4000
416
+ },
417
+ "padding_percent": 0,
418
+ "bg_color": "",
419
+ "steps": 16,
420
+ "fake_vid": false,
421
+ "scale_filter": "bicubic",
422
+ "quantize_method": "imagequant",
423
+ "default_emoji": "😀"
424
+ },
378
425
  "viber": {
379
426
  "size_max": {
380
427
  "img": 0,
@@ -64,7 +64,7 @@
64
64
  "telethon_setup": "Setup Telethon",
65
65
  "kakao_auth_token": "Set Kakao auth_token. Required for downloading animated stickers from https://e.kakao.com/t/xxxxx",
66
66
  "kakao_get_auth": "Generate Kakao auth_token by simulating login. Kakao username, password, country code and phone number are also required.",
67
- "kakao_get_auth_desktop": "Get Kakao auth_token from Kakao Desktop application.\n(Only working on Windows.)",
67
+ "kakao_get_auth_desktop": "Get Kakao auth_token from Kakao Desktop application.",
68
68
  "kakao_bin_path": "Set Kakao Desktop application path for launching and getting auth_token.\nUseful for portable installation.",
69
69
  "kakao_username": "Set Kakao username, which is email or phone number used for signing up Kakao account\nExample: +447700900142\nRequired for generating Kakao auth_token.",
70
70
  "kakao_password": "Set Kakao password (Password of Kakao account).\nRequired for generating Kakao auth_token.",
@@ -69,6 +69,16 @@
69
69
  "author": false
70
70
  }
71
71
  },
72
+ "ogq": {
73
+ "full_name": "Download from OGQ",
74
+ "help": "Download OGQ stickers from a URL / ID as input",
75
+ "example": "Example: https://ogqmarket.naver.com/artworks/sticker/detail?artworkId=xxxxx",
76
+ "address_lbls": "URL address",
77
+ "metadata_provides": {
78
+ "title": true,
79
+ "author": false
80
+ }
81
+ },
72
82
  "viber": {
73
83
  "full_name": "Download from Viber",
74
84
  "help": "Download viber stickers from a URL as input",
@@ -72,7 +72,7 @@ class GetDiscordAuth:
72
72
  if chrome_path is not None:
73
73
  using_discord_app = True
74
74
  else:
75
- chrome_path = CRD.get_chrome_path()
75
+ chrome_path = CRD.get_chromium_path()
76
76
  if chrome_path is None:
77
77
  return (
78
78
  None,