HKUDS/DeepTutor · error · ValueError
role must be 'admin' or 'user'
Error message
role must be 'admin' or 'user'
What it means
Error "role must be 'admin' or 'user'" thrown in HKUDS/DeepTutor.
Source
Thrown at deeptutor/multi_user/identity.py:338
target = directory / f"{user_id}.{ext}"
tmp = directory / f"{user_id}.{ext}.tmp"
tmp.write_bytes(data)
tmp.replace(target)
# A re-upload may change the extension; drop stale siblings.
for other in AVATAR_EXTENSIONS:
if other != ext:
(directory / f"{user_id}.{other}").unlink(missing_ok=True)
return target
def delete_avatar_file(user_id: str) -> None:
for ext in AVATAR_EXTENSIONS:
(_avatar_dir() / f"{user_id}.{ext}").unlink(missing_ok=True)
def set_role(username: str, role: Role) -> bool:
if role not in {"admin", "user"}:
raise ValueError("role must be 'admin' or 'user'")
if not USERS_FILE.exists():
return False
users = load_users()
if username not in users:
return False
users[username]["role"] = role
_write_users(users)
return True
def load_or_create_auth_secret() -> str:
migrate_legacy_multi_user_tree()
_migrate_secret()
try:
if SECRET_FILE.exists():
existing = SECRET_FILE.read_text(encoding="utf-8").strip()
if existing:
return existingView on GitHub (pinned to 3e82f13042)
When it happens
Trigger: Thrown at deeptutor/multi_user/identity.py:338 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27).
Data as JSON: /api/errors/e1bdc46cccd3a362.
Report an issue: GitHub.