mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 00:35:00 +00:00
Merge branch 'main' into openai-upgrade
This commit is contained in:
commit
922a56b194
2 changed files with 41 additions and 0 deletions
|
@ -377,6 +377,12 @@ def main(argv=None, input=None, output=None, force_git_root=None):
|
|||
metavar="COMMAND",
|
||||
help="Specify a single message to send GPT, process reply then exit (disables chat mode)",
|
||||
)
|
||||
other_group.add_argument(
|
||||
"--message-file",
|
||||
"-f",
|
||||
metavar="MESSAGE_FILE",
|
||||
help="Specify a file containing the message to send GPT, process reply, then exit (disables chat mode)",
|
||||
)
|
||||
other_group.add_argument(
|
||||
"--encoding",
|
||||
default="utf-8",
|
||||
|
@ -568,8 +574,20 @@ def main(argv=None, input=None, output=None, force_git_root=None):
|
|||
io.tool_error(f"Git working dir: {git_root}")
|
||||
|
||||
if args.message:
|
||||
io.add_to_input_history(args.message)
|
||||
io.tool_output()
|
||||
coder.run(with_message=args.message)
|
||||
elif args.message_file:
|
||||
try:
|
||||
message_from_file = io.read_text(args.message_file)
|
||||
io.tool_output()
|
||||
coder.run(with_message=message_from_file)
|
||||
except FileNotFoundError:
|
||||
io.tool_error(f"Message file not found: {args.message_file}")
|
||||
return 1
|
||||
except IOError as e:
|
||||
io.tool_error(f"Error reading message file: {e}")
|
||||
return 1
|
||||
else:
|
||||
coder.run()
|
||||
|
||||
|
|
|
@ -182,6 +182,19 @@ class TestMain(TestCase):
|
|||
_, kwargs = MockCoder.call_args
|
||||
assert kwargs["dirty_commits"] is True
|
||||
|
||||
def test_message_file_flag(self):
|
||||
message_file_content = "This is a test message from a file."
|
||||
message_file_path = tempfile.mktemp()
|
||||
with open(message_file_path, 'w', encoding='utf-8') as message_file:
|
||||
message_file.write(message_file_content)
|
||||
|
||||
with patch("aider.main.Coder.create") as MockCoder:
|
||||
MockCoder.return_value.run = MagicMock()
|
||||
main(["--yes", "--message-file", message_file_path], input=DummyInput(), output=DummyOutput())
|
||||
MockCoder.return_value.run.assert_called_once_with(with_message=message_file_content)
|
||||
|
||||
os.remove(message_file_path)
|
||||
|
||||
def test_encodings_arg(self):
|
||||
fname = "foo.py"
|
||||
|
||||
|
@ -196,3 +209,13 @@ class TestMain(TestCase):
|
|||
MockSend.side_effect = side_effect
|
||||
|
||||
main(["--yes", fname, "--encoding", "iso-8859-15"])
|
||||
@patch("aider.main.InputOutput")
|
||||
@patch("openai.ChatCompletion.create")
|
||||
def test_main_message_adds_to_input_history(self, mock_chat_completion, MockInputOutput):
|
||||
test_message = "test message"
|
||||
mock_io_instance = MockInputOutput.return_value
|
||||
mock_chat_completion.return_value = MagicMock(choices=[{"text": "mocked response"}])
|
||||
|
||||
main(["--message", test_message], input=DummyInput(), output=DummyOutput())
|
||||
|
||||
mock_io_instance.add_to_input_history.assert_called_once_with(test_message)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue