|
|
|
""" |
|
Script to update the GAIA agent with the fixed version. |
|
|
|
This script backs up the original agent.py file and replaces it with the fixed version. |
|
""" |
|
|
|
import os |
|
import sys |
|
import shutil |
|
import datetime |
|
import logging |
|
|
|
|
|
logging.basicConfig( |
|
level=logging.INFO, |
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', |
|
handlers=[ |
|
logging.StreamHandler(), |
|
logging.FileHandler("update_agent.log", encoding="utf-8") |
|
] |
|
) |
|
logger = logging.getLogger("update_agent") |
|
|
|
def backup_file(file_path): |
|
""" |
|
Create a backup of a file. |
|
|
|
Args: |
|
file_path: Path to the file to backup |
|
|
|
Returns: |
|
Path to the backup file |
|
""" |
|
if not os.path.exists(file_path): |
|
logger.error(f"File not found: {file_path}") |
|
return None |
|
|
|
|
|
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") |
|
backup_path = f"{file_path}.{timestamp}.bak" |
|
|
|
try: |
|
shutil.copy2(file_path, backup_path) |
|
logger.info(f"Created backup: {backup_path}") |
|
return backup_path |
|
except Exception as e: |
|
logger.error(f"Error creating backup: {str(e)}") |
|
return None |
|
|
|
def update_file(source_path, target_path): |
|
""" |
|
Update a file with the contents of another file. |
|
|
|
Args: |
|
source_path: Path to the source file |
|
target_path: Path to the target file |
|
|
|
Returns: |
|
True if successful, False otherwise |
|
""" |
|
if not os.path.exists(source_path): |
|
logger.error(f"Source file not found: {source_path}") |
|
return False |
|
|
|
try: |
|
shutil.copy2(source_path, target_path) |
|
logger.info(f"Updated file: {target_path}") |
|
return True |
|
except Exception as e: |
|
logger.error(f"Error updating file: {str(e)}") |
|
return False |
|
|
|
def main(): |
|
"""Update the GAIA agent with the fixed version.""" |
|
|
|
original_agent_path = "agent/agent.py" |
|
fixed_agent_path = "agent/agent_fixed.py" |
|
|
|
|
|
backup_path = backup_file(original_agent_path) |
|
if not backup_path: |
|
logger.error("Failed to create backup. Aborting update.") |
|
sys.exit(1) |
|
|
|
|
|
if update_file(fixed_agent_path, original_agent_path): |
|
logger.info("Successfully updated the GAIA agent with the fixed version.") |
|
print(f"Original agent backed up to: {backup_path}") |
|
print(f"Agent updated with fixed version.") |
|
else: |
|
logger.error("Failed to update the GAIA agent.") |
|
sys.exit(1) |
|
|
|
if __name__ == "__main__": |
|
main() |