mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 17:49:16 +02:00
Now store remote library tracks in a dedicated model, this is much simpler
This commit is contained in:
parent
f273faf9de
commit
b29ca44797
17 changed files with 555 additions and 394 deletions
|
@ -128,11 +128,73 @@ class LibraryFactory(factory.DjangoModelFactory):
|
|||
url = factory.Faker('url')
|
||||
federation_enabled = True
|
||||
download_files = False
|
||||
autoimport = False
|
||||
|
||||
class Meta:
|
||||
model = models.Library
|
||||
|
||||
|
||||
class ArtistMetadataFactory(factory.Factory):
|
||||
name = factory.Faker('name')
|
||||
|
||||
class Meta:
|
||||
model = dict
|
||||
|
||||
class Params:
|
||||
musicbrainz = factory.Trait(
|
||||
musicbrainz_id=factory.Faker('uuid4')
|
||||
)
|
||||
|
||||
|
||||
class ReleaseMetadataFactory(factory.Factory):
|
||||
title = factory.Faker('sentence')
|
||||
|
||||
class Meta:
|
||||
model = dict
|
||||
|
||||
class Params:
|
||||
musicbrainz = factory.Trait(
|
||||
musicbrainz_id=factory.Faker('uuid4')
|
||||
)
|
||||
|
||||
|
||||
class RecordingMetadataFactory(factory.Factory):
|
||||
title = factory.Faker('sentence')
|
||||
|
||||
class Meta:
|
||||
model = dict
|
||||
|
||||
class Params:
|
||||
musicbrainz = factory.Trait(
|
||||
musicbrainz_id=factory.Faker('uuid4')
|
||||
)
|
||||
|
||||
|
||||
@registry.register(name='federation.LibraryTrackMetadata')
|
||||
class LibraryTrackMetadataFactory(factory.Factory):
|
||||
artist = factory.SubFactory(ArtistMetadataFactory)
|
||||
recording = factory.SubFactory(RecordingMetadataFactory)
|
||||
release = factory.SubFactory(ReleaseMetadataFactory)
|
||||
|
||||
class Meta:
|
||||
model = dict
|
||||
|
||||
|
||||
@registry.register
|
||||
class LibraryTrackFactory(factory.DjangoModelFactory):
|
||||
library = factory.SubFactory(LibraryFactory)
|
||||
url = factory.Faker('url')
|
||||
title = factory.Faker('sentence')
|
||||
artist_name = factory.Faker('sentence')
|
||||
album_title = factory.Faker('sentence')
|
||||
audio_url = factory.Faker('url')
|
||||
audio_mimetype = 'audio/ogg'
|
||||
metadata = factory.SubFactory(LibraryTrackMetadataFactory)
|
||||
|
||||
class Meta:
|
||||
model = models.LibraryTrack
|
||||
|
||||
|
||||
@registry.register(name='federation.Note')
|
||||
class NoteFactory(factory.Factory):
|
||||
type = 'Note'
|
||||
|
@ -189,7 +251,7 @@ class AudioFactory(factory.Factory):
|
|||
)
|
||||
actor = factory.Faker('url')
|
||||
url = factory.SubFactory(LinkFactory, audio=True)
|
||||
metadata = factory.SubFactory(AudioMetadataFactory)
|
||||
metadata = factory.SubFactory(LibraryTrackMetadataFactory)
|
||||
|
||||
class Meta:
|
||||
model = dict
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue