GameSentenceMiner 2.8.11__tar.gz → 2.8.13__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 (64) hide show
  1. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ai/ai_prompting.py +15 -7
  2. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/configuration.py +4 -1
  3. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/texthooking_page.py +1 -0
  4. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner.egg-info/PKG-INFO +1 -1
  5. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/PKG-INFO +1 -1
  6. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/pyproject.toml +2 -3
  7. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/__init__.py +0 -0
  8. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ai/__init__.py +0 -0
  9. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/anki.py +0 -0
  10. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/communication/__init__.py +0 -0
  11. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/communication/send.py +0 -0
  12. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/communication/websocket.py +0 -0
  13. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/config_gui.py +0 -0
  14. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/downloader/Untitled_json.py +0 -0
  15. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/downloader/__init__.py +0 -0
  16. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/downloader/download_tools.py +0 -0
  17. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/downloader/oneocr_dl.py +0 -0
  18. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/electron_config.py +0 -0
  19. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ffmpeg.py +0 -0
  20. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/gametext.py +0 -0
  21. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/gsm.py +0 -0
  22. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/model.py +0 -0
  23. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/notification.py +0 -0
  24. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/obs.py +0 -0
  25. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ocr/__init__.py +0 -0
  26. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ocr/gsm_ocr_config.py +0 -0
  27. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ocr/ocrconfig.py +0 -0
  28. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ocr/owocr_area_selector.py +0 -0
  29. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/ocr/owocr_helper.py +0 -0
  30. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/__init__.py +0 -0
  31. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/__main__.py +0 -0
  32. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/config.py +0 -0
  33. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/lens_betterproto.py +0 -0
  34. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/ocr.py +0 -0
  35. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/run.py +0 -0
  36. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py +0 -0
  37. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/package.py +0 -0
  38. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/text_log.py +0 -0
  39. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/util.py +0 -0
  40. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/vad/__init__.py +0 -0
  41. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/vad/silero_trim.py +0 -0
  42. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/vad/vosk_helper.py +0 -0
  43. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/vad/whisper_helper.py +0 -0
  44. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/__init__.py +0 -0
  45. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/__init__.py +0 -0
  46. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/apple-touch-icon.png +0 -0
  47. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/favicon-96x96.png +0 -0
  48. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/favicon.ico +0 -0
  49. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/favicon.svg +0 -0
  50. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/site.webmanifest +0 -0
  51. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/style.css +0 -0
  52. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/web-app-manifest-192x192.png +0 -0
  53. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/static/web-app-manifest-512x512.png +0 -0
  54. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/templates/__init__.py +0 -0
  55. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/templates/text_replacements.html +0 -0
  56. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner/web/templates/utility.html +0 -0
  57. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner.egg-info/SOURCES.txt +0 -0
  58. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner.egg-info/dependency_links.txt +0 -0
  59. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner.egg-info/entry_points.txt +0 -0
  60. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner.egg-info/requires.txt +0 -0
  61. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/GameSentenceMiner.egg-info/top_level.txt +0 -0
  62. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/LICENSE +0 -0
  63. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/README.md +0 -0
  64. {gamesentenceminer-2.8.11 → gamesentenceminer-2.8.13}/setup.cfg +0 -0
@@ -175,13 +175,21 @@ current_ai_config: Ai | None = None
175
175
 
176
176
  def get_ai_prompt_result(lines: List[GameLine], sentence: str, current_line: GameLine, game_title: str = ""):
177
177
  global ai_manager, current_ai_config
178
- if not ai_manager or get_config().ai != current_ai_config:
179
- if get_config().ai.provider == AIType.GEMINI.value:
180
- ai_manager = GeminiAI(model=get_config().ai.gemini_model, api_key=get_config().ai.gemini_api_key, logger=logger)
181
- elif get_config().ai.provider == AIType.GROQ.value:
182
- ai_manager = GroqAI(model=get_config().ai.groq_model, api_key=get_config().ai.groq_api_key, logger=logger)
183
- current_ai_config = get_config().ai
184
- return ai_manager.process(lines, sentence, current_line, game_title)
178
+ try:
179
+ if not ai_manager or get_config().ai != current_ai_config:
180
+ if get_config().ai.provider == AIType.GEMINI.value:
181
+ ai_manager = GeminiAI(model=get_config().ai.gemini_model, api_key=get_config().ai.gemini_api_key, logger=logger)
182
+ elif get_config().ai.provider == AIType.GROQ.value:
183
+ ai_manager = GroqAI(model=get_config().ai.groq_model, api_key=get_config().ai.groq_api_key, logger=logger)
184
+ current_ai_config = get_config().ai
185
+ if not ai_manager:
186
+ logger.error("AI is enabled but the AI Manager did not initialize. Check your AI Config IN GSM.")
187
+ return ""
188
+ return ai_manager.process(lines, sentence, current_line, game_title)
189
+ except Exception as e:
190
+ logger.info("Error caught while trying to get AI prompt result. Check logs for more details.")
191
+ logger.debug(e)
192
+ return ""
185
193
 
186
194
  if __name__ == '__main__':
187
195
  lines = [
@@ -200,7 +200,10 @@ class Ai:
200
200
  def __post_init__(self):
201
201
  if not self.gemini_api_key:
202
202
  self.gemini_api_key = self.api_key
203
-
203
+ if self.provider == 'gemini':
204
+ self.provider = AI_GEMINI
205
+ if self.provider == 'groq':
206
+ self.provider = AI_GROQ
204
207
 
205
208
  @dataclass_json
206
209
  @dataclass
@@ -233,6 +233,7 @@ async def add_event_to_texthooker(line: GameLine):
233
233
  new_event = event_manager.add_gameline(line)
234
234
  await broadcast_message({
235
235
  'event': 'text_received',
236
+ 'sentence': line.text,
236
237
  'data': new_event.to_serializable()
237
238
  })
238
239
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.8.11
3
+ Version: 2.8.13
4
4
  Summary: A tool for mining sentences from games. Update: Multi-Line Mining! Fixed!
5
5
  Author-email: Beangate <bpwhelan95@gmail.com>
6
6
  License: MIT License
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.8.11
3
+ Version: 2.8.13
4
4
  Summary: A tool for mining sentences from games. Update: Multi-Line Mining! Fixed!
5
5
  Author-email: Beangate <bpwhelan95@gmail.com>
6
6
  License: MIT License
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "GameSentenceMiner"
10
- version = "2.8.11"
10
+ version = "2.8.13"
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"
@@ -59,5 +59,4 @@ gamesentenceminer = "GameSentenceMiner.gsm:main"
59
59
  packages = ["GameSentenceMiner", "GameSentenceMiner.vad", 'GameSentenceMiner.downloader', "GameSentenceMiner.communication", "GameSentenceMiner.ai", "GameSentenceMiner.ocr", "GameSentenceMiner.owocr.owocr", "GameSentenceMiner.web", "GameSentenceMiner.web.static", "GameSentenceMiner.web.templates"]
60
60
 
61
61
  [tool.setuptools.package-data]
62
- "GameSentenceMiner.web.static" = ["*"]
63
- "GameSentenceMiner.web.templates" = ["*"]
62
+ "GameSentenceMiner.web" = ["static/*", "templates/*"]