mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	[extractor/youtube] Support shorter relative time format (#7191)
See: https://github.com/TeamNewPipe/NewPipeExtractor/issues/1067 Authored by: coletdjnz
This commit is contained in:
		@@ -893,9 +893,16 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
 | 
			
		||||
    def extract_relative_time(relative_time_text):
 | 
			
		||||
        """
 | 
			
		||||
        Extracts a relative time from string and converts to dt object
 | 
			
		||||
        e.g. 'streamed 6 days ago', '5 seconds ago (edited)', 'updated today'
 | 
			
		||||
        e.g. 'streamed 6 days ago', '5 seconds ago (edited)', 'updated today', '8 yr ago'
 | 
			
		||||
        """
 | 
			
		||||
        mobj = re.search(r'(?P<start>today|yesterday|now)|(?P<time>\d+)\s*(?P<unit>microsecond|second|minute|hour|day|week|month|year)s?\s*ago', relative_time_text)
 | 
			
		||||
 | 
			
		||||
        # XXX: this could be moved to a general function in utils.py
 | 
			
		||||
        # The relative time text strings are roughly the same as what
 | 
			
		||||
        # Javascript's Intl.RelativeTimeFormat function generates.
 | 
			
		||||
        # See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
 | 
			
		||||
        mobj = re.search(
 | 
			
		||||
            r'(?P<start>today|yesterday|now)|(?P<time>\d+)\s*(?P<unit>sec(?:ond)?|s|min(?:ute)?|h(?:our|r)?|d(?:ay)?|w(?:eek|k)?|mo(?:nth)?|y(?:ear|r)?)s?\s*ago',
 | 
			
		||||
            relative_time_text)
 | 
			
		||||
        if mobj:
 | 
			
		||||
            start = mobj.group('start')
 | 
			
		||||
            if start:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user