Handle case that cover size is smaller than thumbnail size
Update teststatus
This commit is contained in:
		
							parent
							
								
									7ade4615a4
								
							
						
					
					
						commit
						224777f5e3
					
				| 
						 | 
					@ -17,6 +17,7 @@
 | 
				
			||||||
#   along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
					#   along with this program. If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
 | 
					from shutil import copyfile, copyfileobj
 | 
				
			||||||
from urllib.request import urlopen
 | 
					from urllib.request import urlopen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .. import constants
 | 
					from .. import constants
 | 
				
			||||||
| 
						 | 
					@ -188,14 +189,18 @@ class TaskGenerateCoverThumbnails(CalibreTask):
 | 
				
			||||||
                try:
 | 
					                try:
 | 
				
			||||||
                    stream = urlopen(web_content_link)
 | 
					                    stream = urlopen(web_content_link)
 | 
				
			||||||
                    with Image(file=stream) as img:
 | 
					                    with Image(file=stream) as img:
 | 
				
			||||||
 | 
					                        filename = self.cache.get_cache_file_path(thumbnail.filename,
 | 
				
			||||||
 | 
					                                                                  constants.CACHE_TYPE_THUMBNAILS)
 | 
				
			||||||
                        height = get_resize_height(thumbnail.resolution)
 | 
					                        height = get_resize_height(thumbnail.resolution)
 | 
				
			||||||
                        if img.height > height:
 | 
					                        if img.height > height:
 | 
				
			||||||
                            width = get_resize_width(thumbnail.resolution, img.width, img.height)
 | 
					                            width = get_resize_width(thumbnail.resolution, img.width, img.height)
 | 
				
			||||||
                            img.resize(width=width, height=height, filter='lanczos')
 | 
					                            img.resize(width=width, height=height, filter='lanczos')
 | 
				
			||||||
                            img.format = thumbnail.format
 | 
					                            img.format = thumbnail.format
 | 
				
			||||||
                            filename = self.cache.get_cache_file_path(thumbnail.filename,
 | 
					 | 
				
			||||||
                                                                      constants.CACHE_TYPE_THUMBNAILS)
 | 
					 | 
				
			||||||
                            img.save(filename=filename)
 | 
					                            img.save(filename=filename)
 | 
				
			||||||
 | 
					                        else:
 | 
				
			||||||
 | 
					                            with open(filename, 'rb') as fd:
 | 
				
			||||||
 | 
					                                copyfileobj(stream, fd)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                except Exception as ex:
 | 
					                except Exception as ex:
 | 
				
			||||||
                    # Bubble exception to calling function
 | 
					                    # Bubble exception to calling function
 | 
				
			||||||
                    self.log.debug('Error generating thumbnail file: ' + str(ex))
 | 
					                    self.log.debug('Error generating thumbnail file: ' + str(ex))
 | 
				
			||||||
| 
						 | 
					@ -210,12 +215,15 @@ class TaskGenerateCoverThumbnails(CalibreTask):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                with Image(filename=book_cover_filepath) as img:
 | 
					                with Image(filename=book_cover_filepath) as img:
 | 
				
			||||||
                    height = get_resize_height(thumbnail.resolution)
 | 
					                    height = get_resize_height(thumbnail.resolution)
 | 
				
			||||||
 | 
					                    filename = self.cache.get_cache_file_path(thumbnail.filename, constants.CACHE_TYPE_THUMBNAILS)
 | 
				
			||||||
                    if img.height > height:
 | 
					                    if img.height > height:
 | 
				
			||||||
                        width = get_resize_width(thumbnail.resolution, img.width, img.height)
 | 
					                        width = get_resize_width(thumbnail.resolution, img.width, img.height)
 | 
				
			||||||
                        img.resize(width=width, height=height, filter='lanczos')
 | 
					                        img.resize(width=width, height=height, filter='lanczos')
 | 
				
			||||||
                        img.format = thumbnail.format
 | 
					                        img.format = thumbnail.format
 | 
				
			||||||
                        filename = self.cache.get_cache_file_path(thumbnail.filename, constants.CACHE_TYPE_THUMBNAILS)
 | 
					 | 
				
			||||||
                        img.save(filename=filename)
 | 
					                        img.save(filename=filename)
 | 
				
			||||||
 | 
					                    else:
 | 
				
			||||||
 | 
					                        # take cover as is
 | 
				
			||||||
 | 
					                        copyfile(book_cover_filepath, filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
    def name(self):
 | 
					    def name(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user