|  |  | @ -168,12 +168,7 @@ func (ms *MediaSource) ThumbMax(m Media, maxDim int) (string, image.Rectangle, e | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return "", image.ZR, err |  |  |  | 		return "", image.ZR, err | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	img, _, err := image.Decode(f) |  |  |  | 	src, err := ms.thumbReader(f, m, size) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 	if err != nil { |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return "", image.ZR, err |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	src, err := ms.ThumbImage(img, m, size) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	return src, size, err |  |  |  | 	return src, size, err | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -207,7 +202,11 @@ func (ms *MediaSource) Thumb(m Media, size image.Rectangle) (string, error) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 	defer f.Close() |  |  |  | 	defer f.Close() | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	img, _, err := image.Decode(f) |  |  |  | 	return ms.thumbReader(f, m, size) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | func (ms *MediaSource) thumbReader(r io.Reader, m Media, size image.Rectangle) (string, error) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	img, _, err := image.Decode(r) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if err != nil { |  |  |  | 	if err != nil { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return "", err |  |  |  | 		return "", err | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
	
		
		
			
				
					|  |  | @ -216,7 +215,6 @@ func (ms *MediaSource) Thumb(m Media, size image.Rectangle) (string, error) { | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | func (ms *MediaSource) ThumbImage(img image.Image, m Media, size image.Rectangle) (string, error) { |  |  |  | func (ms *MediaSource) ThumbImage(img image.Image, m Media, size image.Rectangle) (string, error) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 	thumbLoc := ms.ThumbFilename(m, size) |  |  |  | 	thumbLoc := ms.ThumbFilename(m, size) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	os.MkdirAll(path.Dir(thumbLoc), 0755) |  |  |  | 	os.MkdirAll(path.Dir(thumbLoc), 0755) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	fthumb, err := os.OpenFile(thumbLoc, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0655) |  |  |  | 	fthumb, err := os.OpenFile(thumbLoc, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0655) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |