mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
* fix: /select-file on deleted file exception, detail: https://github.com/OpenDevin/OpenDevin/issues/1028 * fix: lint. * fix: lint. --------- Co-authored-by: aaren.xzh <aaren.xzh@antfin.com>
This commit is contained in:
parent
88e31f91d8
commit
8e4c4c9946
@ -6,6 +6,9 @@ export type WorkspaceFile = {
|
||||
export async function selectFile(file: string): Promise<string> {
|
||||
const res = await fetch(`/api/select-file?file=${file}`);
|
||||
const data = await res.json();
|
||||
if (res.status !== 200) {
|
||||
throw new Error(data.error);
|
||||
}
|
||||
return data.code as string;
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ import uuid
|
||||
from pathlib import Path
|
||||
|
||||
import litellm
|
||||
from fastapi import Depends, FastAPI, WebSocket
|
||||
from fastapi import Depends, FastAPI, WebSocket, Response
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
@ -13,6 +13,7 @@ from starlette.responses import JSONResponse
|
||||
import agenthub # noqa F401 (we import this to get the agents registered)
|
||||
from opendevin import config, files
|
||||
from opendevin.agent import Agent
|
||||
from opendevin.logger import opendevin_logger as logger
|
||||
from opendevin.server.agent import agent_manager
|
||||
from opendevin.server.auth import get_sid_from_token, sign_token
|
||||
from opendevin.server.session import message_stack, session_manager
|
||||
@ -126,8 +127,15 @@ def refresh_files():
|
||||
|
||||
@app.get('/api/select-file')
|
||||
def select_file(file: str):
|
||||
with open(Path(Path(str(config.get('WORKSPACE_BASE'))), file), 'r') as selected_file:
|
||||
content = selected_file.read()
|
||||
try:
|
||||
workspace_base = config.get('WORKSPACE_BASE')
|
||||
file_path = Path(workspace_base, file)
|
||||
with open(file_path, 'r') as selected_file:
|
||||
content = selected_file.read()
|
||||
except Exception as e:
|
||||
logger.error(f'Error opening file {file}: {e}', exc_info=False)
|
||||
error_msg = f'Error opening file: {e}'
|
||||
return Response(f'{{"error": "{error_msg}"}}', status_code=500)
|
||||
return {'code': content}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user