"""
f0_make_randomvalues: Random number generator function block.
Generates random integer data for FGDB system.
Usage: python func.py -o {output_folder} [-n {number}]
"""
import argparse
import sys
from pathlib import Path
from lib import (
generate_random_numbers,
save_data_to_csv,
load_data_from_csv,
display_data,
write_function_notation
)
def main():
"""Main execution function."""
parser = argparse.ArgumentParser(
description='Generate random numbers and save to CSV file.'
)
parser.add_argument(
'-o', '--output',
required=True,
help='Output folder path'
)
parser.add_argument(
'-n', '--number',
type=int,
default=5,
help='Number of random integers to generate (default: 5)'
)
args = parser.parse_args()
try:
# Create output directory
output_path = Path(args.output)
output_path.mkdir(parents=True, exist_ok=True)
# Generate random numbers
print(f"Generating {args.number} random numbers...")
data = generate_random_numbers(args.number)
# Save to CSV
csv_path = output_path / 'data.csv'
print(f"Saving data to {csv_path}...")
save_data_to_csv(data, str(csv_path))
# Write function notation
func_path = output_path / 'func.txt'
print(f"Writing function notation to {func_path}...")
write_function_notation(str(func_path))
# Load and display data
print("Loading and displaying data...")
loaded_data = load_data_from_csv(str(csv_path))
display_data(loaded_data)
print("Execution completed successfully.")
return 0
except Exception as e:
print(f"Error: {e}", file=sys.stderr)
return 1
if __name__ == '__main__':
sys.exit(main())