enums.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from enum import StrEnum
  2. class FileType(StrEnum):
  3. IMAGE = "image"
  4. DOCUMENT = "document"
  5. AUDIO = "audio"
  6. VIDEO = "video"
  7. CUSTOM = "custom"
  8. @staticmethod
  9. def value_of(value):
  10. for member in FileType:
  11. if member.value == value:
  12. return member
  13. raise ValueError(f"No matching enum found for value '{value}'")
  14. class FileTransferMethod(StrEnum):
  15. REMOTE_URL = "remote_url"
  16. LOCAL_FILE = "local_file"
  17. TOOL_FILE = "tool_file"
  18. @staticmethod
  19. def value_of(value):
  20. for member in FileTransferMethod:
  21. if member.value == value:
  22. return member
  23. raise ValueError(f"No matching enum found for value '{value}'")
  24. class FileBelongsTo(StrEnum):
  25. USER = "user"
  26. ASSISTANT = "assistant"
  27. @staticmethod
  28. def value_of(value):
  29. for member in FileBelongsTo:
  30. if member.value == value:
  31. return member
  32. raise ValueError(f"No matching enum found for value '{value}'")
  33. class FileAttribute(StrEnum):
  34. TYPE = "type"
  35. SIZE = "size"
  36. NAME = "name"
  37. MIME_TYPE = "mime_type"
  38. TRANSFER_METHOD = "transfer_method"
  39. URL = "url"
  40. EXTENSION = "extension"
  41. class ArrayFileAttribute(StrEnum):
  42. LENGTH = "length"