diff --git a/api/funkwhale_api/__init__.py b/api/funkwhale_api/__init__.py index c46b89cc9..0168bc25a 100644 --- a/api/funkwhale_api/__init__.py +++ b/api/funkwhale_api/__init__.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -__version__ = '0.2.1' +__version__ = '0.2.2' __version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace('-', '.', 1).split('.')]) diff --git a/api/funkwhale_api/music/tests/factories.py b/api/funkwhale_api/music/tests/factories.py index dfa7a75e2..d4ec04810 100644 --- a/api/funkwhale_api/music/tests/factories.py +++ b/api/funkwhale_api/music/tests/factories.py @@ -1,4 +1,7 @@ import factory +import os + +SAMPLES_PATH = os.path.dirname(os.path.abspath(__file__)) class ArtistFactory(factory.django.DjangoModelFactory): @@ -33,7 +36,8 @@ class TrackFactory(factory.django.DjangoModelFactory): class TrackFileFactory(factory.django.DjangoModelFactory): track = factory.SubFactory(TrackFactory) - audio_file = factory.django.FileField() + audio_file = factory.django.FileField( + from_path=os.path.join(SAMPLES_PATH, 'test.ogg')) class Meta: model = 'music.TrackFile' diff --git a/api/funkwhale_api/providers/audiofile/management/commands/import_files.py b/api/funkwhale_api/providers/audiofile/management/commands/import_files.py index 8a99156cb..a34e36b4b 100644 --- a/api/funkwhale_api/providers/audiofile/management/commands/import_files.py +++ b/api/funkwhale_api/providers/audiofile/management/commands/import_files.py @@ -29,7 +29,17 @@ class Command(BaseCommand): def handle(self, *args, **options): # self.stdout.write(self.style.SUCCESS('Successfully closed poll "%s"' % poll_id)) - matching = glob.glob(options['path'], recursive=options['recursive']) + + # Recursive is supported only on Python 3.5+, so we pass the option + # only if it's True to avoid breaking on older versions of Python + glob_kwargs = {} + if options['recursive']: + glob_kwargs['recursive'] = True + try: + matching = glob.glob(options['path'], **glob_kwargs) + except TypeError: + raise Exception('You need Python 3.5 to use the --recursive flag') + self.stdout.write('This will import {} files matching this pattern: {}'.format( len(matching), options['path'])) diff --git a/front/package.json b/front/package.json index 7cec50319..55e773fba 100644 --- a/front/package.json +++ b/front/package.json @@ -18,6 +18,7 @@ "js-logger": "^1.3.0", "semantic-ui-css": "^2.2.10", "vue": "^2.3.3", + "vue-global-events": "^1.0.2", "vue-resource": "^1.3.4", "vue-router": "^2.3.1", "vuedraggable": "^2.14.1" diff --git a/front/src/audio/queue.js b/front/src/audio/queue.js index 25b27f00e..77fe6bf2b 100644 --- a/front/src/audio/queue.js +++ b/front/src/audio/queue.js @@ -86,6 +86,8 @@ class Queue { cache.remove('queue') } setVolume (newValue) { + newValue = Math.min(newValue, 1) + newValue = Math.max(newValue, 0) this.state.volume = newValue if (this.audio.setVolume) { this.audio.setVolume(newValue) @@ -94,7 +96,9 @@ class Queue { } cache.set('volume', newValue) } - + incrementVolume (value) { + this.setVolume(this.state.volume + value) + } reorder (oldIndex, newIndex) { // called when the user uses drag / drop to reorder // tracks in queue diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index e39dd16b9..0ce16a75f 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -87,10 +87,15 @@
+