mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
Fix read and write operations when LLM asks for absolute path (#126)
* fix resolution of filepaths * fix imports * Update write.py
This commit is contained in:
parent
e445f92281
commit
8a64d7c912
@ -1,7 +1,7 @@
|
||||
import os
|
||||
from .util import resolve_path
|
||||
|
||||
def read(base_path, file_path):
|
||||
file_path = os.path.join(base_path, file_path)
|
||||
file_path = resolve_path(base_path, file_path)
|
||||
with open(file_path, 'r') as file:
|
||||
return file.read()
|
||||
|
||||
|
||||
10
opendevin/lib/actions/util.py
Normal file
10
opendevin/lib/actions/util.py
Normal file
@ -0,0 +1,10 @@
|
||||
import os
|
||||
|
||||
# This is the path where the workspace is mounted in the container
|
||||
# The LLM sometimes returns paths with this prefix, so we need to remove it
|
||||
PATH_PREFIX = "/workspace/"
|
||||
|
||||
def resolve_path(base_path, file_path):
|
||||
if file_path.startswith(PATH_PREFIX):
|
||||
file_path = file_path[len(PATH_PREFIX):]
|
||||
return os.path.join(base_path, file_path)
|
||||
@ -1,8 +1,8 @@
|
||||
import os
|
||||
from .util import resolve_path
|
||||
|
||||
def write(base_path, path, contents):
|
||||
path = os.path.join(base_path, path)
|
||||
with open(path, 'w') as file:
|
||||
def write(base_path, file_path, contents):
|
||||
file_path = resolve_path(base_path, file_path)
|
||||
with open(file_path, 'w') as file:
|
||||
file.write(contents)
|
||||
return ""
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user