mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 09:14:59 +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",
|
metavar="COMMAND",
|
||||||
help="Specify a single message to send GPT, process reply then exit (disables chat mode)",
|
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(
|
other_group.add_argument(
|
||||||
"--encoding",
|
"--encoding",
|
||||||
default="utf-8",
|
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}")
|
io.tool_error(f"Git working dir: {git_root}")
|
||||||
|
|
||||||
if args.message:
|
if args.message:
|
||||||
|
io.add_to_input_history(args.message)
|
||||||
io.tool_output()
|
io.tool_output()
|
||||||
coder.run(with_message=args.message)
|
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:
|
else:
|
||||||
coder.run()
|
coder.run()
|
||||||
|
|
||||||
|
|
|
@ -182,6 +182,19 @@ class TestMain(TestCase):
|
||||||
_, kwargs = MockCoder.call_args
|
_, kwargs = MockCoder.call_args
|
||||||
assert kwargs["dirty_commits"] is True
|
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):
|
def test_encodings_arg(self):
|
||||||
fname = "foo.py"
|
fname = "foo.py"
|
||||||
|
|
||||||
|
@ -196,3 +209,13 @@ class TestMain(TestCase):
|
||||||
MockSend.side_effect = side_effect
|
MockSend.side_effect = side_effect
|
||||||
|
|
||||||
main(["--yes", fname, "--encoding", "iso-8859-15"])
|
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