mirror of
https://github.com/dmunozv04/iSponsorBlockTV.git
synced 2026-01-27 04:40:51 +03:00
Added support for specifying minimum skip length
This commit is contained in:
committed by
Matthew Stern
parent
c21ebe396e
commit
0b785da448
@@ -12,6 +12,7 @@
|
|||||||
"skip_count_tracking": true,
|
"skip_count_tracking": true,
|
||||||
"mute_ads": true,
|
"mute_ads": true,
|
||||||
"skip_ads": true,
|
"skip_ads": true,
|
||||||
|
"minimum_skip_length": 1,
|
||||||
"auto_play": true,
|
"auto_play": true,
|
||||||
"join_name": "iSponsorBlockTV",
|
"join_name": "iSponsorBlockTV",
|
||||||
"apikey": "",
|
"apikey": "",
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ class ApiHelper:
|
|||||||
self.skip_count_tracking = config.skip_count_tracking
|
self.skip_count_tracking = config.skip_count_tracking
|
||||||
self.web_session = web_session
|
self.web_session = web_session
|
||||||
self.num_devices = len(config.devices)
|
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
|
# Not used anymore, maybe it can stay here a little longer
|
||||||
@AsyncLRU(maxsize=10)
|
@AsyncLRU(maxsize=10)
|
||||||
@@ -147,10 +148,10 @@ class ApiHelper:
|
|||||||
if str(i["videoID"]) == str(vid_id):
|
if str(i["videoID"]) == str(vid_id):
|
||||||
response_json = i
|
response_json = i
|
||||||
break
|
break
|
||||||
return self.process_segments(response_json)
|
return self.process_segments(self, response_json)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def process_segments(response):
|
def process_segments(self, response):
|
||||||
segments = []
|
segments = []
|
||||||
ignore_ttl = True
|
ignore_ttl = True
|
||||||
try:
|
try:
|
||||||
@@ -192,7 +193,9 @@ class ApiHelper:
|
|||||||
segment_dict["start"] = segment_before_start
|
segment_dict["start"] = segment_before_start
|
||||||
segment_dict["UUID"].extend(segment_before_UUID)
|
segment_dict["UUID"].extend(segment_before_UUID)
|
||||||
segments.pop()
|
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:
|
except BaseException:
|
||||||
pass
|
pass
|
||||||
return segments, ignore_ttl
|
return segments, ignore_ttl
|
||||||
|
|||||||
@@ -182,6 +182,26 @@ def main(config, debug: bool) -> None:
|
|||||||
|
|
||||||
config.channel_whitelist = channel_whitelist
|
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)
|
choice = get_yn_input(REPORT_SKIPPED_SEGMENTS_PROMPT)
|
||||||
config.skip_count_tracking = choice != "n"
|
config.skip_count_tracking = choice != "n"
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ class Config:
|
|||||||
self.skip_count_tracking = True
|
self.skip_count_tracking = True
|
||||||
self.mute_ads = False
|
self.mute_ads = False
|
||||||
self.skip_ads = False
|
self.skip_ads = False
|
||||||
|
self.minimum_skip_length = 1
|
||||||
self.auto_play = True
|
self.auto_play = True
|
||||||
self.join_name = "iSponsorBlockTV"
|
self.join_name = "iSponsorBlockTV"
|
||||||
self.__load()
|
self.__load()
|
||||||
|
|||||||
Reference in New Issue
Block a user