def slide_bundle(bundle): cybox.utils.caches.cache_clear() setup_logger(bundle["id"]) stix_package = convert_bundle(bundle) validator_options = get_validator_options() if stix_package: xml = stix_package.to_xml(encoding=None) validator_options.in_files = io.StringIO(xml) try: scripts.set_output_level(validator_options) validation_results = scripts.validate_file( validator_options.in_files, validator_options) results = {stix_package.id_: validation_results} # Print stix-validator results scripts.print_results(results, validator_options) except (errors.ValidationError, IOError) as ex: scripts.error("Validation error occurred: '%s'" % str(ex), codes.EXIT_VALIDATION_ERROR) except Exception: log.exception("Fatal error occurred", extra={'ecode': 0}) sys.exit(codes.EXIT_FAILURE) return xml
def slide_file(fn, encoding="utf-8"): cybox.utils.caches.cache_clear() setup_logger(fn) validator_options = get_validator_options() with io.open(fn, "r", encoding=encoding) as json_data: json_content = json.load(json_data) obj = stix2.parse(json_content) stix_package = convert_bundle(obj) if stix_package: xml = stix_package.to_xml(encoding=None) validator_options.in_files = io.StringIO(xml) try: scripts.set_output_level(validator_options) validation_results = scripts.validate_file( validator_options.in_files, validator_options) results = {stix_package.id_: validation_results} # Print stix-validator results scripts.print_results(results, validator_options) except (errors.ValidationError, IOError) as ex: scripts.error("Validation error occurred: '%s'" % str(ex), codes.EXIT_VALIDATION_ERROR) except Exception: log.exception("Fatal error occurred", extra={'ecode': 0}) sys.exit(codes.EXIT_FAILURE) return xml
def main(): """Entry point for sdv.py. Parses and validates command line arguments and then does at least one of the following: * Validates instance document against schema/best practices/profile and prints results to stdout. * Converts a STIX profile into xslt and/or schematron formats * Prints an error to stderr and exit(1) """ parser = _get_arg_parser() args = parser.parse_args() try: # Validate the input command line arguments _validate_args(args) # Parse the input options options = _set_validation_options(args) # Set the output level (e.g., quiet vs. verbose) scripts.set_output_level(options) # Validate input documents results = scripts.run_validation(options) # Print validation results scripts.print_results(results, options) # Determine exit status code and exit. code = scripts.status_code(results) sys.exit(code) except scripts.ArgumentError as ex: if ex.show_help: parser.print_help() scripts.error(ex) except (errors.ValidationError, IOError) as ex: scripts.error( "Validation error occurred: '%s'" % str(ex), codes.EXIT_VALIDATION_ERROR ) except Exception: logging.exception("Fatal error occurred") sys.exit(codes.EXIT_FAILURE)
def main(): """Entry point for sdv.py. Parses and validates command line arguments and then does at least one of the following: * Validates instance document against schemas and prints results to stdout. * Prints an error to stderr and exit(1) """ parser = _get_arg_parser() args = parser.parse_args() try: # Validate the input command line arguments _validate_args(args) # Parse the input options options = _set_validation_options(args) # Set the output level (e.g., quiet vs. verbose) scripts.set_output_level(options) # Validate input documents results = scripts.run_validation(options) # Print validation results scripts.print_results(results, options) # Determine exit status code and exit. code = scripts.status_code(results) sys.exit(code) except scripts.ArgumentError as ex: if ex.show_help: parser.print_help() scripts.error(ex) except (errors.ValidationError, IOError) as ex: scripts.error( "Validation error occurred: '%s'" % str(ex), codes.EXIT_VALIDATION_ERROR ) except Exception: logging.exception("Fatal error occurred") sys.exit(codes.EXIT_FAILURE)
def main(): # Main for profile-to-sch.py parser = _get_arg_parser() args = parser.parse_args() try: # Assume valid XML, prep profile for conversion options = scripts.ValidationOptions() options.in_profile = args.profile # Convert the profile _convert_profile(options) # If no exception was thrown, then conversion was successful. sys.exit(codes.EXIT_SUCCESS) except scripts.ArgumentError as ex: if ex.show_help: parser.print_help() scripts.error(ex) except Exception: logging.exception("Fatal error occurred") sys.exit(codes.EXIT_FAILURE)