feat: detect multiple subtitle languages (#1723)
This commit is contained in:
		
							parent
							
								
									608a0015ee
								
							
						
					
					
						commit
						c2e03bbfab
					
				| 
						 | 
				
			
			@ -271,11 +271,17 @@ func (i *FileInfo) detectSubtitles() {
 | 
			
		|||
	i.Subtitles = []string{}
 | 
			
		||||
	ext := filepath.Ext(i.Path)
 | 
			
		||||
 | 
			
		||||
	// TODO: detect multiple languages. Base.Lang.vtt
 | 
			
		||||
 | 
			
		||||
	fPath := strings.TrimSuffix(i.Path, ext) + ".vtt"
 | 
			
		||||
	if _, err := i.Fs.Stat(fPath); err == nil {
 | 
			
		||||
		i.Subtitles = append(i.Subtitles, fPath)
 | 
			
		||||
	// detect multiple languages. Base*.vtt
 | 
			
		||||
	// TODO: give subtitles descriptive names (lang) and track attributes
 | 
			
		||||
	parentDir := strings.TrimRight(i.Path, i.Name)
 | 
			
		||||
	dir, err := afero.ReadDir(i.Fs, parentDir)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		base := strings.TrimSuffix(i.Name, ext)
 | 
			
		||||
		for _, f := range dir {
 | 
			
		||||
			if !f.IsDir() && strings.HasPrefix(f.Name(), base) && strings.HasSuffix(f.Name(), ".vtt") {
 | 
			
		||||
				i.Subtitles = append(i.Subtitles, path.Join(parentDir, f.Name()))
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue