From 050b1579e2097cb53a970ccbe84f4dff00c4857a Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:05:19 -0400 Subject: [PATCH 01/23] Add files via upload --- ...nitial_squashed_0010_auto_20210924_0554.py | 99 +++++++++++++++++++ ...1_1654_squashed_0020_auto_20231024_1825.py | 97 ++++++++++++++++++ 2 files changed, 196 insertions(+) create mode 100644 tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py create mode 100644 tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py new file mode 100644 index 00000000..f356f8b1 --- /dev/null +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -0,0 +1,99 @@ +# Generated by Django 5.1.8 on 2025-04-24 01:54 + +import django.core.files.storage +import django.db.models.deletion +import sync.models +import uuid +from django.db import migrations, models + + +class Migration(migrations.Migration): + + replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Source', + fields=[ + ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, help_text='UUID of the source', primary_key=True, serialize=False, verbose_name='uuid')), + ('created', models.DateTimeField(auto_now_add=True, db_index=True, help_text='Date and time the source was created', verbose_name='created')), + ('last_crawl', models.DateTimeField(blank=True, db_index=True, help_text='Date and time the source was last crawled', null=True, verbose_name='last crawl')), + ('source_type', models.CharField(choices=[('c', 'YouTube channel'), ('i', 'YouTube channel by ID'), ('p', 'YouTube playlist')], db_index=True, default='c', help_text='Source type', max_length=1, verbose_name='source type')), + ('key', models.CharField(db_index=True, help_text='Source key, such as exact YouTube channel name or playlist ID', max_length=100, unique=True, verbose_name='key')), + ('name', models.CharField(db_index=True, help_text='Friendly name for the source, used locally in TubeSync only', max_length=100, unique=True, verbose_name='name')), + ('directory', models.CharField(db_index=True, help_text='Directory name to save the media into', max_length=100, unique=True, verbose_name='directory')), + ('index_schedule', models.IntegerField(choices=[(3600, 'Every hour'), (7200, 'Every 2 hours'), (10800, 'Every 3 hours'), (14400, 'Every 4 hours'), (18000, 'Every 5 hours'), (21600, 'Every 6 hours'), (43200, 'Every 12 hours'), (86400, 'Every 24 hours'), (259200, 'Every 3 days'), (604800, 'Every 7 days'), (0, 'Never')], db_index=True, default=86400, help_text='Schedule of how often to index the source for new media', verbose_name='index schedule')), + ('delete_old_media', models.BooleanField(default=False, help_text='Delete old media after "days to keep" days?', verbose_name='delete old media')), + ('days_to_keep', models.PositiveSmallIntegerField(default=14, help_text='If "delete old media" is ticked, the number of days after which to automatically delete media', verbose_name='days to keep')), + ('source_resolution', models.CharField(choices=[('360p', '360p (SD)'), ('480p', '480p (SD)'), ('720p', '720p (HD)'), ('1080p', '1080p (Full HD)'), ('1440p', '1440p (2K)'), ('2160p', '2160p (4K)'), ('4320p', '4320p (8K)'), ('audio', 'Audio only')], db_index=True, default='1080p', help_text='Source resolution, desired video resolution to download', max_length=8, verbose_name='source resolution')), + ('source_vcodec', models.CharField(choices=[('AVC1', 'AVC1 (H.264)'), ('VP9', 'VP9')], db_index=True, default='VP9', help_text='Source video codec, desired video encoding format to download (ignored if "resolution" is audio only)', max_length=8, verbose_name='source video codec')), + ('source_acodec', models.CharField(choices=[('MP4A', 'MP4A'), ('OPUS', 'OPUS')], db_index=True, default='OPUS', help_text='Source audio codec, desired audio encoding format to download', max_length=8, verbose_name='source audio codec')), + ('prefer_60fps', models.BooleanField(default=True, help_text='Where possible, prefer 60fps media for this source', verbose_name='prefer 60fps')), + ('prefer_hdr', models.BooleanField(default=False, help_text='Where possible, prefer HDR media for this source', verbose_name='prefer hdr')), + ('fallback', models.CharField(choices=[('f', 'Fail, do not download any media'), ('n', 'Get next best resolution or codec instead'), ('h', 'Get next best resolution but at least HD')], db_index=True, default='h', help_text='What do do when media in your source resolution and codecs is not available', max_length=1, verbose_name='fallback')), + ('has_failed', models.BooleanField(default=False, help_text='Source has failed to index media', verbose_name='has failed')), + ('copy_thumbnails', models.BooleanField(default=False, help_text='Copy thumbnails with the media, these may be detected and used by some media servers', verbose_name='copy thumbnails')), + ('media_format', models.CharField(default='{yyyy_mm_dd}_{source}_{title}_{key}_{format}.{ext}', help_text='File format to use for saving files, detailed options at bottom of page.', max_length=200, verbose_name='media format')), + ('write_nfo', models.BooleanField(default=False, help_text='Write an NFO file in XML with the media info, these may be detected and used by some media servers', verbose_name='write nfo')), + ('download_cap', models.IntegerField(choices=[(0, 'No cap'), (604800, '1 week (7 days)'), (2592000, '1 month (30 days)'), (7776000, '3 months (90 days)'), (15552000, '6 months (180 days)'), (31536000, '1 year (365 days)'), (63072000, '2 years (730 days)'), (94608000, '3 years (1095 days)'), (157680000, '5 years (1825 days)'), (315360000, '10 years (3650 days)')], default=0, help_text='Do not download media older than this capped date', verbose_name='download cap')), + ('download_media', models.BooleanField(default=True, help_text='Download media from this source, if not selected the source will only be indexed', verbose_name='download media')), + ], + options={ + 'verbose_name': 'Source', + 'verbose_name_plural': 'Sources', + }, + ), + migrations.CreateModel( + name='MediaServer', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('server_type', models.CharField(choices=[('p', 'Plex')], db_index=True, default='p', help_text='Server type', max_length=1, verbose_name='server type')), + ('host', models.CharField(db_index=True, help_text='Hostname or IP address of the media server', max_length=200, verbose_name='host')), + ('port', models.PositiveIntegerField(db_index=True, help_text='Port number of the media server', verbose_name='port')), + ('use_https', models.BooleanField(default=True, help_text='Connect to the media server over HTTPS', verbose_name='use https')), + ('verify_https', models.BooleanField(default=False, help_text='If connecting over HTTPS, verify the SSL certificate is valid', verbose_name='verify https')), + ('options', models.TextField(blank=True, help_text='JSON encoded options for the media server', null=True, verbose_name='options')), + ], + options={ + 'verbose_name': 'Media Server', + 'verbose_name_plural': 'Media Servers', + 'unique_together': {('host', 'port')}, + }, + ), + migrations.CreateModel( + name='Media', + fields=[ + ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, help_text='UUID of the media', primary_key=True, serialize=False, verbose_name='uuid')), + ('created', models.DateTimeField(auto_now_add=True, db_index=True, help_text='Date and time the media was created', verbose_name='created')), + ('published', models.DateTimeField(blank=True, db_index=True, help_text='Date and time the media was published on the source', null=True, verbose_name='published')), + ('key', models.CharField(db_index=True, help_text='Media key, such as exact YouTube video ID', max_length=100, verbose_name='key')), + ('thumb', models.ImageField(blank=True, height_field='thumb_height', help_text='Thumbnail', max_length=200, null=True, upload_to=sync.models.get_media_thumb_path, verbose_name='thumb', width_field='thumb_width')), + ('thumb_width', models.PositiveSmallIntegerField(blank=True, help_text='Width (X) of the thumbnail', null=True, verbose_name='thumb width')), + ('thumb_height', models.PositiveSmallIntegerField(blank=True, help_text='Height (Y) of the thumbnail', null=True, verbose_name='thumb height')), + ('metadata', models.TextField(blank=True, help_text='JSON encoded metadata for the media', null=True, verbose_name='metadata')), + ('can_download', models.BooleanField(db_index=True, default=False, help_text='Media has a matching format and can be downloaded', verbose_name='can download')), + ('media_file', models.FileField(blank=True, help_text='Media file', max_length=255, null=True, storage=django.core.files.storage.FileSystemStorage(location='/home/meeb/Repos/github.com/meeb/tubesync/tubesync/downloads'), upload_to=sync.models.get_media_file_path, verbose_name='media file')), + ('skip', models.BooleanField(db_index=True, default=False, help_text='Media will be skipped and not downloaded', verbose_name='skip')), + ('downloaded', models.BooleanField(db_index=True, default=False, help_text='Media has been downloaded', verbose_name='downloaded')), + ('download_date', models.DateTimeField(blank=True, db_index=True, help_text='Date and time the download completed', null=True, verbose_name='download date')), + ('downloaded_format', models.CharField(blank=True, help_text='Audio codec of the downloaded media', max_length=30, null=True, verbose_name='downloaded format')), + ('downloaded_height', models.PositiveIntegerField(blank=True, help_text='Height in pixels of the downloaded media', null=True, verbose_name='downloaded height')), + ('downloaded_width', models.PositiveIntegerField(blank=True, help_text='Width in pixels of the downloaded media', null=True, verbose_name='downloaded width')), + ('downloaded_audio_codec', models.CharField(blank=True, help_text='Audio codec of the downloaded media', max_length=30, null=True, verbose_name='downloaded audio codec')), + ('downloaded_video_codec', models.CharField(blank=True, help_text='Video codec of the downloaded media', max_length=30, null=True, verbose_name='downloaded video codec')), + ('downloaded_container', models.CharField(blank=True, help_text='Container format of the downloaded media', max_length=30, null=True, verbose_name='downloaded container format')), + ('downloaded_fps', models.PositiveSmallIntegerField(blank=True, help_text='FPS of the downloaded media', null=True, verbose_name='downloaded fps')), + ('downloaded_hdr', models.BooleanField(default=False, help_text='Downloaded media has HDR', verbose_name='downloaded hdr')), + ('downloaded_filesize', models.PositiveBigIntegerField(blank=True, db_index=True, help_text='Size of the downloaded media in bytes', null=True, verbose_name='downloaded filesize')), + ('source', models.ForeignKey(help_text='Source the media belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='media_source', to='sync.source')), + ], + options={ + 'verbose_name': 'Media', + 'verbose_name_plural': 'Media', + 'unique_together': {('source', 'key')}, + }, + ), + ] diff --git a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py new file mode 100644 index 00000000..acb1e384 --- /dev/null +++ b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py @@ -0,0 +1,97 @@ +# Generated by Django 5.1.8 on 2025-04-24 01:55 + +import django.core.files.storage +import django.core.validators +import sync.fields +import sync.models +from django.db import migrations, models + + +# Functions from the following migrations need manual copying. +# Move them and any dependencies into this file, then update the +# RunPython operations to refer to the local versions: +# sync.migrations.0013_fix_elative_media_file + +class Migration(migrations.Migration): + + replaces = [('sync', '0011_auto_20220201_1654'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), ('sync', '0015_auto_20230213_0603'), ('sync', '0016_auto_20230214_2052'), ('sync', '0017_alter_source_sponsorblock_categories'), ('sync', '0018_source_subtitles'), ('sync', '0019_add_delete_removed_media'), ('sync', '0020_auto_20231024_1825')] + + dependencies = [ + ('sync', '0010_auto_20210924_0554'), + ] + + operations = [ + migrations.AddField( + model_name='source', + name='write_json', + field=models.BooleanField(default=False, help_text='Write a JSON file with the media info, these may be detected and used by some media servers', verbose_name='write json'), + ), + migrations.AlterField( + model_name='media', + name='downloaded_format', + field=models.CharField(blank=True, help_text='Video format (resolution) of the downloaded media', max_length=30, null=True, verbose_name='downloaded format'), + ), + migrations.RunPython( + code=sync.migrations.0013_fix_elative_media_file.fix_media_file, + ), + migrations.AlterField( + model_name='media', + name='media_file', + field=models.FileField(blank=True, help_text='Media file', max_length=255, null=True, storage=django.core.files.storage.FileSystemStorage(base_url='/media-data/', location='/downloads'), upload_to=sync.models.get_media_file_path, verbose_name='media file'), + ), + migrations.AddField( + model_name='media', + name='manual_skip', + field=models.BooleanField(db_index=True, default=False, help_text='Media marked as "skipped", won\' be downloaded', verbose_name='manual_skip'), + ), + migrations.AlterField( + model_name='media', + name='skip', + field=models.BooleanField(db_index=True, default=False, help_text='INTERNAL FLAG - Media will be skipped and not downloaded', verbose_name='skip'), + ), + migrations.AddField( + model_name='source', + name='embed_metadata', + field=models.BooleanField(default=False, help_text='Embed metadata from source into file', verbose_name='embed metadata'), + ), + migrations.AddField( + model_name='source', + name='embed_thumbnail', + field=models.BooleanField(default=False, help_text='Embed thumbnail into the file', verbose_name='embed thumbnail'), + ), + migrations.AddField( + model_name='source', + name='enable_sponsorblock', + field=models.BooleanField(default=True, help_text='Use SponsorBlock?', verbose_name='enable sponsorblock'), + ), + migrations.AddField( + model_name='source', + name='sponsorblock_categories', + field=sync.fields.CommaSepChoiceField(default='all', help_text='Select the sponsorblocks you want to enforce', max_length=128, possible_choices=('', ''), separator=''), + ), + migrations.AddField( + model_name='source', + name='write_subtitles', + field=models.BooleanField(default=False, help_text='Download video subtitles', verbose_name='write subtitles'), + ), + migrations.AddField( + model_name='source', + name='delete_removed_media', + field=models.BooleanField(default=False, help_text='Delete media that is no longer on this playlist', verbose_name='delete removed media'), + ), + migrations.AddField( + model_name='source', + name='filter_text', + field=models.CharField(blank=True, default='', help_text='Regex compatible filter string for video titles', max_length=100, verbose_name='filter string'), + ), + migrations.AddField( + model_name='source', + name='auto_subtitles', + field=models.BooleanField(default=False, help_text='Accept auto-generated subtitles', verbose_name='accept auto-generated subs'), + ), + migrations.AddField( + model_name='source', + name='sub_langs', + field=models.CharField(default='en', help_text='List of subtitles langs to download, comma-separated. Example: en,fr or all,-fr,-live_chat', max_length=30, validators=[django.core.validators.RegexValidator(message='Subtitle langs must be a comma-separated list of langs. example: en,fr or all,-fr,-live_chat', regex='^(\\-?[\\_\\.a-zA-Z]+,)*(\\-?[\\_\\.a-zA-Z]+){1}$')], verbose_name='subs langs'), + ), + ] From 7376e198c5f18557c29c915edcdff1bf812d19a5 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:06:53 -0400 Subject: [PATCH 02/23] Delete tubesync/sync/migrations/0020_auto_20231024_1825.py --- .../migrations/0020_auto_20231024_1825.py | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 tubesync/sync/migrations/0020_auto_20231024_1825.py diff --git a/tubesync/sync/migrations/0020_auto_20231024_1825.py b/tubesync/sync/migrations/0020_auto_20231024_1825.py deleted file mode 100644 index 295339a8..00000000 --- a/tubesync/sync/migrations/0020_auto_20231024_1825.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 3.2.22 on 2023-10-24 17:25 - -import django.core.validators -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('sync', '0019_add_delete_removed_media'), - ] - - operations = [ - migrations.AddField( - model_name='source', - name='filter_text', - field=models.CharField(blank=True, default='', help_text='Regex compatible filter string for video titles', max_length=100, verbose_name='filter string'), - ), - migrations.AlterField( - model_name='source', - name='auto_subtitles', - field=models.BooleanField(default=False, help_text='Accept auto-generated subtitles', verbose_name='accept auto-generated subs'), - ), - migrations.AlterField( - model_name='source', - name='sub_langs', - field=models.CharField(default='en', help_text='List of subtitles langs to download, comma-separated. Example: en,fr or all,-fr,-live_chat', max_length=30, validators=[django.core.validators.RegexValidator(message='Subtitle langs must be a comma-separated list of langs. example: en,fr or all,-fr,-live_chat', regex='^(\\-?[\\_\\.a-zA-Z]+,)*(\\-?[\\_\\.a-zA-Z]+){1}$')], verbose_name='subs langs'), - ), - ] From 03ae41c1659b73fecff78d123310419400d34c50 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:07:37 -0400 Subject: [PATCH 03/23] Update 0021_source_copy_channel_images.py --- tubesync/sync/migrations/0021_source_copy_channel_images.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0021_source_copy_channel_images.py b/tubesync/sync/migrations/0021_source_copy_channel_images.py index 5d568925..fce1f5be 100644 --- a/tubesync/sync/migrations/0021_source_copy_channel_images.py +++ b/tubesync/sync/migrations/0021_source_copy_channel_images.py @@ -6,7 +6,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('sync', '0020_auto_20231024_1825'), + ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), ] operations = [ From 9c2648790d9464b027811dca0ab321e40444c8db Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:09:26 -0400 Subject: [PATCH 04/23] Update 0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py --- .../0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py index acb1e384..16488a2c 100644 --- a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py +++ b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py @@ -17,7 +17,7 @@ class Migration(migrations.Migration): replaces = [('sync', '0011_auto_20220201_1654'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), ('sync', '0015_auto_20230213_0603'), ('sync', '0016_auto_20230214_2052'), ('sync', '0017_alter_source_sponsorblock_categories'), ('sync', '0018_source_subtitles'), ('sync', '0019_add_delete_removed_media'), ('sync', '0020_auto_20231024_1825')] dependencies = [ - ('sync', '0010_auto_20210924_0554'), + ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), ] operations = [ From 3e47da7870c1584757a533ff874fad60a3805663 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:23:43 -0400 Subject: [PATCH 05/23] Update 0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py --- ...1_1654_squashed_0020_auto_20231024_1825.py | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py index 16488a2c..5d66186b 100644 --- a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py +++ b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py @@ -11,6 +11,27 @@ from django.db import migrations, models # Move them and any dependencies into this file, then update the # RunPython operations to refer to the local versions: # sync.migrations.0013_fix_elative_media_file +from django.conf import settings +from pathlib import Path + +def fix_media_file(apps, schema_editor): + Media = apps.get_model('sync', 'Media') + download_dir = str(settings.DOWNLOAD_ROOT) + download_dir_path = Path(download_dir) + for media in Media.objects.filter(downloaded=True): + if media.media_file.path.startswith(download_dir): + media_path = Path(media.media_file.path) + relative_path = media_path.relative_to(download_dir_path) + media.media_file.name = str(relative_path) + media.save() + +# Function above has been copied/modified and RunPython operations adjusted. + +def media_file_location(): + return str(settings.DOWNLOAD_ROOT) + +# Used the above function for storage location. + class Migration(migrations.Migration): @@ -32,12 +53,13 @@ class Migration(migrations.Migration): field=models.CharField(blank=True, help_text='Video format (resolution) of the downloaded media', max_length=30, null=True, verbose_name='downloaded format'), ), migrations.RunPython( - code=sync.migrations.0013_fix_elative_media_file.fix_media_file, + code=fix_media_file, + reverse_code=migrations.RunPython.noop, ), migrations.AlterField( model_name='media', name='media_file', - field=models.FileField(blank=True, help_text='Media file', max_length=255, null=True, storage=django.core.files.storage.FileSystemStorage(base_url='/media-data/', location='/downloads'), upload_to=sync.models.get_media_file_path, verbose_name='media file'), + field=models.FileField(blank=True, help_text='Media file', max_length=255, null=True, storage=django.core.files.storage.FileSystemStorage(base_url='/media-data/', location=media_file_location()), upload_to=sync.models.get_media_file_path, verbose_name='media file'), ), migrations.AddField( model_name='media', From bd02f8e483b9f9b66418e874c98488b710f75900 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:29:59 -0400 Subject: [PATCH 06/23] Update 0001_initial_squashed_0010_auto_20210924_0554.py --- .../0001_initial_squashed_0010_auto_20210924_0554.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py index f356f8b1..462155f0 100644 --- a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -4,9 +4,14 @@ import django.core.files.storage import django.db.models.deletion import sync.models import uuid +from django.conf import settings from django.db import migrations, models +def media_file_location(): + return str(settings.DOWNLOAD_ROOT) + + class Migration(migrations.Migration): replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] @@ -75,7 +80,7 @@ class Migration(migrations.Migration): ('thumb_height', models.PositiveSmallIntegerField(blank=True, help_text='Height (Y) of the thumbnail', null=True, verbose_name='thumb height')), ('metadata', models.TextField(blank=True, help_text='JSON encoded metadata for the media', null=True, verbose_name='metadata')), ('can_download', models.BooleanField(db_index=True, default=False, help_text='Media has a matching format and can be downloaded', verbose_name='can download')), - ('media_file', models.FileField(blank=True, help_text='Media file', max_length=255, null=True, storage=django.core.files.storage.FileSystemStorage(location='/home/meeb/Repos/github.com/meeb/tubesync/tubesync/downloads'), upload_to=sync.models.get_media_file_path, verbose_name='media file')), + ('media_file', models.FileField(blank=True, help_text='Media file', max_length=255, null=True, storage=django.core.files.storage.FileSystemStorage(location=media_file_location()), upload_to=sync.models.get_media_file_path, verbose_name='media file')), ('skip', models.BooleanField(db_index=True, default=False, help_text='Media will be skipped and not downloaded', verbose_name='skip')), ('downloaded', models.BooleanField(db_index=True, default=False, help_text='Media has been downloaded', verbose_name='downloaded')), ('download_date', models.DateTimeField(blank=True, db_index=True, help_text='Date and time the download completed', null=True, verbose_name='download date')), From 8dba1a184da543d08167f45e38e8a1cd57b35daf Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:52:52 -0400 Subject: [PATCH 07/23] Update 0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py --- .../0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py index 5d66186b..05ee12da 100644 --- a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py +++ b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py @@ -89,7 +89,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='source', name='sponsorblock_categories', - field=sync.fields.CommaSepChoiceField(default='all', help_text='Select the sponsorblocks you want to enforce', max_length=128, possible_choices=('', ''), separator=''), + field=sync.fields.CommaSepChoiceField(default='all', help_text='Select the sponsorblocks you want to enforce', max_length=128, possible_choices=('', ''), separator=','), ), migrations.AddField( model_name='source', From 86b38a05e7cdc15e80162ea83201a2cdf3f6db10 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:58:37 -0400 Subject: [PATCH 08/23] Update 0001_squashed_0030_alter_source_source_vcodec.py --- .../migrations/0001_squashed_0030_alter_source_source_vcodec.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py index ac4e87eb..b3373f02 100644 --- a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py +++ b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py @@ -39,6 +39,7 @@ class Migration(migrations.Migration): replaces = [ ('sync', '0001_initial'), + ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), @@ -49,6 +50,7 @@ class Migration(migrations.Migration): ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554'), ('sync', '0011_auto_20220201_1654'), + ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), From b797abae5392c0679447821f82994e566ea82b63 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 22:59:44 -0400 Subject: [PATCH 09/23] Update 0001_initial_squashed_0010_auto_20210924_0554.py --- .../migrations/0001_initial_squashed_0010_auto_20210924_0554.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py index 462155f0..ef406985 100644 --- a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -16,6 +16,8 @@ class Migration(migrations.Migration): replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] + initial = True + dependencies = [ ] From 57c39fcc74710c3cb765f8f6739ec215fd563a0b Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:05:12 -0400 Subject: [PATCH 10/23] Rename tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py to tubesync/sync/0001_squashed_0030_alter_source_source_vcodec.py --- .../0001_squashed_0030_alter_source_source_vcodec.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tubesync/sync/{migrations => }/0001_squashed_0030_alter_source_source_vcodec.py (100%) diff --git a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/0001_squashed_0030_alter_source_source_vcodec.py similarity index 100% rename from tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py rename to tubesync/sync/0001_squashed_0030_alter_source_source_vcodec.py From f220c797bc9af744f813774c29891cf5d8f3df2e Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:07:56 -0400 Subject: [PATCH 11/23] Update 0031_metadata_metadataformat.py --- tubesync/sync/migrations/0031_metadata_metadataformat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0031_metadata_metadataformat.py b/tubesync/sync/migrations/0031_metadata_metadataformat.py index 00efa0f6..381dace4 100644 --- a/tubesync/sync/migrations/0031_metadata_metadataformat.py +++ b/tubesync/sync/migrations/0031_metadata_metadataformat.py @@ -9,7 +9,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('sync', '0001_squashed_0030_alter_source_source_vcodec'), + ('sync', '0030_alter_source_source_vcodec'), ] operations = [ From 9803d5890fc7bf9bb84035ab549d53958449d8d1 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:10:16 -0400 Subject: [PATCH 12/23] Rename tubesync/sync/0001_squashed_0030_alter_source_source_vcodec.py to tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py --- .../0001_squashed_0030_alter_source_source_vcodec.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tubesync/sync/{ => migrations}/0001_squashed_0030_alter_source_source_vcodec.py (100%) diff --git a/tubesync/sync/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py similarity index 100% rename from tubesync/sync/0001_squashed_0030_alter_source_source_vcodec.py rename to tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py From bcb3ae021525e0032e599f4b8456bf202489ca9c Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:13:03 -0400 Subject: [PATCH 13/23] Update 0001_squashed_0030_alter_source_source_vcodec.py --- .../migrations/0001_squashed_0030_alter_source_source_vcodec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py index b3373f02..1183f3d8 100644 --- a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py +++ b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py @@ -72,7 +72,7 @@ class Migration(migrations.Migration): ('sync', '0030_alter_source_source_vcodec'), ] - initial = True + initial = False dependencies = [ ] From a5c8a3587587cf49075317979c9736485f9e03dd Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:15:44 -0400 Subject: [PATCH 14/23] Update 0001_squashed_0030_alter_source_source_vcodec.py --- .../0001_squashed_0030_alter_source_source_vcodec.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py index 1183f3d8..9bdc03b9 100644 --- a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py +++ b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py @@ -39,7 +39,7 @@ class Migration(migrations.Migration): replaces = [ ('sync', '0001_initial'), - ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), + # ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), @@ -50,7 +50,7 @@ class Migration(migrations.Migration): ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554'), ('sync', '0011_auto_20220201_1654'), - ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), + # ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), @@ -72,7 +72,7 @@ class Migration(migrations.Migration): ('sync', '0030_alter_source_source_vcodec'), ] - initial = False + initial = True dependencies = [ ] From a2f8e7074c3f7bde251cedee7124007d67546c3d Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:19:54 -0400 Subject: [PATCH 15/23] Update 0001_initial_squashed_0010_auto_20210924_0554.py --- .../migrations/0001_initial_squashed_0010_auto_20210924_0554.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py index ef406985..bcee0775 100644 --- a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -16,7 +16,7 @@ class Migration(migrations.Migration): replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] - initial = True + initial = False dependencies = [ ] From 706a34d690699c80cf65ecccc6d8dab3c654e958 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:22:20 -0400 Subject: [PATCH 16/23] Update 0001_initial_squashed_0010_auto_20210924_0554.py --- .../migrations/0001_initial_squashed_0010_auto_20210924_0554.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py index bcee0775..ef406985 100644 --- a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -16,7 +16,7 @@ class Migration(migrations.Migration): replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] - initial = False + initial = True dependencies = [ ] From de26749409db329835850f05dae15337d793ae1d Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:24:41 -0400 Subject: [PATCH 17/23] Update 0001_squashed_0030_alter_source_source_vcodec.py --- ...quashed_0030_alter_source_source_vcodec.py | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py index 9bdc03b9..cc8ae868 100644 --- a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py +++ b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py @@ -38,28 +38,28 @@ def media_file_location(): class Migration(migrations.Migration): replaces = [ - ('sync', '0001_initial'), - # ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), - ('sync', '0002_auto_20201213_0817'), - ('sync', '0003_source_copy_thumbnails'), - ('sync', '0004_source_media_format'), - ('sync', '0005_auto_20201219_0312'), - ('sync', '0006_source_write_nfo'), - ('sync', '0007_auto_20201219_0645'), - ('sync', '0008_source_download_cap'), - ('sync', '0009_auto_20210218_0442'), - ('sync', '0010_auto_20210924_0554'), - ('sync', '0011_auto_20220201_1654'), - # ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), - ('sync', '0012_alter_media_downloaded_format'), - ('sync', '0013_fix_elative_media_file'), - ('sync', '0014_alter_media_media_file'), - ('sync', '0015_auto_20230213_0603'), - ('sync', '0016_auto_20230214_2052'), - ('sync', '0017_alter_source_sponsorblock_categories'), - ('sync', '0018_source_subtitles'), - ('sync', '0019_add_delete_removed_media'), - ('sync', '0020_auto_20231024_1825'), + # ('sync', '0001_initial'), + ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), + # ('sync', '0002_auto_20201213_0817'), + # ('sync', '0003_source_copy_thumbnails'), + # ('sync', '0004_source_media_format'), + # ('sync', '0005_auto_20201219_0312'), + # ('sync', '0006_source_write_nfo'), + # ('sync', '0007_auto_20201219_0645'), + # ('sync', '0008_source_download_cap'), + # ('sync', '0009_auto_20210218_0442'), + # ('sync', '0010_auto_20210924_0554'), + # ('sync', '0011_auto_20220201_1654'), + ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), + # ('sync', '0012_alter_media_downloaded_format'), + # ('sync', '0013_fix_elative_media_file'), + # ('sync', '0014_alter_media_media_file'), + # ('sync', '0015_auto_20230213_0603'), + # ('sync', '0016_auto_20230214_2052'), + # ('sync', '0017_alter_source_sponsorblock_categories'), + # ('sync', '0018_source_subtitles'), + # ('sync', '0019_add_delete_removed_media'), + # ('sync', '0020_auto_20231024_1825'), ('sync', '0021_source_copy_channel_images'), ('sync', '0022_add_delete_files_on_disk'), ('sync', '0023_media_duration_filter'), From 0152c971c99be82fc53141766ff7fd9fecc56363 Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:54:45 -0400 Subject: [PATCH 18/23] Update 0001_initial_squashed_0010_auto_20210924_0554.py --- .../migrations/0001_initial_squashed_0010_auto_20210924_0554.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py index ef406985..2c6bfa4a 100644 --- a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -14,7 +14,7 @@ def media_file_location(): class Migration(migrations.Migration): - replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] + # replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] initial = True From ca2e2c8ac5a60044a1215456d543ced90a3852ab Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 23 Apr 2025 23:55:47 -0400 Subject: [PATCH 19/23] Update 0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py --- .../0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py index 05ee12da..6b4c6d1c 100644 --- a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py +++ b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py @@ -35,7 +35,7 @@ def media_file_location(): class Migration(migrations.Migration): - replaces = [('sync', '0011_auto_20220201_1654'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), ('sync', '0015_auto_20230213_0603'), ('sync', '0016_auto_20230214_2052'), ('sync', '0017_alter_source_sponsorblock_categories'), ('sync', '0018_source_subtitles'), ('sync', '0019_add_delete_removed_media'), ('sync', '0020_auto_20231024_1825')] + # replaces = [('sync', '0011_auto_20220201_1654'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), ('sync', '0015_auto_20230213_0603'), ('sync', '0016_auto_20230214_2052'), ('sync', '0017_alter_source_sponsorblock_categories'), ('sync', '0018_source_subtitles'), ('sync', '0019_add_delete_removed_media'), ('sync', '0020_auto_20231024_1825')] dependencies = [ ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), From 79e7d885280a5ff673ce5aa47fa3ed08bd81873b Mon Sep 17 00:00:00 2001 From: tcely Date: Thu, 24 Apr 2025 00:00:16 -0400 Subject: [PATCH 20/23] Update 0001_initial_squashed_0010_auto_20210924_0554.py --- .../migrations/0001_initial_squashed_0010_auto_20210924_0554.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py index 2c6bfa4a..16ab1018 100644 --- a/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py +++ b/tubesync/sync/migrations/0001_initial_squashed_0010_auto_20210924_0554.py @@ -14,8 +14,6 @@ def media_file_location(): class Migration(migrations.Migration): - # replaces = [('sync', '0001_initial'), ('sync', '0002_auto_20201213_0817'), ('sync', '0003_source_copy_thumbnails'), ('sync', '0004_source_media_format'), ('sync', '0005_auto_20201219_0312'), ('sync', '0006_source_write_nfo'), ('sync', '0007_auto_20201219_0645'), ('sync', '0008_source_download_cap'), ('sync', '0009_auto_20210218_0442'), ('sync', '0010_auto_20210924_0554')] - initial = True dependencies = [ From d30b399301b1630b6baf57732b1ff28f5d58ca1e Mon Sep 17 00:00:00 2001 From: tcely Date: Thu, 24 Apr 2025 00:01:46 -0400 Subject: [PATCH 21/23] Update 0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py --- .../0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py index 6b4c6d1c..d37b749d 100644 --- a/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py +++ b/tubesync/sync/migrations/0011_auto_20220201_1654_squashed_0020_auto_20231024_1825.py @@ -35,8 +35,6 @@ def media_file_location(): class Migration(migrations.Migration): - # replaces = [('sync', '0011_auto_20220201_1654'), ('sync', '0012_alter_media_downloaded_format'), ('sync', '0013_fix_elative_media_file'), ('sync', '0014_alter_media_media_file'), ('sync', '0015_auto_20230213_0603'), ('sync', '0016_auto_20230214_2052'), ('sync', '0017_alter_source_sponsorblock_categories'), ('sync', '0018_source_subtitles'), ('sync', '0019_add_delete_removed_media'), ('sync', '0020_auto_20231024_1825')] - dependencies = [ ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), ] From fc0ab058a6687bcce6534759b24c453764d99dea Mon Sep 17 00:00:00 2001 From: tcely Date: Thu, 24 Apr 2025 00:05:08 -0400 Subject: [PATCH 22/23] Update 0031_metadata_metadataformat.py --- tubesync/sync/migrations/0031_metadata_metadataformat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/migrations/0031_metadata_metadataformat.py b/tubesync/sync/migrations/0031_metadata_metadataformat.py index 381dace4..00efa0f6 100644 --- a/tubesync/sync/migrations/0031_metadata_metadataformat.py +++ b/tubesync/sync/migrations/0031_metadata_metadataformat.py @@ -9,7 +9,7 @@ from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('sync', '0030_alter_source_source_vcodec'), + ('sync', '0001_squashed_0030_alter_source_source_vcodec'), ] operations = [ From 6d299a666178a2c8b69166eec9093d0e1d41f3fd Mon Sep 17 00:00:00 2001 From: tcely Date: Thu, 24 Apr 2025 00:08:11 -0400 Subject: [PATCH 23/23] Update 0001_squashed_0030_alter_source_source_vcodec.py --- ...quashed_0030_alter_source_source_vcodec.py | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py index cc8ae868..000bfc89 100644 --- a/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py +++ b/tubesync/sync/migrations/0001_squashed_0030_alter_source_source_vcodec.py @@ -38,28 +38,8 @@ def media_file_location(): class Migration(migrations.Migration): replaces = [ - # ('sync', '0001_initial'), ('sync', '0001_initial_squashed_0010_auto_20210924_0554'), - # ('sync', '0002_auto_20201213_0817'), - # ('sync', '0003_source_copy_thumbnails'), - # ('sync', '0004_source_media_format'), - # ('sync', '0005_auto_20201219_0312'), - # ('sync', '0006_source_write_nfo'), - # ('sync', '0007_auto_20201219_0645'), - # ('sync', '0008_source_download_cap'), - # ('sync', '0009_auto_20210218_0442'), - # ('sync', '0010_auto_20210924_0554'), - # ('sync', '0011_auto_20220201_1654'), ('sync', '0011_auto_20220201_1654_squashed_0020_auto_20231024_1825'), - # ('sync', '0012_alter_media_downloaded_format'), - # ('sync', '0013_fix_elative_media_file'), - # ('sync', '0014_alter_media_media_file'), - # ('sync', '0015_auto_20230213_0603'), - # ('sync', '0016_auto_20230214_2052'), - # ('sync', '0017_alter_source_sponsorblock_categories'), - # ('sync', '0018_source_subtitles'), - # ('sync', '0019_add_delete_removed_media'), - # ('sync', '0020_auto_20231024_1825'), ('sync', '0021_source_copy_channel_images'), ('sync', '0022_add_delete_files_on_disk'), ('sync', '0023_media_duration_filter'),