Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import os
import shutil
from distutils import dir_util
from concurrent.futures import ThreadPoolExecutor

from yang_generator.api_model import Bits, Class, Enum, Package, get_property_name
from yang_generator.common import get_rst_file_name
Expand Down Expand Up @@ -48,8 +49,9 @@ def _print_modules(self):
only_modules = [package.stmt for package in self.packages]
size = len(only_modules)

for index, package in enumerate(self.packages):
self._print_module(index, package, size)
with ThreadPoolExecutor(max_workers=3) as executor:
for index, package in enumerate(self.packages):
job = executor.submit(lambda p : self._print_module(*p), [index, package, size])

def _print_module(self, index, package, size):
print('Processing %d of %d %s' % (index + 1, size, package.stmt.pos.ref))
Expand Down Expand Up @@ -186,4 +188,4 @@ def emit_module(ctx, package, extra_args):


def emit_nmsp_declare_init(ctx, package):
InitPrinter(ctx).print_nmsp_declare_init(package)
InitPrinter(ctx).print_nmsp_declare_init(package)