GameSentenceMiner 2.19.12__tar.gz → 2.19.14__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.
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/gsm.py +29 -7
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/PKG-INFO +2 -2
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/PKG-INFO +2 -2
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/pyproject.toml +2 -2
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ai/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ai/ai_prompting.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/anki.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon128.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon256.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon32.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon512.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon64.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/pickaxe.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/gametext.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/locales/en_us.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/locales/ja_jp.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/locales/zh_cn.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/obs.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/ss_picker.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/config.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/run.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/tools/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/tools/audio_offset_selector.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/tools/furigana_filter_preview.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/tools/ss_selector.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/tools/window_transparency.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/anki_confirmation.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/config_gui.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/furigana_filter_preview.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/screenshot_selector.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/audio_player.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/communication/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/communication/send.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/communication/websocket.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/configuration.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/db.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/downloader/Untitled_json.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/downloader/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/downloader/download_tools.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/downloader/oneocr_dl.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/electron_config.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/ffmpeg.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/games_table.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/get_overlay_coords.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/gsm_utils.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/model.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/notification.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/text_log.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/win10toast/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/win10toast/__main__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/vad.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/anki_api_endpoints.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/database_api.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/events.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/gsm_websocket.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/service.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/__init__.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/dashboard-shared.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/kanji-grid.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/loading-skeleton.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/overview.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/popups-shared.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/search.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/shared.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/stats.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/favicon.ico +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/favicon.svg +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/anki_stats.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/database.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/goals.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/heatmap.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/kanji-grid.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/overview.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/search.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/shared.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/stats.js +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/site.webmanifest +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/style.css +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/stats.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/anki_stats.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/date-range.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/html-head.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/js-config.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/basic_kanji_book_bkb_v1_v2.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/duolingo_kanji.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/grade.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/hk_primary_learning.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/hkscs2016.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/hsk_levels.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/humanum_frequency_list.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/jis_levels.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/jlpt_level.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/jpdb_kanji_frequency_list.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/jpdbv2_kanji_frequency_list.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/jun_das_modern_chinese_character_frequency_list.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/kanji_in_context_revised_edition.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/kanji_kentei_level.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/mainland_china_elementary_textbook_characters.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/moe_way_quiz.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/official_kanji.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/remembering_the_kanji.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/standard_form_of_national_characters.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/table_of_general_standard_chinese_characters.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/the_kodansha_kanji_learners_course_klc.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/thousand_character_classic.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/wanikani_levels.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/kanji_grid/words_hk_frequency_list.json +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/navigation.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/popups.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/settings-modal.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/components/theme-styles.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/database.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/goals.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/index.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/overview.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/search.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/stats.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/utility.html +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/texthooking_page.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/wip/__init___.py +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/requires.txt +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/top_level.txt +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/LICENSE +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/README.md +0 -0
- {gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/setup.cfg +0 -0
|
@@ -12,8 +12,14 @@ def handle_error_in_initialization(e):
|
|
|
12
12
|
logger.info("Exiting due to initialization error.")
|
|
13
13
|
sys.exit(1)
|
|
14
14
|
|
|
15
|
+
Icon = None
|
|
15
16
|
|
|
16
17
|
try:
|
|
18
|
+
import GameSentenceMiner.util.configuration
|
|
19
|
+
from GameSentenceMiner.util.configuration import logger, gsm_state, get_config, anki_results, AnkiUpdateResult, \
|
|
20
|
+
get_temporary_directory, get_log_path, get_master_config, switch_profile_and_save, get_app_directory, gsm_status, \
|
|
21
|
+
is_windows, is_linux, get_ffmpeg_path
|
|
22
|
+
|
|
17
23
|
import asyncio
|
|
18
24
|
import os
|
|
19
25
|
import shutil
|
|
@@ -33,16 +39,16 @@ try:
|
|
|
33
39
|
import keyboard
|
|
34
40
|
import ttkbootstrap as ttk
|
|
35
41
|
from PIL import Image
|
|
36
|
-
|
|
42
|
+
try:
|
|
43
|
+
pass
|
|
44
|
+
# from pystray import Icon, Menu, MenuItem
|
|
45
|
+
except Exception:
|
|
46
|
+
logger.warning("pystray not installed correctly, tray icon will not work.")
|
|
37
47
|
from watchdog.events import FileSystemEventHandler
|
|
38
48
|
from watchdog.observers import Observer
|
|
39
49
|
import psutil
|
|
40
50
|
|
|
41
51
|
start_time = time.time()
|
|
42
|
-
import GameSentenceMiner.util.configuration
|
|
43
|
-
from GameSentenceMiner.util.configuration import logger, gsm_state, get_config, anki_results, AnkiUpdateResult, \
|
|
44
|
-
get_temporary_directory, get_log_path, get_master_config, switch_profile_and_save, get_app_directory, gsm_status, \
|
|
45
|
-
is_windows, is_linux, get_ffmpeg_path
|
|
46
52
|
|
|
47
53
|
logger.debug(f"[Import] configuration: {time.time() - start_time:.3f}s")
|
|
48
54
|
|
|
@@ -443,9 +449,15 @@ class GSMTray(threading.Thread):
|
|
|
443
449
|
self.icon = None
|
|
444
450
|
|
|
445
451
|
def run(self):
|
|
452
|
+
if not Icon:
|
|
453
|
+
logger.warning("Tray icon functionality is not available.")
|
|
454
|
+
return
|
|
446
455
|
self.run_tray()
|
|
447
456
|
|
|
448
457
|
def run_tray(self):
|
|
458
|
+
if not Icon:
|
|
459
|
+
logger.warning("Tray icon functionality is not available.")
|
|
460
|
+
return
|
|
449
461
|
def run_anki_confirmation_window():
|
|
450
462
|
settings_window.show_anki_confirmation_dialog(expression="こんにちは",
|
|
451
463
|
sentence="こんにちは、世界!元気ですか?",
|
|
@@ -475,6 +487,8 @@ class GSMTray(threading.Thread):
|
|
|
475
487
|
|
|
476
488
|
def update_icon(self, profile=None):
|
|
477
489
|
global menu, icon
|
|
490
|
+
if not self.icon:
|
|
491
|
+
return
|
|
478
492
|
# Recreate the menu with the updated button text
|
|
479
493
|
profile_menu = Menu(
|
|
480
494
|
*[MenuItem(("Active: " if profile == get_master_config().current_profile else "") + profile, self.switch_profile) for
|
|
@@ -496,6 +510,8 @@ class GSMTray(threading.Thread):
|
|
|
496
510
|
self.icon.update_menu()
|
|
497
511
|
|
|
498
512
|
def switch_profile(self, icon, item):
|
|
513
|
+
if not self.icon:
|
|
514
|
+
return
|
|
499
515
|
if "Active:" in item.text:
|
|
500
516
|
logger.error("You cannot switch to the currently active profile!")
|
|
501
517
|
return
|
|
@@ -509,11 +525,15 @@ class GSMTray(threading.Thread):
|
|
|
509
525
|
send_restart_signal()
|
|
510
526
|
|
|
511
527
|
def play_pause(self, icon, item):
|
|
528
|
+
if not self.icon:
|
|
529
|
+
return
|
|
512
530
|
global obs_paused, menu
|
|
513
531
|
obs.toggle_replay_buffer()
|
|
514
532
|
self.update_icon()
|
|
515
533
|
|
|
516
534
|
def stop(self):
|
|
535
|
+
if not self.icon:
|
|
536
|
+
return
|
|
517
537
|
if self.icon:
|
|
518
538
|
self.icon.stop()
|
|
519
539
|
|
|
@@ -861,13 +881,15 @@ async def async_main(reloading=False):
|
|
|
861
881
|
try:
|
|
862
882
|
if get_config().general.open_config_on_startup:
|
|
863
883
|
root.after(50, settings_window.show)
|
|
864
|
-
|
|
884
|
+
if Icon:
|
|
885
|
+
root.after(50, gsm_tray.start)
|
|
865
886
|
# root.after(100, settings_window.show_anki_confirmation_dialog(expression="こんにちは",
|
|
866
887
|
# sentence="こんにちは、世界!元気ですか?",
|
|
867
888
|
# screenshot_path="test_image.png",
|
|
868
889
|
# audio_path="C:/path/to/my/audio.mp3",
|
|
869
890
|
# translation="Hello world! How are you?"))
|
|
870
|
-
|
|
891
|
+
if Icon:
|
|
892
|
+
settings_window.add_save_hook(gsm_tray.update_icon)
|
|
871
893
|
settings_window.add_save_hook(on_config_changed)
|
|
872
894
|
settings_window.on_exit = exit_program
|
|
873
895
|
root.mainloop()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GameSentenceMiner
|
|
3
|
-
Version: 2.19.
|
|
3
|
+
Version: 2.19.14
|
|
4
4
|
Summary: A tool for mining sentences from games. Update: Dependencies, replay buffer based line searching, and bug fixes.
|
|
5
5
|
Author-email: Beangate <bpwhelan95@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/bpwhelan/GameSentenceMiner
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Operating System :: OS Independent
|
|
12
|
-
Requires-Python:
|
|
12
|
+
Requires-Python: <3.14,>=3.10
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: requests~=2.32.5
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GameSentenceMiner
|
|
3
|
-
Version: 2.19.
|
|
3
|
+
Version: 2.19.14
|
|
4
4
|
Summary: A tool for mining sentences from games. Update: Dependencies, replay buffer based line searching, and bug fixes.
|
|
5
5
|
Author-email: Beangate <bpwhelan95@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/bpwhelan/GameSentenceMiner
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
|
11
11
|
Classifier: Operating System :: OS Independent
|
|
12
|
-
Requires-Python:
|
|
12
|
+
Requires-Python: <3.14,>=3.10
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
15
|
Requires-Dist: requests~=2.32.5
|
|
@@ -7,10 +7,10 @@ build-backend = "setuptools.build_meta"
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "GameSentenceMiner"
|
|
10
|
-
version = "2.19.
|
|
10
|
+
version = "2.19.14"
|
|
11
11
|
description = "A tool for mining sentences from games. Update: Dependencies, replay buffer based line searching, and bug fixes."
|
|
12
12
|
readme = "README.md"
|
|
13
|
-
requires-python = ">=3.10"
|
|
13
|
+
requires-python = ">=3.10, <3.14"
|
|
14
14
|
license = { text = "MIT License" }
|
|
15
15
|
authors = [
|
|
16
16
|
{ name = "Beangate", email = "bpwhelan95@gmail.com"}
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ai/ai_prompting.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon128.png
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon256.png
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/icon512.png
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/assets/pickaxe.png
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/locales/en_us.json
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/locales/ja_jp.json
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/locales/zh_cn.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/gsm_ocr_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/owocr_area_selector.py
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ocr/owocr_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/__init__.py
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/__main__.py
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/ocr.py
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/owocr/owocr/run.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/tools/ss_selector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/anki_confirmation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/ui/screenshot_selector.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/audio_player.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/communication/send.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/configuration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/electron_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/games_table.py
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/get_overlay_coords.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/util/notification.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/anki_api_endpoints.py
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/database_api.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/gsm_websocket.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/search.css
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/shared.css
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/css/stats.css
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/favicon.ico
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/favicon.svg
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/database.js
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/goals.js
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/heatmap.js
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/overview.js
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/search.js
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/shared.js
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/js/stats.js
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/static/style.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/goals.html
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/index.html
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/search.html
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/stats.html
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/templates/utility.html
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner/web/texthooking_page.py
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/requires.txt
RENAMED
|
File without changes
|
{gamesentenceminer-2.19.12 → gamesentenceminer-2.19.14}/GameSentenceMiner.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|