from parsl.app.errors import ParslError

from typing import List


class OptionalModuleMissing(ParslError):
    ''' Error raised when a required module is missing for a optional/extra component
    '''

    def __init__(self, module_names: List[str], reason: str):
        self.module_names = module_names
        self.reason = reason

    def __str__(self) -> str:
        return "The functionality requested requires missing optional modules {0}, because: {1}".format(
            self.module_names, self.reason
        )

@@ -412,24 +412,16 @@
 equires 
-missing 
 optional
@@ -432,16 +432,44 @@
 ules %7B0%7D
+ which could not be imported
 , becaus

Rephrase optional module missing error (#2215)