From 0b785da4489a35b3de337e9d592f6a32925b44aa Mon Sep 17 00:00:00 2001 From: bourkemcrobbo Date: Mon, 10 Jun 2024 13:25:48 +1000 Subject: [PATCH 01/17] Added support for specifying minimum skip length --- config.json.template | 1 + src/iSponsorBlockTV/api_helpers.py | 9 ++++++--- src/iSponsorBlockTV/config_setup.py | 20 ++++++++++++++++++++ src/iSponsorBlockTV/helpers.py | 1 + 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/config.json.template b/config.json.template index d3268ff..d4a163b 100644 --- a/config.json.template +++ b/config.json.template @@ -12,6 +12,7 @@ "skip_count_tracking": true, "mute_ads": true, "skip_ads": true, + "minimum_skip_length": 1, "auto_play": true, "join_name": "iSponsorBlockTV", "apikey": "", diff --git a/src/iSponsorBlockTV/api_helpers.py b/src/iSponsorBlockTV/api_helpers.py index 7c4e86e..2e0c53b 100644 --- a/src/iSponsorBlockTV/api_helpers.py +++ b/src/iSponsorBlockTV/api_helpers.py @@ -27,6 +27,7 @@ class ApiHelper: self.skip_count_tracking = config.skip_count_tracking self.web_session = web_session self.num_devices = len(config.devices) + self.minimum_skip_length = config.minimum_skip_length # Not used anymore, maybe it can stay here a little longer @AsyncLRU(maxsize=10) @@ -147,10 +148,10 @@ class ApiHelper: if str(i["videoID"]) == str(vid_id): response_json = i break - return self.process_segments(response_json) + return self.process_segments(self, response_json) @staticmethod - def process_segments(response): + def process_segments(self, response): segments = [] ignore_ttl = True try: @@ -192,7 +193,9 @@ class ApiHelper: segment_dict["start"] = segment_before_start segment_dict["UUID"].extend(segment_before_UUID) segments.pop() - segments.append(segment_dict) + # Only add segments greater than minimum skip length + if segment_dict["end"]-segment_dict["start"] > self.minimum_skip_length: + segments.append(segment_dict) except BaseException: pass return segments, ignore_ttl diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index 69302e6..87527b6 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -182,6 +182,26 @@ def main(config, debug: bool) -> None: config.channel_whitelist = channel_whitelist + # Ask for minimum skip length. Confirm input is an integer + while True: + try: + minimum_skip_length = int(input('Enter minimum length of segment to skip in seconds: ')) + break + except ValueError: + print('You entered a non integer value, try again.') + continue + config.minimum_skip_length = minimum_skip_length + + # Ask for minimum skip length. Confirm input is an integer + while True: + try: + minimum_skip_length = int(input('Enter minimum length of segment to skip in seconds: ')) + break + except ValueError: + print('You entered a non integer value, try again.') + continue + config.minimum_skip_length = minimum_skip_length + choice = get_yn_input(REPORT_SKIPPED_SEGMENTS_PROMPT) config.skip_count_tracking = choice != "n" diff --git a/src/iSponsorBlockTV/helpers.py b/src/iSponsorBlockTV/helpers.py index 640b258..ac91ab9 100644 --- a/src/iSponsorBlockTV/helpers.py +++ b/src/iSponsorBlockTV/helpers.py @@ -41,6 +41,7 @@ class Config: self.skip_count_tracking = True self.mute_ads = False self.skip_ads = False + self.minimum_skip_length = 1 self.auto_play = True self.join_name = "iSponsorBlockTV" self.__load() From ee786a53b9d8652582093029b08409ec17240293 Mon Sep 17 00:00:00 2001 From: bourkemcrobbo Date: Tue, 18 Jun 2024 15:03:30 +1000 Subject: [PATCH 02/17] Fixed bad static method argument --- src/iSponsorBlockTV/api_helpers.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/iSponsorBlockTV/api_helpers.py b/src/iSponsorBlockTV/api_helpers.py index 2e0c53b..4bb53e0 100644 --- a/src/iSponsorBlockTV/api_helpers.py +++ b/src/iSponsorBlockTV/api_helpers.py @@ -148,10 +148,10 @@ class ApiHelper: if str(i["videoID"]) == str(vid_id): response_json = i break - return self.process_segments(self, response_json) + return self.process_segments(response_json, minimum_skip_length) @staticmethod - def process_segments(self, response): + def process_segments(response, minimum_skip_length): segments = [] ignore_ttl = True try: @@ -194,7 +194,7 @@ class ApiHelper: segment_dict["UUID"].extend(segment_before_UUID) segments.pop() # Only add segments greater than minimum skip length - if segment_dict["end"]-segment_dict["start"] > self.minimum_skip_length: + if segment_dict["end"]-segment_dict["start"] > minimum_skip_length: segments.append(segment_dict) except BaseException: pass From 886997beab3efcdfee955daee89e0c091651d668 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 03:30:30 +0000 Subject: [PATCH 03/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/iSponsorBlockTV/api_helpers.py | 5 ++++- src/iSponsorBlockTV/config_setup.py | 10 +++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/iSponsorBlockTV/api_helpers.py b/src/iSponsorBlockTV/api_helpers.py index 4bb53e0..e734b60 100644 --- a/src/iSponsorBlockTV/api_helpers.py +++ b/src/iSponsorBlockTV/api_helpers.py @@ -194,7 +194,10 @@ class ApiHelper: segment_dict["UUID"].extend(segment_before_UUID) segments.pop() # Only add segments greater than minimum skip length - if segment_dict["end"]-segment_dict["start"] > minimum_skip_length: + if ( + segment_dict["end"] - segment_dict["start"] + > minimum_skip_length + ): segments.append(segment_dict) except BaseException: pass diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index 87527b6..f0f2a44 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -185,17 +185,21 @@ def main(config, debug: bool) -> None: # Ask for minimum skip length. Confirm input is an integer while True: try: - minimum_skip_length = int(input('Enter minimum length of segment to skip in seconds: ')) + minimum_skip_length = int( + input("Enter minimum length of segment to skip in seconds: ") + ) break except ValueError: - print('You entered a non integer value, try again.') + print("You entered a non integer value, try again.") continue config.minimum_skip_length = minimum_skip_length # Ask for minimum skip length. Confirm input is an integer while True: try: - minimum_skip_length = int(input('Enter minimum length of segment to skip in seconds: ')) + minimum_skip_length = int( + input("Enter minimum length of segment to skip in seconds: ") + ) break except ValueError: print('You entered a non integer value, try again.') From 7b3e618628444fc9a9a54edd53595adb2419b552 Mon Sep 17 00:00:00 2001 From: bourkemcrobbo Date: Tue, 18 Jun 2024 15:08:40 +1000 Subject: [PATCH 04/17] Fixed bad static method argument --- src/iSponsorBlockTV/api_helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/iSponsorBlockTV/api_helpers.py b/src/iSponsorBlockTV/api_helpers.py index e734b60..829f794 100644 --- a/src/iSponsorBlockTV/api_helpers.py +++ b/src/iSponsorBlockTV/api_helpers.py @@ -148,7 +148,7 @@ class ApiHelper: if str(i["videoID"]) == str(vid_id): response_json = i break - return self.process_segments(response_json, minimum_skip_length) + return self.process_segments(response_json, self.minimum_skip_length) @staticmethod def process_segments(response, minimum_skip_length): From c360e2582e9bbb3fac82f7c12b278268f4fdf29f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 05:07:23 +0000 Subject: [PATCH 05/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/iSponsorBlockTV/api_helpers.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/iSponsorBlockTV/api_helpers.py b/src/iSponsorBlockTV/api_helpers.py index 829f794..6918a0d 100644 --- a/src/iSponsorBlockTV/api_helpers.py +++ b/src/iSponsorBlockTV/api_helpers.py @@ -194,10 +194,7 @@ class ApiHelper: segment_dict["UUID"].extend(segment_before_UUID) segments.pop() # Only add segments greater than minimum skip length - if ( - segment_dict["end"] - segment_dict["start"] - > minimum_skip_length - ): + if segment_dict["end"] - segment_dict["start"] > minimum_skip_length: segments.append(segment_dict) except BaseException: pass From e0c4322524ebaec102115c367bd3b00fca5a72c1 Mon Sep 17 00:00:00 2001 From: bourkemcrobbo Date: Thu, 27 Jun 2024 14:14:05 +1000 Subject: [PATCH 06/17] Updated setup to match new format. Set default value of skip length to 0 so user has to explicitly enable functionality --- config.json.template | 2 +- src/iSponsorBlockTV/config_setup.py | 25 ++++++++++++++++--------- src/iSponsorBlockTV/helpers.py | 2 +- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/config.json.template b/config.json.template index d4a163b..d28c35b 100644 --- a/config.json.template +++ b/config.json.template @@ -12,7 +12,7 @@ "skip_count_tracking": true, "mute_ads": true, "skip_ads": true, - "minimum_skip_length": 1, + "minimum_skip_length": 0, "auto_play": true, "join_name": "iSponsorBlockTV", "apikey": "", diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index f0f2a44..a630824 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -29,6 +29,8 @@ SEARCH_CHANNEL_PROMPT = 'Enter a channel name or "/exit" to exit: ' SELECT_CHANNEL_PROMPT = "Select one option of the above [0-6]: " ENTER_CHANNEL_ID_PROMPT = "Enter a channel ID: " ENTER_CUSTOM_CHANNEL_NAME_PROMPT = "Enter the channel name: " +MINIMUM_SKIP_PROMPT = "Do you want to specify a minimum length of segment to skip? (y/N)" +MINIMUM_SKIP_SPECIFICATION_PROMPT = "Enter minimum length of segment to skip in seconds (enter 0 to disable):" REPORT_SKIPPED_SEGMENTS_PROMPT = ( "Do you want to report skipped segments to sponsorblock. Only the segment" " UUID will be sent? (Y/n) " @@ -183,15 +185,20 @@ def main(config, debug: bool) -> None: config.channel_whitelist = channel_whitelist # Ask for minimum skip length. Confirm input is an integer - while True: - try: - minimum_skip_length = int( - input("Enter minimum length of segment to skip in seconds: ") - ) - break - except ValueError: - print("You entered a non integer value, try again.") - continue + minimum_skip_length = config.minimum_skip_length + + choice = get_yn_input(MINIMUM_SKIP_PROMPT) + if choice == "y": + while True: + try: + minimum_skip_length = int( + input(MINIMUM_SKIP_SPECIFICATION_PROMPT) + ) + break + except ValueError: + print("You entered a non integer value, try again.") + continue + config.minimum_skip_length = minimum_skip_length # Ask for minimum skip length. Confirm input is an integer diff --git a/src/iSponsorBlockTV/helpers.py b/src/iSponsorBlockTV/helpers.py index ac91ab9..8d283e3 100644 --- a/src/iSponsorBlockTV/helpers.py +++ b/src/iSponsorBlockTV/helpers.py @@ -41,7 +41,7 @@ class Config: self.skip_count_tracking = True self.mute_ads = False self.skip_ads = False - self.minimum_skip_length = 1 + self.minimum_skip_length = 0 self.auto_play = True self.join_name = "iSponsorBlockTV" self.__load() From 33b0b6d224a855fb786b156aa3ccb7b5d4d4983f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 04:14:49 +0000 Subject: [PATCH 07/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/iSponsorBlockTV/config_setup.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index a630824..7201e3d 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -29,8 +29,12 @@ SEARCH_CHANNEL_PROMPT = 'Enter a channel name or "/exit" to exit: ' SELECT_CHANNEL_PROMPT = "Select one option of the above [0-6]: " ENTER_CHANNEL_ID_PROMPT = "Enter a channel ID: " ENTER_CUSTOM_CHANNEL_NAME_PROMPT = "Enter the channel name: " -MINIMUM_SKIP_PROMPT = "Do you want to specify a minimum length of segment to skip? (y/N)" -MINIMUM_SKIP_SPECIFICATION_PROMPT = "Enter minimum length of segment to skip in seconds (enter 0 to disable):" +MINIMUM_SKIP_PROMPT = ( + "Do you want to specify a minimum length of segment to skip? (y/N)" +) +MINIMUM_SKIP_SPECIFICATION_PROMPT = ( + "Enter minimum length of segment to skip in seconds (enter 0 to disable):" +) REPORT_SKIPPED_SEGMENTS_PROMPT = ( "Do you want to report skipped segments to sponsorblock. Only the segment" " UUID will be sent? (Y/n) " @@ -186,19 +190,17 @@ def main(config, debug: bool) -> None: # Ask for minimum skip length. Confirm input is an integer minimum_skip_length = config.minimum_skip_length - + choice = get_yn_input(MINIMUM_SKIP_PROMPT) if choice == "y": while True: try: - minimum_skip_length = int( - input(MINIMUM_SKIP_SPECIFICATION_PROMPT) - ) + minimum_skip_length = int(input(MINIMUM_SKIP_SPECIFICATION_PROMPT)) break except ValueError: print("You entered a non integer value, try again.") continue - + config.minimum_skip_length = minimum_skip_length # Ask for minimum skip length. Confirm input is an integer From 7a1d8967ae032d7ee233275cde3b87f2390bca2a Mon Sep 17 00:00:00 2001 From: Matthew Stern Date: Fri, 14 Mar 2025 18:42:47 -0400 Subject: [PATCH 08/17] set default minimum skip length to 1 --- config.json.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.json.template b/config.json.template index d28c35b..d4a163b 100644 --- a/config.json.template +++ b/config.json.template @@ -12,7 +12,7 @@ "skip_count_tracking": true, "mute_ads": true, "skip_ads": true, - "minimum_skip_length": 0, + "minimum_skip_length": 1, "auto_play": true, "join_name": "iSponsorBlockTV", "apikey": "", From 328e70a17510844c942c24194bd3ec32108842f7 Mon Sep 17 00:00:00 2001 From: Matthew Stern Date: Fri, 14 Mar 2025 19:00:05 -0400 Subject: [PATCH 09/17] add minimum skip length manager --- src/iSponsorBlockTV/setup_wizard.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/iSponsorBlockTV/setup_wizard.py b/src/iSponsorBlockTV/setup_wizard.py index 4abba86..07d5512 100644 --- a/src/iSponsorBlockTV/setup_wizard.py +++ b/src/iSponsorBlockTV/setup_wizard.py @@ -723,6 +723,33 @@ class SkipCategoriesManager(Vertical): self.config.skip_categories = event.selection_list.selected +class MinimumSkipLengthManager(Vertical): + """Manager for minimum skip length setting.""" + + def __init__(self, config, **kwargs) -> None: + super().__init__(**kwargs) + self.config = config + + def compose(self) -> ComposeResult: + yield Label("Minimum Skip Length", classes="title") + yield Label( + "Specify the minimum length a segment must meet in order to skip it (in seconds). Default is 1 second; entering 0 will skip all segments.", + classes="subtitle", + ) + yield Input( + placeholder="Minimum skip length (0 to skip all)", + id="minimum-skip-length-input", + value=str(getattr(self.config, "minimum_skip_length", 1)) + ) + + @on(Input.Changed, "#minimum-skip-length-input") + def changed_minimum_skip_length(self, event: Input.Changed): + try: + self.config.minimum_skip_length = int(event.input.value) + except ValueError: + self.config.minimum_skip_length = 1 + + class SkipCountTrackingManager(Vertical): """Manager for skip count tracking, allows to enable/disable skip count tracking.""" From 4a55fe953955c66ba072bd2d9859e36b8f664ed5 Mon Sep 17 00:00:00 2001 From: Matthew Stern Date: Fri, 14 Mar 2025 19:05:55 -0400 Subject: [PATCH 10/17] set minimum skip length to 1 --- src/iSponsorBlockTV/helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/iSponsorBlockTV/helpers.py b/src/iSponsorBlockTV/helpers.py index 8d283e3..ac91ab9 100644 --- a/src/iSponsorBlockTV/helpers.py +++ b/src/iSponsorBlockTV/helpers.py @@ -41,7 +41,7 @@ class Config: self.skip_count_tracking = True self.mute_ads = False self.skip_ads = False - self.minimum_skip_length = 0 + self.minimum_skip_length = 1 self.auto_play = True self.join_name = "iSponsorBlockTV" self.__load() From e9fdc4948033bcce302073ee7fd8ac47ad44eb26 Mon Sep 17 00:00:00 2001 From: Matthew Stern Date: Fri, 14 Mar 2025 19:06:15 -0400 Subject: [PATCH 11/17] Add minimum skip length input --- src/iSponsorBlockTV/setup_wizard.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/iSponsorBlockTV/setup_wizard.py b/src/iSponsorBlockTV/setup_wizard.py index 07d5512..5a71d4c 100644 --- a/src/iSponsorBlockTV/setup_wizard.py +++ b/src/iSponsorBlockTV/setup_wizard.py @@ -935,6 +935,9 @@ class ISponsorBlockTVSetupMainScreen(Screen): yield SkipCategoriesManager( config=self.config, id="skip-categories-manager", classes="container" ) + yield MinimumSkipLengthManager( + config=self.config, id="minimum-skip-length-manager", classes="container" + ) yield SkipCountTrackingManager( config=self.config, id="count-segments-manager", classes="container" ) From b93f4808484bc144431fad8ef4d5eee2e77fba83 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:11:30 +0000 Subject: [PATCH 12/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/iSponsorBlockTV/config_setup.py | 2 +- src/iSponsorBlockTV/setup_wizard.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index 7201e3d..0150ce0 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -211,7 +211,7 @@ def main(config, debug: bool) -> None: ) break except ValueError: - print('You entered a non integer value, try again.') + print("You entered a non integer value, try again.") continue config.minimum_skip_length = minimum_skip_length diff --git a/src/iSponsorBlockTV/setup_wizard.py b/src/iSponsorBlockTV/setup_wizard.py index 5a71d4c..381e3d9 100644 --- a/src/iSponsorBlockTV/setup_wizard.py +++ b/src/iSponsorBlockTV/setup_wizard.py @@ -725,7 +725,7 @@ class SkipCategoriesManager(Vertical): class MinimumSkipLengthManager(Vertical): """Manager for minimum skip length setting.""" - + def __init__(self, config, **kwargs) -> None: super().__init__(**kwargs) self.config = config @@ -739,7 +739,7 @@ class MinimumSkipLengthManager(Vertical): yield Input( placeholder="Minimum skip length (0 to skip all)", id="minimum-skip-length-input", - value=str(getattr(self.config, "minimum_skip_length", 1)) + value=str(getattr(self.config, "minimum_skip_length", 1)), ) @on(Input.Changed, "#minimum-skip-length-input") @@ -936,7 +936,9 @@ class ISponsorBlockTVSetupMainScreen(Screen): config=self.config, id="skip-categories-manager", classes="container" ) yield MinimumSkipLengthManager( - config=self.config, id="minimum-skip-length-manager", classes="container" + config=self.config, + id="minimum-skip-length-manager", + classes="container", ) yield SkipCountTrackingManager( config=self.config, id="count-segments-manager", classes="container" From 068623bb0337e4ce3ae1a9f3383710ee074124dc Mon Sep 17 00:00:00 2001 From: Matthew Stern Date: Fri, 14 Mar 2025 19:28:54 -0400 Subject: [PATCH 13/17] Add input validation for min skip length --- src/iSponsorBlockTV/setup_wizard.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/iSponsorBlockTV/setup_wizard.py b/src/iSponsorBlockTV/setup_wizard.py index 5a71d4c..67c8d5e 100644 --- a/src/iSponsorBlockTV/setup_wizard.py +++ b/src/iSponsorBlockTV/setup_wizard.py @@ -739,7 +739,13 @@ class MinimumSkipLengthManager(Vertical): yield Input( placeholder="Minimum skip length (0 to skip all)", id="minimum-skip-length-input", - value=str(getattr(self.config, "minimum_skip_length", 1)) + value=str(getattr(self.config, "minimum_skip_length", 1)), + validators=[ + Function( + lambda user_input: user_input.isdigit(), + "Please enter a valid non-negative number" + ) + ] ) @on(Input.Changed, "#minimum-skip-length-input") From 2124fff81b86c4585c5f2c7a9c86c5a3db3a3bd8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 14 Mar 2025 23:30:00 +0000 Subject: [PATCH 14/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/iSponsorBlockTV/setup_wizard.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/iSponsorBlockTV/setup_wizard.py b/src/iSponsorBlockTV/setup_wizard.py index 2e3fd50..4650d3d 100644 --- a/src/iSponsorBlockTV/setup_wizard.py +++ b/src/iSponsorBlockTV/setup_wizard.py @@ -743,9 +743,9 @@ class MinimumSkipLengthManager(Vertical): validators=[ Function( lambda user_input: user_input.isdigit(), - "Please enter a valid non-negative number" + "Please enter a valid non-negative number", ) - ] + ], ) @on(Input.Changed, "#minimum-skip-length-input") From 4417592b6bceb093c04772d12e8973079d6d79b7 Mon Sep 17 00:00:00 2001 From: Mohamed Date: Tue, 29 Apr 2025 17:39:52 +0200 Subject: [PATCH 15/17] Fix: Correct line length error in setup wizard label Split long string literal in the Minimum Skip Length label to adhere to maximum line length constraints (FLK-E501) --- src/iSponsorBlockTV/setup_wizard.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/iSponsorBlockTV/setup_wizard.py b/src/iSponsorBlockTV/setup_wizard.py index 4650d3d..2af7a69 100644 --- a/src/iSponsorBlockTV/setup_wizard.py +++ b/src/iSponsorBlockTV/setup_wizard.py @@ -733,7 +733,11 @@ class MinimumSkipLengthManager(Vertical): def compose(self) -> ComposeResult: yield Label("Minimum Skip Length", classes="title") yield Label( - "Specify the minimum length a segment must meet in order to skip it (in seconds). Default is 1 second; entering 0 will skip all segments.", + ( + "Specify the minimum length a segment must meet in order to skip " + "it (in seconds). Default is 1 second; entering 0 will skip all " + "segments." + ), classes="subtitle", ) yield Input( From 82ce3e60e9f416de3db0d000e6df5bfefed2419d Mon Sep 17 00:00:00 2001 From: Mohamed Date: Tue, 29 Apr 2025 17:52:11 +0200 Subject: [PATCH 16/17] Remove redundant code for minimum skip length configuration --- src/iSponsorBlockTV/config_setup.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index 0150ce0..7c87272 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -203,18 +203,6 @@ def main(config, debug: bool) -> None: config.minimum_skip_length = minimum_skip_length - # Ask for minimum skip length. Confirm input is an integer - while True: - try: - minimum_skip_length = int( - input("Enter minimum length of segment to skip in seconds: ") - ) - break - except ValueError: - print("You entered a non integer value, try again.") - continue - config.minimum_skip_length = minimum_skip_length - choice = get_yn_input(REPORT_SKIPPED_SEGMENTS_PROMPT) config.skip_count_tracking = choice != "n" From f04f7560b22b330333390d13be96ef7321b0d4f7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 04:16:23 +0000 Subject: [PATCH 17/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/iSponsorBlockTV/config_setup.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/iSponsorBlockTV/config_setup.py b/src/iSponsorBlockTV/config_setup.py index 7c87272..9190751 100644 --- a/src/iSponsorBlockTV/config_setup.py +++ b/src/iSponsorBlockTV/config_setup.py @@ -29,9 +29,7 @@ SEARCH_CHANNEL_PROMPT = 'Enter a channel name or "/exit" to exit: ' SELECT_CHANNEL_PROMPT = "Select one option of the above [0-6]: " ENTER_CHANNEL_ID_PROMPT = "Enter a channel ID: " ENTER_CUSTOM_CHANNEL_NAME_PROMPT = "Enter the channel name: " -MINIMUM_SKIP_PROMPT = ( - "Do you want to specify a minimum length of segment to skip? (y/N)" -) +MINIMUM_SKIP_PROMPT = "Do you want to specify a minimum length of segment to skip? (y/N)" MINIMUM_SKIP_SPECIFICATION_PROMPT = ( "Enter minimum length of segment to skip in seconds (enter 0 to disable):" )