GameSentenceMiner 2.8.47__tar.gz → 2.8.48__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.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/configuration.py +11 -10
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/obs.py +6 -3
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ss_selector.py +1 -1
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/PKG-INFO +1 -1
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/pyproject.toml +1 -1
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ai/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ai/ai_prompting.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/anki.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/communication/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/communication/send.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/communication/websocket.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/config_gui.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/Untitled_json.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/download_tools.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/oneocr_dl.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/electron_config.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ffmpeg.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/gametext.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/gsm.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/model.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/notification.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/obs_back.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/config.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/run.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/package.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/text_log.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/util.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/vad/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/vad/result.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/vad/silero_trim.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/vad/vosk_helper.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/vad/whisper_helper.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/favicon.ico +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/favicon.svg +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/site.webmanifest +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/style.css +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/templates/__init__.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/templates/utility.html +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/texthooking_page.py +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/requires.txt +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/top_level.txt +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/LICENSE +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/README.md +0 -0
- {gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/setup.cfg +0 -0
@@ -446,20 +446,21 @@ def get_log_path():
|
|
446
446
|
|
447
447
|
temp_directory = ''
|
448
448
|
|
449
|
-
def get_temporary_directory():
|
449
|
+
def get_temporary_directory(delete=True):
|
450
450
|
global temp_directory
|
451
451
|
if not temp_directory:
|
452
452
|
temp_directory = os.path.join(get_app_directory(), 'temp')
|
453
453
|
os.makedirs(temp_directory, exist_ok=True)
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
os.
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
454
|
+
if delete:
|
455
|
+
for filename in os.listdir(temp_directory):
|
456
|
+
file_path = os.path.join(temp_directory, filename)
|
457
|
+
try:
|
458
|
+
if os.path.isfile(file_path) or os.path.islink(file_path):
|
459
|
+
os.unlink(file_path)
|
460
|
+
elif os.path.isdir(file_path):
|
461
|
+
shutil.rmtree(file_path)
|
462
|
+
except Exception as e:
|
463
|
+
logger.error(f"Failed to delete {file_path}. Reason: {e}")
|
463
464
|
return temp_directory
|
464
465
|
|
465
466
|
def get_config_path():
|
@@ -28,9 +28,12 @@ class OBSConnectionManager(threading.Thread):
|
|
28
28
|
def run(self):
|
29
29
|
while self.running:
|
30
30
|
time.sleep(1)
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
try:
|
32
|
+
if not client or not client.get_version():
|
33
|
+
logger.info("OBS WebSocket not connected. Attempting to reconnect...")
|
34
|
+
connect_to_obs()
|
35
|
+
except Exception as e:
|
36
|
+
logger.debug(f"Error checking OBS connection: {e}")
|
34
37
|
|
35
38
|
def stop(self):
|
36
39
|
self.running = False
|
@@ -91,7 +91,7 @@ def display_images(image_paths, golden_frame):
|
|
91
91
|
return selected_path.get()
|
92
92
|
|
93
93
|
def run_extraction_and_display(video_path, timestamp_str, mode):
|
94
|
-
temp_dir = os.path.join(get_temporary_directory(), "screenshot_frames", sanitize_filename(os.path.splitext(os.path.basename(video_path))[0]))
|
94
|
+
temp_dir = os.path.join(get_temporary_directory(False), "screenshot_frames", sanitize_filename(os.path.splitext(os.path.basename(video_path))[0]))
|
95
95
|
os.makedirs(temp_dir, exist_ok=True)
|
96
96
|
image_paths, golden_frame = extract_frames(video_path, timestamp_str, temp_dir, mode)
|
97
97
|
if image_paths:
|
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|
7
7
|
|
8
8
|
[project]
|
9
9
|
name = "GameSentenceMiner"
|
10
|
-
version = "2.8.
|
10
|
+
version = "2.8.48"
|
11
11
|
description = "A tool for mining sentences from games. Update: Multi-Line Mining! Fixed!"
|
12
12
|
readme = "README.md"
|
13
13
|
requires-python = ">=3.10"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/communication/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/communication/send.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/communication/websocket.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/Untitled_json.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/download_tools.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/downloader/oneocr_dl.py
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
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/gsm_ocr_config.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/ocr/owocr_area_selector.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/__main__.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/owocr/owocr/config.py
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
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/vad/whisper_helper.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/__init__.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/favicon-96x96.png
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/favicon.ico
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/favicon.svg
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/site.webmanifest
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/static/style.css
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/templates/__init__.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/templates/utility.html
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner/web/texthooking_page.py
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/entry_points.txt
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/requires.txt
RENAMED
File without changes
|
{gamesentenceminer-2.8.47 → gamesentenceminer-2.8.48}/GameSentenceMiner.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|