GameSentenceMiner 2.16.3__tar.gz → 2.16.5__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.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/config_gui.py +4 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/db.py +4 -2
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/ffmpeg.py +3 -3
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/database_api.py +18 -2
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/PKG-INFO +1 -1
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/pyproject.toml +1 -1
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ai/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ai/ai_prompting.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/anki.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/icon.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/icon128.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/icon256.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/icon32.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/icon512.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/icon64.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/assets/pickaxe.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/gametext.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/gsm.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/locales/en_us.json +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/locales/ja_jp.json +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/locales/zh_cn.json +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/obs.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/ss_picker.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/config.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/run.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/audio_offset_selector.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/furigana_filter_preview.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/ss_selector.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/window_transparency.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/communication/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/communication/send.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/communication/websocket.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/configuration.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/downloader/Untitled_json.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/downloader/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/downloader/download_tools.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/downloader/oneocr_dl.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/electron_config.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/get_overlay_coords.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/gsm_utils.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/model.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/notification.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/text_log.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/win10toast/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/win10toast/__main__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/vad.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/events.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/service.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/__init__.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/kanji-grid.css +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/search.css +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/shared.css +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/stats.css +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/favicon.ico +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/favicon.svg +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/anki_stats.js +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/database.js +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/kanji-grid.js +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/search.js +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/shared.js +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/stats.js +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/site.webmanifest +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/style.css +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/stats.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/anki_stats.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/components/navigation.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/components/theme-styles.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/database.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/index.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/search.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/stats.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/utility.html +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/texthooking_page.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/websockets.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/wip/__init___.py +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/requires.txt +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/top_level.txt +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/LICENSE +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/README.md +0 -0
- {gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/setup.cfg +0 -0
@@ -440,6 +440,7 @@ class ConfigApp:
|
|
440
440
|
default_category_config = getattr(self.default_settings, category)
|
441
441
|
|
442
442
|
setattr(self.settings, category, default_category_config)
|
443
|
+
self.create_vars() # Recreate variables to reflect default values
|
443
444
|
recreate_tab()
|
444
445
|
self.save_settings(profile_change=False)
|
445
446
|
self.reload_settings()
|
@@ -1146,6 +1147,9 @@ class ConfigApp:
|
|
1146
1147
|
HoverInfoLabelWidget(vad_frame, text=use_cpu_i18n.get('label', 'Force CPU'), tooltip=use_cpu_i18n.get('tooltip', 'Even if CUDA is installed, use CPU for Whisper'), row=self.current_row, column=0)
|
1147
1148
|
ttk.Checkbutton(vad_frame, variable=self.use_cpu_for_inference_value, bootstyle="round-toggle").grid(row=self.current_row, column=1, sticky='W', pady=2)
|
1148
1149
|
self.current_row += 1
|
1150
|
+
|
1151
|
+
# Add Reset Button
|
1152
|
+
self.add_reset_button(vad_frame, "vad", self.current_row, column=0, recreate_tab=self.create_vad_tab)
|
1149
1153
|
|
1150
1154
|
@new_tab
|
1151
1155
|
def create_paths_tab(self):
|
@@ -430,9 +430,11 @@ def backup_db(db_path: str):
|
|
430
430
|
shutil.copyfileobj(f_in, gz_out)
|
431
431
|
logger.info(f"Database backup created: {backup_file}")
|
432
432
|
|
433
|
-
|
433
|
+
db_path = get_db_directory()
|
434
|
+
if os.path.exists(db_path):
|
435
|
+
backup_db(db_path)
|
434
436
|
|
435
|
-
gsm_db = SQLiteDB(
|
437
|
+
gsm_db = SQLiteDB(db_path)
|
436
438
|
|
437
439
|
for cls in [AIModelsTable, GameLinesTable]:
|
438
440
|
cls.set_db(gsm_db)
|
@@ -453,7 +453,7 @@ def trim_audio_based_on_last_line(untrimmed_audio, video_path, game_line, next_l
|
|
453
453
|
ffmpeg_command = ffmpeg_base_command_list + [
|
454
454
|
"-i", untrimmed_audio,
|
455
455
|
"-ss", str(start_trim_time)]
|
456
|
-
if next_line and next_line > game_line.time:
|
456
|
+
if next_line and next_line > game_line.time and total_seconds:
|
457
457
|
end_trim_seconds = total_seconds + (next_line - game_line.time).total_seconds() + get_config().audio.pre_vad_end_offset
|
458
458
|
end_trim_time = f"{end_trim_seconds:.3f}"
|
459
459
|
ffmpeg_command.extend(['-to', end_trim_time])
|
@@ -495,9 +495,9 @@ def get_video_timings(video_path, game_line, anki_card_creation_time=None):
|
|
495
495
|
total_seconds = file_length - time_delta.total_seconds()
|
496
496
|
total_seconds_after_offset = total_seconds + get_config().audio.beginning_offset
|
497
497
|
if total_seconds < 0 or total_seconds >= file_length:
|
498
|
-
logger.error("Line mined is outside of the replay buffer! Defaulting to the
|
498
|
+
logger.error("Line mined is outside of the replay buffer! Defaulting to the last 30 seconds of the replay buffer.")
|
499
499
|
logger.info("Recommend either increasing replay buffer length in OBS Settings or mining faster.")
|
500
|
-
return 0, 0, 0, file_length
|
500
|
+
return max(file_length - 30, 0), 0, max(file_length - 30, 0), file_length
|
501
501
|
|
502
502
|
return total_seconds_after_offset, total_seconds, total_seconds_after_offset, file_length
|
503
503
|
|
@@ -1,11 +1,14 @@
|
|
1
|
+
import copy
|
1
2
|
import datetime
|
2
3
|
import re
|
3
4
|
import csv
|
4
5
|
import io
|
5
6
|
from collections import defaultdict
|
7
|
+
import time
|
6
8
|
|
7
9
|
import flask
|
8
10
|
from flask import request, jsonify
|
11
|
+
import regex
|
9
12
|
|
10
13
|
from GameSentenceMiner.util.db import GameLinesTable
|
11
14
|
from GameSentenceMiner.util.configuration import logger, get_config, save_current_config
|
@@ -685,6 +688,7 @@ def register_database_api_routes(app):
|
|
685
688
|
Provides aggregated, cumulative stats for charting.
|
686
689
|
Accepts optional 'year' parameter to filter heatmap data.
|
687
690
|
"""
|
691
|
+
punctionation_regex = regex.compile(r'[\p{P}\p{S}]')
|
688
692
|
# Get optional year filter parameter
|
689
693
|
filter_year = request.args.get('year', None)
|
690
694
|
|
@@ -697,13 +701,25 @@ def register_database_api_routes(app):
|
|
697
701
|
# 2. Process data into daily totals for each game
|
698
702
|
# Structure: daily_data[date_str][game_name] = {'lines': N, 'chars': N}
|
699
703
|
daily_data = defaultdict(lambda: defaultdict(lambda: {'lines': 0, 'chars': 0}))
|
704
|
+
|
705
|
+
|
706
|
+
# start_time = time.perf_counter()
|
707
|
+
# for line in all_lines:
|
708
|
+
# day_str = datetime.date.fromtimestamp(float(line.timestamp)).strftime('%Y-%m-%d')
|
709
|
+
# game = line.game_name or "Unknown Game"
|
710
|
+
# daily_data[day_str][game]['lines'] += 1
|
711
|
+
# daily_data[day_str][game]['chars'] += len(line.line_text) if line.line_text else 0
|
712
|
+
# end_time = time.perf_counter()
|
713
|
+
# logger.info(f"Without Punctuation removal and daily aggregation took {end_time - start_time:.4f} seconds for {len(all_lines)} lines")
|
700
714
|
|
701
715
|
for line in all_lines:
|
702
716
|
day_str = datetime.date.fromtimestamp(float(line.timestamp)).strftime('%Y-%m-%d')
|
703
717
|
game = line.game_name or "Unknown Game"
|
704
|
-
|
718
|
+
# Remove punctuation and symbols from line text before counting characters
|
719
|
+
clean_text = punctionation_regex.sub('', line.line_text) if line.line_text else ''
|
720
|
+
line.line_text = clean_text # Update line text to cleaned version for future use
|
705
721
|
daily_data[day_str][game]['lines'] += 1
|
706
|
-
daily_data[day_str][game]['chars'] += len(
|
722
|
+
daily_data[day_str][game]['chars'] += len(clean_text)
|
707
723
|
|
708
724
|
# 3. Create cumulative datasets for Chart.js
|
709
725
|
sorted_days = sorted(daily_data.keys())
|
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.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/gsm_ocr_config.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/ocr/owocr_area_selector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/owocr/owocr/__main__.py
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/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
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/ss_selector.py
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/tools/window_transparency.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/communication/send.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/configuration.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/downloader/__init__.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/downloader/oneocr_dl.py
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/electron_config.py
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/get_overlay_coords.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/notification.py
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/win10toast/__init__.py
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/util/win10toast/__main__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/search.css
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/shared.css
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/css/stats.css
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/favicon-96x96.png
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/favicon.ico
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/favicon.svg
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/anki_stats.js
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/database.js
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/kanji-grid.js
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/search.js
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/shared.js
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/js/stats.js
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/static/site.webmanifest
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/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.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/database.html
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/index.html
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/search.html
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/stats.html
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/templates/utility.html
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner/web/texthooking_page.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/entry_points.txt
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/requires.txt
RENAMED
File without changes
|
{gamesentenceminer-2.16.3 → gamesentenceminer-2.16.5}/GameSentenceMiner.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|