GameSentenceMiner 2.9.9__py3-none-any.whl → 2.9.10__py3-none-any.whl
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/anki.py +2 -2
- GameSentenceMiner/config_gui.py +9 -2
- GameSentenceMiner/util/configuration.py +1 -0
- GameSentenceMiner/util/notification.py +4 -1
- {gamesentenceminer-2.9.9.dist-info → gamesentenceminer-2.9.10.dist-info}/METADATA +1 -1
- {gamesentenceminer-2.9.9.dist-info → gamesentenceminer-2.9.10.dist-info}/RECORD +10 -10
- {gamesentenceminer-2.9.9.dist-info → gamesentenceminer-2.9.10.dist-info}/WHEEL +0 -0
- {gamesentenceminer-2.9.9.dist-info → gamesentenceminer-2.9.10.dist-info}/entry_points.txt +0 -0
- {gamesentenceminer-2.9.9.dist-info → gamesentenceminer-2.9.10.dist-info}/licenses/LICENSE +0 -0
- {gamesentenceminer-2.9.9.dist-info → gamesentenceminer-2.9.10.dist-info}/top_level.txt +0 -0
GameSentenceMiner/anki.py
CHANGED
@@ -41,13 +41,13 @@ def update_anki_card(last_note: AnkiCard, note=None, audio_path='', video_path='
|
|
41
41
|
audio_in_anki = store_media_file(audio_path)
|
42
42
|
if update_picture:
|
43
43
|
logger.info("Getting Screenshot...")
|
44
|
-
screenshot = ffmpeg.get_screenshot(video_path, ss_time)
|
44
|
+
screenshot = ffmpeg.get_screenshot(video_path, ss_time, try_selector=get_config().screenshot.use_screenshot_selector)
|
45
45
|
wait_for_stable_file(screenshot)
|
46
46
|
screenshot_in_anki = store_media_file(screenshot)
|
47
47
|
if get_config().paths.remove_screenshot:
|
48
48
|
os.remove(screenshot)
|
49
49
|
if get_config().anki.previous_image_field and game_line.prev:
|
50
|
-
prev_screenshot = ffmpeg.get_screenshot_for_line(video_path, selected_lines[0].prev if selected_lines else game_line.prev)
|
50
|
+
prev_screenshot = ffmpeg.get_screenshot_for_line(video_path, selected_lines[0].prev if selected_lines else game_line.prev, try_selector=get_config().screenshot.use_screenshot_selector)
|
51
51
|
wait_for_stable_file(prev_screenshot)
|
52
52
|
prev_screenshot_in_anki = store_media_file(prev_screenshot)
|
53
53
|
if get_config().paths.remove_screenshot:
|
GameSentenceMiner/config_gui.py
CHANGED
@@ -184,10 +184,11 @@ class ConfigApp:
|
|
184
184
|
extension=self.screenshot_extension.get(),
|
185
185
|
custom_ffmpeg_settings=self.screenshot_custom_ffmpeg_settings.get(),
|
186
186
|
screenshot_hotkey_updates_anki=self.screenshot_hotkey_update_anki.get(),
|
187
|
-
seconds_after_line = self.seconds_after_line.get(),
|
187
|
+
seconds_after_line = float(self.seconds_after_line.get()) if self.seconds_after_line.get() else 0.0,
|
188
188
|
# use_beginning_of_line_as_screenshot=self.use_beginning_of_line_as_screenshot.get(),
|
189
189
|
# use_new_screenshot_logic=self.use_new_screenshot_logic.get(),
|
190
|
-
screenshot_timing_setting=self.screenshot_timing.get()
|
190
|
+
screenshot_timing_setting=self.screenshot_timing.get(),
|
191
|
+
use_screenshot_selector=self.use_screenshot_selector.get(),
|
191
192
|
),
|
192
193
|
audio=Audio(
|
193
194
|
enabled=self.audio_enabled.get(),
|
@@ -847,6 +848,12 @@ class ConfigApp:
|
|
847
848
|
self.add_label_and_increment_row(screenshot_frame, "Time in seconds to offset the screenshot based on the Timing setting above (should almost always be positive, can be negative if you use \"middle\")", row=self.current_row,
|
848
849
|
column=2)
|
849
850
|
|
851
|
+
ttk.Label(screenshot_frame, text="Use Screenshot Selector for every card:").grid(row=self.current_row, column=0, sticky='W')
|
852
|
+
self.use_screenshot_selector = tk.BooleanVar(value=self.settings.screenshot.use_screenshot_selector)
|
853
|
+
ttk.Checkbutton(screenshot_frame, variable=self.use_screenshot_selector).grid(row=self.current_row, column=1, sticky='W')
|
854
|
+
self.add_label_and_increment_row(screenshot_frame, "Enable to use the screenshot selector to choose the screenshot point on every card.", row=self.current_row,
|
855
|
+
column=2)
|
856
|
+
|
850
857
|
# ttk.Label(screenshot_frame, text="Use Beginning of Line as Screenshot:").grid(row=self.current_row, column=0, sticky='W')
|
851
858
|
# self.use_beginning_of_line_as_screenshot = tk.BooleanVar(value=self.settings.screenshot.use_beginning_of_line_as_screenshot)
|
852
859
|
# ttk.Checkbutton(screenshot_frame, variable=self.use_beginning_of_line_as_screenshot).grid(row=self.current_row, column=1, sticky='W')
|
@@ -145,6 +145,7 @@ class Screenshot:
|
|
145
145
|
use_beginning_of_line_as_screenshot: bool = True
|
146
146
|
use_new_screenshot_logic: bool = False
|
147
147
|
screenshot_timing_setting: str = '' # 'middle', 'end'
|
148
|
+
use_screenshot_selector: bool = False
|
148
149
|
|
149
150
|
def __post_init__(self):
|
150
151
|
if not self.screenshot_timing_setting and self.use_beginning_of_line_as_screenshot:
|
@@ -34,7 +34,10 @@ def open_browser_window(note_id, query=None):
|
|
34
34
|
try:
|
35
35
|
response = requests.post(url, json=data, headers=headers)
|
36
36
|
if response.status_code == 200:
|
37
|
-
|
37
|
+
if query:
|
38
|
+
logger.info(f"Opened Anki browser with query: {query}")
|
39
|
+
else:
|
40
|
+
logger.info(f"Opened Anki note in browser with ID {note_id}")
|
38
41
|
else:
|
39
42
|
logger.error(f"Failed to open Anki note with ID {note_id}")
|
40
43
|
except Exception as e:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
GameSentenceMiner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
GameSentenceMiner/anki.py,sha256=
|
3
|
-
GameSentenceMiner/config_gui.py,sha256=
|
2
|
+
GameSentenceMiner/anki.py,sha256=pUvu66s6TFM7432bEl0mL4JoPUJiyPUxc1NAEoQngYM,15201
|
3
|
+
GameSentenceMiner/config_gui.py,sha256=OZJqsU2v03C_MSpw-S6fYQEOXJ_AUvOUCFeT-3aex8Y,82800
|
4
4
|
GameSentenceMiner/gametext.py,sha256=mM-gw1d7c2EEvMUznaAevTQFLswNZavCuxMXhA9pV4g,6251
|
5
5
|
GameSentenceMiner/gsm.py,sha256=fSMVLyglpqNy8h5NsznWYap-Bu41tVUPwApWUpvSadY,29105
|
6
6
|
GameSentenceMiner/obs.py,sha256=O9NYOGu7kwp4flq8LLXp8YJQg0JTZ8qBqiQNQ6u4ku4,14724
|
@@ -28,12 +28,12 @@ GameSentenceMiner/owocr/owocr/ocr.py,sha256=y8RHHaJw8M4BG4CbbtIw0DrV8KP9RjbJNJxj
|
|
28
28
|
GameSentenceMiner/owocr/owocr/run.py,sha256=jFN7gYYriHgfqORJiBTz8mPkQsDJ6ZugA0_ATWUxk-U,54750
|
29
29
|
GameSentenceMiner/owocr/owocr/screen_coordinate_picker.py,sha256=Na6XStbQBtpQUSdbN3QhEswtKuU1JjReFk_K8t5ezQE,3395
|
30
30
|
GameSentenceMiner/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
31
|
-
GameSentenceMiner/util/configuration.py,sha256=
|
31
|
+
GameSentenceMiner/util/configuration.py,sha256=gahWrXj4P0DqlbDEuhR2XFfhpqJvh4ndLDA18bnOwBA,25943
|
32
32
|
GameSentenceMiner/util/electron_config.py,sha256=ZZf54QifdNHbII-JDsMZmdT8nTyrq-7gVvalyLRecfw,9792
|
33
33
|
GameSentenceMiner/util/ffmpeg.py,sha256=qaCXkfK2fd-1NRqbm7burrdBYgnGx07kBuyenee8Mtk,18697
|
34
34
|
GameSentenceMiner/util/gsm_utils.py,sha256=RoOTvWCVpmfYA7fLDdIPcgH1c6TZK4jDZq98BectPhg,8272
|
35
35
|
GameSentenceMiner/util/model.py,sha256=iDtLTfR6D-ZC0gCiDqYno6-gA6Z07PZTM4B5MAA6xZI,5704
|
36
|
-
GameSentenceMiner/util/notification.py,sha256=
|
36
|
+
GameSentenceMiner/util/notification.py,sha256=ViqasUgn9TGqYyaEucb8aatb_6L8kA58EPsMAUYiWUU,3589
|
37
37
|
GameSentenceMiner/util/package.py,sha256=u1ym5z869lw5EHvIviC9h9uH97bzUXSXXA8KIn8rUvk,1157
|
38
38
|
GameSentenceMiner/util/ss_selector.py,sha256=oCzmDbpEGvVselF-oDPIrBcQktGIZT0Zt16uDLDAHMQ,4493
|
39
39
|
GameSentenceMiner/util/text_log.py,sha256=JQS0JpcdaTvcdKgfKs3lWskG4dk6NPjqjMJpm2--37I,5310
|
@@ -59,9 +59,9 @@ GameSentenceMiner/web/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
59
59
|
GameSentenceMiner/web/templates/index.html,sha256=HZKiIjiGJV8PGQ9T2aLDUNSfJn71qOwbYCjbRuSIjpY,213583
|
60
60
|
GameSentenceMiner/web/templates/text_replacements.html,sha256=tV5c8mCaWSt_vKuUpbdbLAzXZ3ATZeDvQ9PnnAfqY0M,8598
|
61
61
|
GameSentenceMiner/web/templates/utility.html,sha256=3flZinKNqUJ7pvrZk6xu__v67z44rXnaK7UTZ303R-8,16946
|
62
|
-
gamesentenceminer-2.9.
|
63
|
-
gamesentenceminer-2.9.
|
64
|
-
gamesentenceminer-2.9.
|
65
|
-
gamesentenceminer-2.9.
|
66
|
-
gamesentenceminer-2.9.
|
67
|
-
gamesentenceminer-2.9.
|
62
|
+
gamesentenceminer-2.9.10.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
63
|
+
gamesentenceminer-2.9.10.dist-info/METADATA,sha256=WvTTFa-wwzkn21R-ede66gtXCHFCNZCcCNlWi99s6Uw,7251
|
64
|
+
gamesentenceminer-2.9.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
65
|
+
gamesentenceminer-2.9.10.dist-info/entry_points.txt,sha256=2APEP25DbfjSxGeHtwBstMH8mulVhLkqF_b9bqzU6vQ,65
|
66
|
+
gamesentenceminer-2.9.10.dist-info/top_level.txt,sha256=V1hUY6xVSyUEohb0uDoN4UIE6rUZ_JYx8yMyPGX4PgQ,18
|
67
|
+
gamesentenceminer-2.9.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|