fix: fixes server error when recommended videos are "LIVE" or "Upcoming"
This commit is contained in:
@@ -73,6 +73,14 @@ def epochToDate(epoch):
|
||||
def dateToEpoch(date: str):
|
||||
return datetime.datetime.fromisoformat(date).timestamp()
|
||||
|
||||
def doesContainNumber(string: str, numeric_system: int = 10) -> bool:
|
||||
try:
|
||||
number = int(string, numeric_system)
|
||||
return True
|
||||
except ValueError:
|
||||
return False
|
||||
raise BaseException("doesContainNumber(): Unknown error while determining if a string contains a number")
|
||||
|
||||
def trending():
|
||||
return send(200, [{}])
|
||||
|
||||
@@ -445,8 +453,11 @@ def videos(data):
|
||||
related_video['lengthSeconds'] = 0
|
||||
time_lookup_list = [1, 60, 3_600, 86_400]
|
||||
time_list = safeTraverse(y, ['contentImage', 'thumbnailViewModel', 'overlays', 0, 'thumbnailOverlayBadgeViewModel', 'thumbnailBadges', 0, 'thumbnailBadgeViewModel', 'text'], default="0:0").split(":")
|
||||
for z in range(len(time_list)):
|
||||
related_video['lengthSeconds'] += time_lookup_list[z] * int(time_list[len(time_list) - 1 - z])
|
||||
if False in map(doesContainNumber, time_list): # works around ['LIVE'] for livestreams or ['Upcoming'] for scheduled videos
|
||||
pass
|
||||
else:
|
||||
for z in range(len(time_list)):
|
||||
related_video['lengthSeconds'] += time_lookup_list[z] * int(time_list[len(time_list) - 1 - z])
|
||||
related_views_text = safeTraverse(lmvm, ['metadata', 'contentMetadataViewModel', 'metadataRows', 1, 'metadataParts', 0, 'text', 'content'], default="0").split(" ")[0]
|
||||
related_video['viewCountText'] = safeTraverse(lmvm, ['metadata', 'contentMetadataViewModel', 'metadataRows', 1, 'metadataParts', 0, 'text', 'content'], default="0").split(" ")[0]
|
||||
related_views = 0
|
||||
|
||||
Reference in New Issue
Block a user