Added docker support

This commit is contained in:
Jett Jackson
2018-10-30 14:15:49 +08:00
parent 97e7e792f8
commit 84b0c2e861
108 changed files with 240 additions and 16 deletions

View File

@ -0,0 +1,102 @@
# Generated by Django 2.1.2 on 2018-10-11 00:19
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Channel',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('channel_id', models.TextField(unique=True)),
('username', models.TextField(null=True, unique=True)),
('custom_url', models.TextField(null=True, unique=True)),
('name', models.TextField()),
('description', models.TextField()),
('icon_default', models.TextField()),
('icon_best', models.TextField()),
('upload_playlist_id', models.TextField()),
],
),
migrations.CreateModel(
name='Subscription',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.TextField()),
('playlist_id', models.TextField(unique=True)),
('description', models.TextField()),
('icon_default', models.TextField()),
('icon_best', models.TextField()),
('auto_download', models.BooleanField(null=True)),
('download_limit', models.IntegerField(null=True)),
('download_order', models.TextField(null=True)),
('manager_delete_after_watched', models.BooleanField(null=True)),
('channel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='YtManagerApp.Channel')),
],
),
migrations.CreateModel(
name='SubscriptionFolder',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.TextField()),
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='YtManagerApp.SubscriptionFolder')),
],
),
migrations.CreateModel(
name='UserSettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('mark_deleted_as_watched', models.BooleanField(null=True)),
('delete_watched', models.BooleanField(null=True)),
('auto_download', models.BooleanField(null=True)),
('download_global_limit', models.IntegerField(null=True)),
('download_subscription_limit', models.IntegerField(null=True)),
('download_order', models.TextField(null=True)),
('download_path', models.TextField(null=True)),
('download_file_pattern', models.TextField(null=True)),
('download_format', models.TextField(null=True)),
('download_subtitles', models.BooleanField(null=True)),
('download_autogenerated_subtitles', models.BooleanField(null=True)),
('download_subtitles_all', models.BooleanField(null=True)),
('download_subtitles_langs', models.TextField(null=True)),
('download_subtitles_format', models.TextField(null=True)),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Video',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('video_id', models.TextField()),
('name', models.TextField()),
('description', models.TextField()),
('watched', models.BooleanField(default=False)),
('downloaded_path', models.TextField(blank=True, null=True)),
('playlist_index', models.IntegerField()),
('publish_date', models.DateTimeField()),
('icon_default', models.TextField()),
('icon_best', models.TextField()),
('subscription', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='YtManagerApp.Subscription')),
],
),
migrations.AddField(
model_name='subscription',
name='parent_folder',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='YtManagerApp.SubscriptionFolder'),
),
migrations.AddField(
model_name='subscription',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]

View File

@ -0,0 +1,22 @@
# Generated by Django 2.1.2 on 2018-10-11 18:16
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('YtManagerApp', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='subscriptionfolder',
name='user',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
]

View File

