@@ -157,6 +157,7 @@ def get_single_char(console: Optional[Console] = None, end: str = "\n",
157157 type = click .STRING ,
158158 default = None ,
159159 show_default = True ,
160+ metavar = "Profile-ID" ,
160161 help = "Identifier of the profile to use for validation" ,
161162)
162163@click .option (
@@ -198,7 +199,17 @@ def get_single_char(console: Optional[Console] = None, end: str = "\n",
198199 type = click .STRING ,
199200 default = None ,
200201 show_default = True ,
201- help = "List of checks to skip"
202+ metavar = "Fully-Qualified-Check-IDs" ,
203+ help = (
204+ "[bold yellow]Fully-Qualified-Check-IDs[/bold yellow] is a comma-separated list of checks to skip "
205+ "(may be specified multiple times). Each check must be specified by its "
206+ "Fully Qualified Identifier, e.g., [bold cyan]ro-crate-1.1_12.1[/bold cyan]. The fully qualified "
207+ "check identifier has the format <Profile-ID>_<Requirement_#>.<RequirementCheck_#>, "
208+ "where <Requirement_#> is the position number of the Requirement in the profile, "
209+ "and <RequirementCheck_#> is the position number of the RequirementCheck within that Requirement. "
210+ "You can find the Fully-Qualified-Check IDs using: "
211+ "[bold orange1]rocrate-validator profiles describe <Profile-ID> -v[/bold orange1]"
212+ ),
202213)
203214@click .option (
204215 '-v' ,
@@ -281,6 +292,25 @@ def validate(ctx,
281292 if rocrate_uri :
282293 logger .debug ("rocrate_path: %s" , os .path .abspath (rocrate_uri ))
283294
295+ # Parse the skip_checks option
296+ logger .debug ("skip_checks: %s" , skip_checks )
297+ # Parse the skip_checks option
298+ skip_checks_list = []
299+ if skip_checks :
300+ try :
301+ for s in skip_checks :
302+ skip_checks_list .extend (_ .strip () for _ in s .split ("," ) if _ .strip ())
303+ logger .debug ("skip_checks_list: %s" , skip_checks_list )
304+ except Exception as e :
305+ logger .error ("Error parsing skip_checks: %s" , e )
306+ if logger .isEnabledFor (logging .DEBUG ):
307+ logger .exception ("Error parsing skip_checks: %s" , e )
308+ raise ValueError (
309+ f"Invalid skip_checks value: { s } . "
310+ "It must be a comma-separated list of Fully Qualified Check IDs."
311+ )
312+ logger .debug ("Skip checks: %s" , skip_checks_list )
313+
284314 try :
285315 # Validation settings
286316 validation_settings = {
@@ -291,7 +321,7 @@ def validate(ctx,
291321 "enable_profile_inheritance" : not disable_profile_inheritance ,
292322 "rocrate_uri" : rocrate_uri ,
293323 "abort_on_first" : fail_fast ,
294- "skip_checks" : skip_checks
324+ "skip_checks" : skip_checks_list
295325 }
296326
297327 # Print the application header
0 commit comments