kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
62 wiersze
1.7 KiB
Python
62 wiersze
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
import os
|
|
|
|
from django.db import migrations, models
|
|
from funkwhale_api.common.utils import rename_file
|
|
|
|
|
|
def rename_files(apps, schema_editor):
|
|
"""
|
|
This migration script is utterly broken and made me redownload all my audio files.
|
|
So next time -> Write some actual tests before running a migration script
|
|
on thousand of tracks...
|
|
"""
|
|
return
|
|
# TrackFile = apps.get_model("music", "TrackFile")
|
|
# qs = TrackFile.objects.select_related(
|
|
# 'track__album__artist', 'track__artist')
|
|
# total = len(qs)
|
|
#
|
|
#
|
|
# for i, tf in enumerate(qs):
|
|
# try:
|
|
# new_name = '{} - {} - {}'.format(
|
|
# tf.track.artist.name,
|
|
# tf.track.album.title,
|
|
# tf.track.title,
|
|
# )
|
|
# except AttributeError:
|
|
# new_name = '{} - {}'.format(
|
|
# tf.track.artist.name,
|
|
# tf.track.title,
|
|
# )
|
|
# rename_file(
|
|
# instance=tf,
|
|
# field_name='audio_file',
|
|
# allow_missing_file=True,
|
|
# new_name=new_name)
|
|
# print('Renamed file {}/{} (new name: {})'.format(
|
|
# i + 1, total, tf.audio_file.name
|
|
# ))
|
|
|
|
|
|
def rewind(apps, schema_editor):
|
|
pass
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('music', '0010_auto_20160920_1742'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AlterField(
|
|
model_name='trackfile',
|
|
name='audio_file',
|
|
field=models.FileField(upload_to='tracks/%Y/%m/%d', max_length=255),
|
|
),
|
|
migrations.RunPython(rename_files, rewind),
|
|
]
|