@ -0,0 +1,29 @@
# Generated by Django 2.1.2 on 2018-10-13 17:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('YtManagerApp', '0002_subscriptionfolder_user'),
]
operations = [
migrations.AddField(
model_name='video',
name='rating',
field=models.FloatField(default=0.5),
),
migrations.AddField(
model_name='video',
name='uploader_name',
field=models.TextField(default=None),
preserve_default=False,
),
migrations.AddField(
model_name='video',
name='views',
field=models.IntegerField(default=0),
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 2.1.2 on 2018-10-14 14:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('YtManagerApp', '0003_auto_20181013_2018'),
]
operations = [
migrations.AlterField(
model_name='subscriptionfolder',
name='name',
field=models.CharField(max_length=250),
),
]

View File

@ -0,0 +1,134 @@
# Generated by Django 2.1.2 on 2018-10-26 17:13
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.functions.text
class Migration(migrations.Migration):
dependencies = [
('YtManagerApp', '0004_auto_20181014_1702'),
]
operations = [
migrations.AlterModelOptions(
name='subscriptionfolder',
options={'ordering': [django.db.models.functions.text.Lower('parent__name'), django.db.models.functions.text.Lower('name')]},
),
migrations.AlterField(
model_name='subscription',
name='auto_download',
field=models.BooleanField(blank=True, null=True),
),
migrations.AlterField(
model_name='subscription',
name='download_limit',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='subscription',
name='download_order',
field=models.CharField(blank=True, choices=[('newest', 'Newest'), ('oldest', 'Oldest'), ('playlist', 'Playlist order'), ('playlist_reverse', 'Reverse playlist order'), ('popularity', 'Popularity'), ('rating', 'Top rated')], max_length=128, null=True),
),
migrations.AlterField(
model_name='subscription',
name='icon_best',
field=models.CharField(max_length=1024),
),
migrations.AlterField(
model_name='subscription',
name='icon_default',
field=models.CharField(max_length=1024),
),
migrations.AlterField(
model_name='subscription',
name='manager_delete_after_watched',
field=models.BooleanField(blank=True, null=True),
),
migrations.AlterField(
model_name='subscription',
name='name',
field=models.CharField(max_length=1024),
),
migrations.AlterField(
model_name='subscription',
name='parent_folder',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='YtManagerApp.SubscriptionFolder'),
),
migrations.AlterField(
model_name='subscription',
name='playlist_id',
field=models.CharField(max_length=128),
),
migrations.AlterField(
model_name='usersettings',
name='auto_download',
field=models.BooleanField(blank=True, help_text='Enables or disables automatic downloading.', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='delete_watched',
field=models.BooleanField(blank=True, help_text='Videos marked as watched are automatically deleted.', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_autogenerated_subtitles',
field=models.BooleanField(blank=True, help_text='Enables downloading the automatically generated subtitle. The flag is passed directly to youtube-dl. You can find more information <a href="https://github.com/rg3/youtube-dl/blob/master/README.md#subtitle-options">here</a>.', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_file_pattern',
field=models.CharField(blank=True, help_text='A pattern which describes how downloaded files are organized. Extensions are automatically appended. You can use the following fields, using the <code>${field}</code> syntax: channel, channel_id, playlist, playlist_id, playlist_index, title, id. Example: <code>${channel}/${playlist}/S01E${playlist_index} - ${title} [${id}]</code>', max_length=1024, null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_format',
field=models.CharField(blank=True, help_text='Download format that will be passed to youtube-dl. See the <a href="https://github.com/rg3/youtube-dl/blob/master/README.md#format-selection"> youtube-dl documentation</a> for more details.', max_length=256, null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_global_limit',
field=models.IntegerField(blank=True, help_text='Limits the total number of videos downloaded (-1 = no limit).', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_order',
field=models.CharField(blank=True, choices=[('newest', 'Newest'), ('oldest', 'Oldest'), ('playlist', 'Playlist order'), ('playlist_reverse', 'Reverse playlist order'), ('popularity', 'Popularity'), ('rating', 'Top rated')], help_text='The order in which videos will be downloaded.', max_length=100, null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_path',
field=models.CharField(blank=True, help_text='Path on the disk where downloaded videos are stored. You can use environment variables using syntax: <code>${env:...}</code>', max_length=1024, null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_subscription_limit',
field=models.IntegerField(blank=True, help_text='Limits the number of videos downloaded per subscription (-1 = no limit). This setting can be overriden for each individual subscription in the subscription edit dialog.', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_subtitles',
field=models.BooleanField(blank=True, help_text='Enable downloading subtitles for the videos. The flag is passed directly to youtube-dl. You can find more information <a href="https://github.com/rg3/youtube-dl/blob/master/README.md#subtitle-options">here</a>.', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_subtitles_all',
field=models.BooleanField(blank=True, help_text='If enabled, all the subtitles in all the available languages will be downloaded. The flag is passed directly to youtube-dl. You can find more information <a href="https://github.com/rg3/youtube-dl/blob/master/README.md#subtitle-options">here</a>.', null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_subtitles_format',
field=models.CharField(blank=True, help_text='Subtitles format preference. Examples: srt/ass/best The flag is passed directly to youtube-dl. You can find more information <a href="https://github.com/rg3/youtube-dl/blob/master/README.md#subtitle-options">here</a>.', max_length=100, null=True),
),
migrations.AlterField(
model_name='usersettings',
name='download_subtitles_langs',
field=models.CharField(blank=True, help_text='Comma separated list of languages for which subtitles will be downloaded. The flag is passed directly to youtube-dl. You can find more information <a href="https://github.com/rg3/youtube-dl/blob/master/README.md#subtitle-options">here</a>.', max_length=250, null=True),
),
migrations.AlterField(
model_name='usersettings',
name='mark_deleted_as_watched',
field=models.BooleanField(blank=True, help_text="When a downloaded video is deleted from the system, it will be marked as 'watched'.", null=True),
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 2.1.2 on 2018-10-26 23:56
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('YtManagerApp', '0005_auto_20181026_2013'),
]
operations = [
migrations.RenameField(
model_name='subscription',
old_name='manager_delete_after_watched',
new_name='delete_after_watched',
),
]

View File

@ -0,0 +1,32 @@
# Generated by Django 2.1.2 on 2018-10-29 16:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('YtManagerApp', '0006_auto_20181027_0256'),
]
operations = [
migrations.RemoveField(
model_name='subscription',
name='channel',
),
migrations.AddField(
model_name='subscription',
name='channel_id',
field=models.CharField(default='test', max_length=128),
preserve_default=False,
),
migrations.AddField(
model_name='subscription',
name='channel_name',
field=models.CharField(default='Unknown', max_length=1024),
preserve_default=False,
),
migrations.DeleteModel(
name='Channel',
),
]

View File