From 22a6a0e6ef96055b7e50c58dcff27520d9de4e9e Mon Sep 17 00:00:00 2001 From: Bernardo Meurer Date: Mon, 13 Aug 2018 22:44:45 -0300 Subject: [PATCH] Parallelized absubmit --- beetsplug/absubmit.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/beetsplug/absubmit.py b/beetsplug/absubmit.py index 0c288b9d8..b8080fda5 100644 --- a/beetsplug/absubmit.py +++ b/beetsplug/absubmit.py @@ -25,6 +25,7 @@ import os import subprocess import tempfile +from multiprocessing import Pool from distutils.spawn import find_executable import requests @@ -102,12 +103,16 @@ class AcousticBrainzSubmitPlugin(plugins.BeetsPlugin): return [cmd] def command(self, lib, opts, args): + # Create threadpool + pool = Pool() # Get items from arguments items = lib.items(ui.decargs(args)) - for item in items: - analysis = self._get_analysis(item) - if analysis: - self._submit_data(item, analysis) + pool.map(self.analyze_submit, items) + + def analyze_submit(self, item): + analysis = self._get_analysis(item) + if analysis: + self._submit_data(item, analysis) def _get_analysis(self, item): mbid = item['mb_trackid']