def create_histogram(parent_filename): database = MongoOperations( collection_database_url(os.environ[DATABASE_URL], os.environ[DATABASE_REPLICA_SET]), os.environ[DATABASE_PORT], os.environ[DATABASE_NAME], ) request_validator = HistogramRequestValidator(database) try: request_validator.histogram_filename_validator( request.json[HISTOGRAM_FILENAME_NAME]) except Exception as invalid_histogram_filename: return ( jsonify({ MESSAGE_RESULT: invalid_histogram_filename.args[FIRST_ARGUMENT] }), HTTP_STATUS_CODE_CONFLICT, ) try: request_validator.filename_validator(parent_filename) except Exception as invalid_filename: return ( jsonify({MESSAGE_RESULT: invalid_filename.args[FIRST_ARGUMENT]}), HTTP_STATUS_CODE_NOT_ACCEPTABLE, ) try: request_validator.fields_validator(parent_filename, request.json[FIELDS_NAME]) except Exception as invalid_fields: return ( jsonify({MESSAGE_RESULT: invalid_fields.args[FIRST_ARGUMENT]}), HTTP_STATUS_CODE_NOT_ACCEPTABLE, ) histogram = Histogram(database) histogram.create_histogram( parent_filename, request.json[HISTOGRAM_FILENAME_NAME], request.json[FIELDS_NAME], ) return ( jsonify({MESSAGE_RESULT: MESSAGE_CREATED_FILE}), HTTP_STATUS_CODE_SUCESS_CREATED, )
def reports(scanner): if args.excel: rp = ReportCreator(scanner.get_report_list(), dirs['reports']) rp.excel_report() if args.graph: try: from graphcreator import ToGraph graph = ToGraph(scanner.get_report_list()) graph.write_graph() except ImportError as exc: logger.exception(exc) print( "You need graph-tool installed to draw a graph, please visit https://graph-tool.skewed.de/" ) if args.histogram: ist = Histogram(scanner.get_report_list()) ist.create_histogram()