diff --git a/app.py b/app.py index aeee37b..da9dabb 100644 --- a/app.py +++ b/app.py @@ -140,6 +140,13 @@ def delete_user_via_php(uid, drupal_path): except subprocess.CalledProcessError as e: logging.error(f"Błąd PHP delete UID {uid}: {e.stderr}") +def confirm_delete(): + answer = input("❗ Czy na pewno chcesz USUNĄĆ użytkowników? [tak/N]: ").strip().lower() + if answer not in ("tak", "t", "yes", "y"): + print("❌ Operacja anulowana.") + sys.exit(0) + + def main(): signal.signal(signal.SIGINT, lambda s, f: sys.exit("\n🛑 Przerwano przez użytkownika.")) load_dotenv() @@ -172,7 +179,8 @@ def main(): parser.add_argument('--password') parser.add_argument('--database') parser.add_argument('--days-inactive', type=int) - parser.add_argument('--dry-run', action='store_true') + parser.add_argument('--dry-run', action='store_true', default=None, + help='Tryb podglądu (domyślny jeśli nie podano --delete)') parser.add_argument('--delete', action='store_true') parser.add_argument('--validate', action='store_true') parser.add_argument('--flush-cache', action='store_true') @@ -190,6 +198,9 @@ def main(): args = parser.parse_args() + if args.delete is False and args.dry_run is None: + args.dry_run = True + if args.flush_cache: flush_redis_cache() return @@ -272,6 +283,7 @@ def main(): print(f"- Pominięci jako aktywni weterani: {skipped_veterans}") if args.delete: + confirm_delete() if not args.drupal_path: print("❌ Brak parametru --drupal-path. Nie można usunąć użytkowników bez ścieżki do Drupala.") sys.exit(1)