mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-10 12:35:55 +02:00
26 lines
833 B
Python
26 lines
833 B
Python
import errno
|
|
|
|
from fastapi import HTTPException
|
|
|
|
from open_webui.constants import ERROR_MESSAGES
|
|
|
|
|
|
OS_ERROR_MESSAGES = {
|
|
errno.ENAMETOOLONG: 'File name is too long.',
|
|
errno.ENOSPC: 'The server is out of storage space.',
|
|
errno.EDQUOT: 'Server storage quota exceeded.',
|
|
errno.EACCES: 'Server storage is not writable.',
|
|
errno.EPERM: 'Server storage is not writable.',
|
|
errno.EROFS: 'Server storage is not writable.',
|
|
}
|
|
|
|
|
|
def error_detail(exc: Exception, fallback: str = '') -> str:
|
|
if isinstance(exc, HTTPException) and exc.detail:
|
|
return exc.detail if isinstance(exc.detail, str) else ERROR_MESSAGES.DEFAULT(fallback)
|
|
|
|
if isinstance(exc, OSError) and exc.errno in OS_ERROR_MESSAGES:
|
|
return ERROR_MESSAGES.DEFAULT(OS_ERROR_MESSAGES[exc.errno])
|
|
|
|
return ERROR_MESSAGES.DEFAULT(fallback)
|