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 8a99156cb0c477bd371910ef1bbb0a193a2bf52b..a34e36b4b322753a38928545bd30cebdc83434f5 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']))