from parsl.app.errors import ParslError


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

    def __init__(self, module_names, reason):
        self.module_names = module_names
        self.reason = reason

    def __repr__(self):
        return "The functionality requested requires a missing optional module:{0},  Reason:{1}".format(
            self.module_names, self.reason
        )

@@ -34,16 +34,41 @@
 lError%0A%0A
+from typing import List%0A%0A
 %0Aclass O
@@ -235,16 +235,27 @@
 ames
+: List%5Bstr%5D
 , reason
 ):%0A 
@@ -250,16 +250,21 @@
 , reason
+: str
 ):%0A     
@@ -343,11 +343,10 @@
 f __
-rep
+st
 r__(
@@ -350,16 +350,23 @@
 __(self)
+ -%3E str
 :%0A      
@@ -412,18 +412,16 @@
 equires 
-a 
 missing 
@@ -439,22 +439,24 @@
 dule
-:
+s 
 %7B0%7D, 
- Reason:
+because: 
 %7B1%7D%22

Rework __repr__ and __str__ for OptionalModuleMissing (#2025)