Clean code and rename thumbnail by images
It now exports banner as banner.jpg and avatar as poster.jpg and season-poster.jpg
This commit is contained in:
		
							parent
							
								
									a359c989d2
								
							
						
					
					
						commit
						0478cb399e
					
				
							
								
								
									
										2
									
								
								Pipfile
								
								
								
								
							
							
						
						
									
										2
									
								
								Pipfile
								
								
								
								
							|  | @ -22,4 +22,4 @@ mysqlclient = "*" | ||||||
| yt-dlp = "*" | yt-dlp = "*" | ||||||
| redis = "*" | redis = "*" | ||||||
| hiredis = "*" | hiredis = "*" | ||||||
| requests = {extras = ["socks"], version = "*"} | requests = {extras = ["socks"], version = "*"} | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ class Migration(migrations.Migration): | ||||||
|     operations = [ |     operations = [ | ||||||
|         migrations.AddField( |         migrations.AddField( | ||||||
|             model_name='source', |             model_name='source', | ||||||
|             name='copy_channel_thumbnails', |             name='copy_channel_images', | ||||||
|             field=models.BooleanField(default=False, help_text='Copy channel thumbnails in poster.jpg and season-poster.jpg, these may be detected and used by some media servers', verbose_name='copy channel thumbnails'), |             field=models.BooleanField(default=False, help_text='Copy channel images : banner as banner.jpg and avatar as poster.jpg and season-poster.jpg. These may be detected and used by some media servers', verbose_name='copy channel images'), | ||||||
|         ), |         ), | ||||||
|     ] |     ] | ||||||
|  | @ -343,10 +343,10 @@ class Source(models.Model): | ||||||
|         default=FALLBACK_NEXT_BEST_HD, |         default=FALLBACK_NEXT_BEST_HD, | ||||||
|         help_text=_('What do do when media in your source resolution and codecs is not available') |         help_text=_('What do do when media in your source resolution and codecs is not available') | ||||||
|     ) |     ) | ||||||
|     copy_channel_thumbnails = models.BooleanField( |     copy_channel_images = models.BooleanField( | ||||||
|         _('copy channel thumbnails'), |         _('copy channel images'), | ||||||
|         default=False, |         default=False, | ||||||
|         help_text=_('Copy channel thumbnails in poster.jpg and season-poster.jpg, these may be detected and used by some media servers') |         help_text=_('Copy channel images : banner as banner.jpg and avatar as poster.jpg and season-poster.jpg. These may be detected and used by some media servers') | ||||||
|     ) |     ) | ||||||
|     copy_thumbnails = models.BooleanField( |     copy_thumbnails = models.BooleanField( | ||||||
|         _('copy thumbnails'), |         _('copy thumbnails'), | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ from .models import Source, Media, MediaServer | ||||||
| from .tasks import (delete_task_by_source, delete_task_by_media, index_source_task, | from .tasks import (delete_task_by_source, delete_task_by_media, index_source_task, | ||||||
|                     download_media_thumbnail, download_media_metadata, |                     download_media_thumbnail, download_media_metadata, | ||||||
|                     map_task_to_instance, check_source_directory_exists, |                     map_task_to_instance, check_source_directory_exists, | ||||||
|                     download_media, rescan_media_server, download_source_thumbnail) |                     download_media, rescan_media_server, download_source_images) | ||||||
| from .utils import delete_file | from .utils import delete_file | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -47,8 +47,8 @@ def source_post_save(sender, instance, created, **kwargs): | ||||||
|             priority=0, |             priority=0, | ||||||
|             verbose_name=verbose_name.format(instance.name) |             verbose_name=verbose_name.format(instance.name) | ||||||
|         ) |         ) | ||||||
|         if instance.source_type != Source.SOURCE_TYPE_YOUTUBE_PLAYLIST and instance.copy_channel_thumbnails: |         if instance.source_type != Source.SOURCE_TYPE_YOUTUBE_PLAYLIST and instance.copy_channel_images: | ||||||
|             download_source_thumbnail( |             download_source_images( | ||||||
|                 str(instance.pk), |                 str(instance.pk), | ||||||
|                 priority=0, |                 priority=0, | ||||||
|                 verbose_name=verbose_name.format(instance.name) |                 verbose_name=verbose_name.format(instance.name) | ||||||
|  |  | ||||||
|  | @ -221,7 +221,7 @@ def check_source_directory_exists(source_id): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @background(schedule=0) | @background(schedule=0) | ||||||
| def download_source_thumbnail(source_id): | def download_source_images(source_id): | ||||||
|     ''' |     ''' | ||||||
|         Downloads an image and save it as a local thumbnail attached to a |         Downloads an image and save it as a local thumbnail attached to a | ||||||
|         Source instance. |         Source instance. | ||||||
|  | @ -230,7 +230,7 @@ def download_source_thumbnail(source_id): | ||||||
|         source = Source.objects.get(pk=source_id) |         source = Source.objects.get(pk=source_id) | ||||||
|     except Source.DoesNotExist: |     except Source.DoesNotExist: | ||||||
|         # Task triggered but the source no longer exists, do nothing |         # Task triggered but the source no longer exists, do nothing | ||||||
|         log.error(f'Task download_source_thumbnail(pk={source_id}) called but no ' |         log.error(f'Task download_source_images(pk={source_id}) called but no ' | ||||||
|                   f'source exists with ID: {source_id}') |                   f'source exists with ID: {source_id}') | ||||||
|         return |         return | ||||||
|     avatar, banner = source.get_image_url |     avatar, banner = source.get_image_url | ||||||
|  |  | ||||||
|  | @ -297,7 +297,7 @@ class EditSourceMixin: | ||||||
|     fields = ('source_type', 'key', 'name', 'directory', 'filter_text', 'media_format', |     fields = ('source_type', 'key', 'name', 'directory', 'filter_text', 'media_format', | ||||||
|               'index_schedule', 'download_media', 'download_cap', 'delete_old_media', |               'index_schedule', 'download_media', 'download_cap', 'delete_old_media', | ||||||
|               'delete_removed_media', 'days_to_keep', 'source_resolution', 'source_vcodec', |               'delete_removed_media', 'days_to_keep', 'source_resolution', 'source_vcodec', | ||||||
|               'source_acodec', 'prefer_60fps', 'prefer_hdr', 'fallback', 'copy_channel_thumbnails', |               'source_acodec', 'prefer_60fps', 'prefer_hdr', 'fallback', 'copy_channel_images', | ||||||
|               'copy_thumbnails', 'write_nfo', 'write_json', 'embed_metadata', 'embed_thumbnail', |               'copy_thumbnails', 'write_nfo', 'write_json', 'embed_metadata', 'embed_thumbnail', | ||||||
|               'enable_sponsorblock', 'sponsorblock_categories', 'write_subtitles', |               'enable_sponsorblock', 'sponsorblock_categories', 'write_subtitles', | ||||||
|               'auto_subtitles', 'sub_langs') |               'auto_subtitles', 'sub_langs') | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue