fix chdir
This commit is contained in:
+34
-46
@@ -2,7 +2,6 @@
|
||||
|
||||
import logging
|
||||
import re
|
||||
import os
|
||||
import subprocess
|
||||
from abc import ABC, abstractmethod
|
||||
from typing import Any, Callable
|
||||
@@ -677,55 +676,44 @@ class AgentDispatcher:
|
||||
workspace = WorkspaceManager()
|
||||
repo_path = workspace.get_repo_path(repo)
|
||||
|
||||
original_cwd = os.getcwd()
|
||||
changed_dir = False
|
||||
if os.path.isdir(str(repo_path)):
|
||||
os.chdir(str(repo_path))
|
||||
changed_dir = True
|
||||
|
||||
results: list[str] = []
|
||||
# Get authenticated username for reviewer filter
|
||||
ai_username = "meeks-ai"
|
||||
try:
|
||||
# Get authenticated username for reviewer filter
|
||||
ai_username = "meeks-ai"
|
||||
try:
|
||||
user = self._client.get_authenticated_user()
|
||||
if user:
|
||||
ai_username = user.login
|
||||
except Exception:
|
||||
pass
|
||||
user = self._client.get_authenticated_user()
|
||||
if user:
|
||||
ai_username = user.login
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
for item in work_items:
|
||||
processor: TaskProcessor
|
||||
if item.task_type == "pr":
|
||||
processor = PRTaskProcessor(
|
||||
client=self._client,
|
||||
tools=self._tools,
|
||||
model_name=self._model_name,
|
||||
repo=repo,
|
||||
item=item,
|
||||
ai_username=ai_username,
|
||||
)
|
||||
elif item.task_type == "issue":
|
||||
processor = IssueTaskProcessor(
|
||||
client=self._client,
|
||||
tools=self._tools,
|
||||
model_name=self._model_name,
|
||||
repo=repo,
|
||||
item=item,
|
||||
ai_username=ai_username,
|
||||
)
|
||||
else:
|
||||
logger.warning(f"Unknown task type: {item.task_type}")
|
||||
results.append(f"SKIP: Unknown task type {item.task_type}")
|
||||
continue
|
||||
for item in work_items:
|
||||
processor: TaskProcessor
|
||||
if item.task_type == "pr":
|
||||
processor = PRTaskProcessor(
|
||||
client=self._client,
|
||||
tools=self._tools,
|
||||
model_name=self._model_name,
|
||||
repo=repo,
|
||||
item=item,
|
||||
ai_username=ai_username,
|
||||
)
|
||||
elif item.task_type == "issue":
|
||||
processor = IssueTaskProcessor(
|
||||
client=self._client,
|
||||
tools=self._tools,
|
||||
model_name=self._model_name,
|
||||
repo=repo,
|
||||
item=item,
|
||||
ai_username=ai_username,
|
||||
)
|
||||
else:
|
||||
logger.warning(f"Unknown task type: {item.task_type}")
|
||||
results.append(f"SKIP: Unknown task type {item.task_type}")
|
||||
continue
|
||||
|
||||
logger.info(f"Processing {item.task_type} #{item.task_number} via {processor.__class__.__name__}")
|
||||
result = await processor.process(attempt_limit=self._max_retries)
|
||||
results.append(result)
|
||||
|
||||
finally:
|
||||
if changed_dir:
|
||||
os.chdir(original_cwd)
|
||||
logger.info(f"Processing {item.task_type} #{item.task_number} via {processor.__class__.__name__}")
|
||||
result = await processor.process(attempt_limit=self._max_retries)
|
||||
results.append(result)
|
||||
|
||||
return results
|
||||
|
||||
|
||||
Reference in New Issue
Block a user