47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
# tools/dummy_script/dummy.py
|
|
import time
|
|
import sys
|
|
import argparse
|
|
|
|
print("Dummy script started!")
|
|
sys.stdout.flush() # Assicura che l'output sia visibile subito
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--verbose", action="store_true", help="Enable verbose output")
|
|
parser.add_argument("--user-text", type=str, default="Default text", help="User provided text")
|
|
parser.add_argument("--iterations", type=int, default=1, help="Number of iterations")
|
|
parser.add_argument("--enable-feature", action="store_true", help="Boolean flag")
|
|
parser.add_argument("--output-dir", type=str, help="Output directory path")
|
|
|
|
try:
|
|
# Parse only known args defined above
|
|
# This prevents errors if ProjectUtility sends extra args not defined here yet
|
|
args, unknown = parser.parse_known_args()
|
|
|
|
if args.verbose:
|
|
print("Verbose mode enabled.")
|
|
print(f"Received unknown arguments: {unknown}") # Show args not defined in dummy.py
|
|
|
|
print(f"User text: {args.user_text}")
|
|
print(f"Iterations: {args.iterations}")
|
|
print(f"Feature enabled: {args.enable_feature}")
|
|
if args.output_dir:
|
|
print(f"Output directory: {args.output_dir}")
|
|
|
|
for i in range(args.iterations):
|
|
print(f"Processing iteration {i+1}...")
|
|
time.sleep(0.5) # Simulate work
|
|
if i % 2 == 0:
|
|
print(f"Standard output line {i+1}", file=sys.stdout)
|
|
else:
|
|
print(f"Error output line {i+1}", file=sys.stderr) # Print some errors too
|
|
sys.stdout.flush()
|
|
sys.stderr.flush()
|
|
|
|
print("Dummy script finished successfully.")
|
|
sys.exit(0) # Explicit success exit code
|
|
|
|
except Exception as e:
|
|
print(f"ERROR in dummy script: {e}", file=sys.stderr)
|
|
sys.stderr.flush()
|
|
sys.exit(1) # Explicit failure exit code |