1. import os
  2. import time
  3. import logging
  4. import sys
  5. # Configure logging
  6. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
  7. def guard_directory(directory_path, interval=60):
  8. """
  9. Guards execution of a directory for monitoring purposes.
  10. Args:
  11. directory_path (str): The path to the directory to guard.
  12. interval (int): The monitoring interval in seconds.
  13. """
  14. try:
  15. # Ensure directory exists
  16. if not os.path.isdir(directory_path):
  17. raise ValueError(f"Directory '{directory_path}' does not exist.")
  18. # Start monitoring loop
  19. while True:
  20. try:
  21. # Check if directory has been modified
  22. last_modified = os.path.getmtime(directory_path)
  23. current_modified = os.path.getmtime(directory_path)
  24. if current_modified > last_modified:
  25. logging.info(f"Directory '{directory_path}' has been modified.")
  26. else:
  27. logging.info(f"Directory '{directory_path}' has not been modified.")
  28. except OSError as e:
  29. logging.error(f"Error accessing directory '{directory_path}': {e}")
  30. time.sleep(interval)
  31. except ValueError as ve:
  32. logging.error(ve)
  33. except Exception as e:
  34. logging.exception(f"An unexpected error occurred: {e}")
  35. if __name__ == '__main__':
  36. if len(sys.argv) != 2:
  37. print("Usage: python guard_directory.py <directory_path>")
  38. sys.exit(1)
  39. directory_to_guard = sys.argv[1]
  40. guard_directory(directory_to_guard)

Add your comment