@@ -108,18 +108,15 @@ def _load(self, tooltype: AvailableToolType, toolname: str) -> DocumentModel:
108108 # Resolve package and filename from dotted path
109109 components = toolname .rsplit ("." , 1 )
110110 if len (components ) != 2 :
111- raise BadToolNameError (
112- f'Not a valid toolname: "{ toolname } ". '
113- f'Expected format: "packagename.filename"'
114- )
111+ msg = f'Not a valid toolname: "{ toolname } ". Expected format: "packagename.filename"'
112+ raise BadToolNameError (msg )
115113 package , filename = components
116114
117115 try :
118116 pkg_dir = importlib .resources .files (package )
119117 if not pkg_dir .is_dir ():
120- raise BadToolNameError (
121- f"Cannot load { toolname } because { pkg_dir } is not a valid directory."
122- )
118+ msg = f"Cannot load { toolname } because { pkg_dir } is not a valid directory."
119+ raise BadToolNameError (msg )
123120 filepath = pkg_dir .joinpath (filename + ".yaml" )
124121 with filepath .open () as fh :
125122 raw = yaml .safe_load (fh )
@@ -128,17 +125,14 @@ def _load(self, tooltype: AvailableToolType, toolname: str) -> DocumentModel:
128125 header = raw .get ("seclab-taskflow-agent" , {})
129126 filetype = header .get ("filetype" , "" )
130127 if filetype != tooltype .value :
131- raise FileTypeException (
132- f"Error in { filepath } : expected filetype { tooltype .value !r} , "
133- f"got { filetype !r} ."
134- )
128+ msg = f"Error in { filepath } : expected filetype { tooltype .value !r} , got { filetype !r} ."
129+ raise FileTypeException (msg )
135130
136131 # Parse into the appropriate Pydantic model
137132 model_cls = DOCUMENT_MODELS .get (filetype )
138133 if model_cls is None :
139- raise BadToolNameError (
140- f"Unknown filetype { filetype !r} in { toolname } "
141- )
134+ msg = f"Unknown filetype { filetype !r} in { toolname } "
135+ raise BadToolNameError (msg )
142136
143137 try :
144138 doc = model_cls (** raw )
@@ -147,21 +141,19 @@ def _load(self, tooltype: AvailableToolType, toolname: str) -> DocumentModel:
147141 for err in exc .errors ():
148142 if "Unsupported version" in str (err .get ("msg" , "" )):
149143 raise VersionException (str (err ["msg" ])) from exc
150- raise BadToolNameError (
151- f"Validation error loading { toolname } : { exc } "
152- ) from exc
153-
154- # Cache and return
144+ msg = f"Validation error loading { toolname } : { exc } "
145+ raise BadToolNameError (msg ) from exc
155146 if tooltype not in self ._cache :
156147 self ._cache [tooltype ] = {}
157148 self ._cache [tooltype ][toolname ] = doc
158149 return doc
159150
160151 except ModuleNotFoundError as exc :
161- raise BadToolNameError (f"Cannot load { toolname } : { exc } " ) from exc
152+ msg = f"Cannot load { toolname } : { exc } "
153+ raise BadToolNameError (msg ) from exc
162154 except FileNotFoundError :
163- raise BadToolNameError (
164- f"Cannot load { toolname } because { filepath } is not a valid file."
165- )
155+ msg = f"Cannot load { toolname } because { filepath } is not a valid file."
156+ raise BadToolNameError (msg )
166157 except ValueError as exc :
167- raise BadToolNameError (f"Cannot load { toolname } : { exc } " ) from exc
158+ msg = f"Cannot load { toolname } : { exc } "
159+ raise BadToolNameError (msg ) from exc
0 commit comments