import os
import time
import logging
import sys
# Configure logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
def guard_directory(directory_path, interval=60):
"""
Guards execution of a directory for monitoring purposes.
Args:
directory_path (str): The path to the directory to guard.
interval (int): The monitoring interval in seconds.
"""
try:
# Ensure directory exists
if not os.path.isdir(directory_path):
raise ValueError(f"Directory '{directory_path}' does not exist.")
# Start monitoring loop
while True:
try:
# Check if directory has been modified
last_modified = os.path.getmtime(directory_path)
current_modified = os.path.getmtime(directory_path)
if current_modified > last_modified:
logging.info(f"Directory '{directory_path}' has been modified.")
else:
logging.info(f"Directory '{directory_path}' has not been modified.")
except OSError as e:
logging.error(f"Error accessing directory '{directory_path}': {e}")
time.sleep(interval)
except ValueError as ve:
logging.error(ve)
except Exception as e:
logging.exception(f"An unexpected error occurred: {e}")
if __name__ == '__main__':
if len(sys.argv) != 2:
print("Usage: python guard_directory.py <directory_path>")
sys.exit(1)
directory_to_guard = sys.argv[1]
guard_directory(directory_to_guard)
Add your comment