GameSentenceMiner 2.12.0.dev6__tar.gz → 2.12.1__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.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ai/ai_prompting.py +8 -11
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/anki.py +1 -1
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/gsm.py +0 -3
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/wip/get_overlay_coords.py +6 -3
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/PKG-INFO +1 -1
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/pyproject.toml +1 -1
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ai/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon128.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon256.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon32.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon512.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon64.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/pickaxe.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/config_gui.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/gametext.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/obs.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/ss_picker.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/config.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/run.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/audio_offset_selector.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/communication/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/communication/send.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/communication/websocket.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/configuration.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/downloader/Untitled_json.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/downloader/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/downloader/download_tools.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/downloader/oneocr_dl.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/electron_config.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/ffmpeg.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/gsm_utils.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/model.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/notification.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/package.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/ss_selector.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/text_log.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/window_transparency.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/vad.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/service.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/favicon.ico +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/favicon.svg +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/site.webmanifest +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/style.css +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/templates/__init__.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/templates/index.html +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/templates/utility.html +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/texthooking_page.py +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/requires.txt +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/top_level.txt +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/LICENSE +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/README.md +0 -0
- {gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/setup.cfg +0 -0
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ai/ai_prompting.py
RENAMED
@@ -5,16 +5,6 @@ from abc import ABC, abstractmethod
|
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from enum import Enum
|
7
7
|
from typing import List, Optional
|
8
|
-
|
9
|
-
|
10
|
-
try:
|
11
|
-
import torch
|
12
|
-
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoModelForSeq2SeqLM, pipeline
|
13
|
-
|
14
|
-
TRANSFORMERS_AVAILABLE = True
|
15
|
-
except ImportError:
|
16
|
-
TRANSFORMERS_AVAILABLE = False
|
17
|
-
|
18
8
|
from google import genai
|
19
9
|
from google.genai import types
|
20
10
|
from groq import Groq
|
@@ -136,6 +126,13 @@ class AIManager(ABC):
|
|
136
126
|
class LocalAIManager(AIManager):
|
137
127
|
def __init__(self, model, logger: Optional[logging.Logger] = None):
|
138
128
|
super().__init__(LocalAIConfig(model=model), logger)
|
129
|
+
try:
|
130
|
+
import torch
|
131
|
+
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoModelForSeq2SeqLM, pipeline
|
132
|
+
|
133
|
+
self.transformers_available = True
|
134
|
+
except (ImportError, OSError):
|
135
|
+
self.transformers_available = False
|
139
136
|
self.model_name = self.ai_config.model
|
140
137
|
if MANUAL_MODEL_OVERRIDE:
|
141
138
|
self.model_name = MANUAL_MODEL_OVERRIDE
|
@@ -147,7 +144,7 @@ class LocalAIManager(AIManager):
|
|
147
144
|
self.is_encoder_decoder = False
|
148
145
|
self.is_nllb = "nllb" in self.model_name.lower()
|
149
146
|
|
150
|
-
if not
|
147
|
+
if not self.transformers_available:
|
151
148
|
self.logger.error("Local AI dependencies not found. Please run: pip install torch transformers sentencepiece")
|
152
149
|
return
|
153
150
|
|
@@ -191,7 +191,7 @@ def get_initial_card_info(last_note: AnkiCard, selected_lines):
|
|
191
191
|
if get_config().anki.sentence_field not in note['fields']:
|
192
192
|
logger.info("No HTML tags found to preserve, just fixing spacing")
|
193
193
|
note['fields'][get_config().anki.sentence_field] = game_line.text
|
194
|
-
|
194
|
+
if selected_lines:
|
195
195
|
try:
|
196
196
|
sentence_in_anki = last_note.get_field(get_config().anki.sentence_field)
|
197
197
|
logger.info(f"Attempting Preserve HTML for multi-line")
|
@@ -609,9 +609,6 @@ async def async_main(reloading=False):
|
|
609
609
|
signal.signal(signal.SIGINT, handle_exit()) # Handle Ctrl+C
|
610
610
|
if is_windows():
|
611
611
|
win32api.SetConsoleCtrlHandler(handle_exit())
|
612
|
-
|
613
|
-
if is_beangate:
|
614
|
-
settings_window.set_test_func(lambda: run_new_thread(run_test_code))
|
615
612
|
|
616
613
|
gsm_status.ready = True
|
617
614
|
gsm_status.status = "Ready"
|
@@ -2,8 +2,10 @@ import asyncio
|
|
2
2
|
import io
|
3
3
|
import base64
|
4
4
|
from PIL import Image
|
5
|
+
from GameSentenceMiner.util.configuration import get_config
|
5
6
|
|
6
|
-
|
7
|
+
if get_config().wip.overlay_websocket_send:
|
8
|
+
from GameSentenceMiner.owocr.owocr.ocr import GoogleLens, OneOCR
|
7
9
|
from GameSentenceMiner.obs import *
|
8
10
|
|
9
11
|
# OBS WebSocket settings
|
@@ -14,8 +16,9 @@ OBS_PASSWORD = 'your_obs_websocket_password' # Set your OBS WebSocket password h
|
|
14
16
|
WINDOW_NAME = "Nier:Automata"
|
15
17
|
WIDTH = 2560
|
16
18
|
HEIGHT = 1440
|
17
|
-
|
18
|
-
|
19
|
+
if get_config().wip.overlay_websocket_send:
|
20
|
+
oneocr = OneOCR()
|
21
|
+
lens = GoogleLens()
|
19
22
|
|
20
23
|
def correct_ocr_text(detected_text: str, reference_text: str) -> str:
|
21
24
|
"""
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon.png
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon128.png
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon256.png
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon32.png
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon512.png
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/icon64.png
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/assets/pickaxe.png
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/gsm_ocr_config.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/ocrconfig.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/owocr_helper.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/ocr/ss_picker.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/__main__.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/config.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/ocr.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/owocr/owocr/run.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/configuration.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/electron_config.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/gsm_utils.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/notification.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/package.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/ss_selector.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/util/text_log.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/__init__.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/favicon.ico
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/static/favicon.svg
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/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
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner/web/texthooking_page.py
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/requires.txt
RENAMED
File without changes
|
{gamesentenceminer-2.12.0.dev6 → gamesentenceminer-2.12.1}/GameSentenceMiner.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|