|
-
-
- from enum import Enum
-
-
- class ContextType(Enum):
- TEXT = 1
- VOICE = 2
- IMAGE = 3
- FILE = 4
- VIDEO = 5
- SHARING = 6
-
- IMAGE_CREATE = 10
- ACCEPT_FRIEND = 19
- JOIN_GROUP = 20
- PATPAT = 21
- FUNCTION = 22
- EXIT_GROUP = 23
-
-
- def __str__(self):
- return self.name
-
-
- class Context:
- def __init__(self, type: ContextType = None, content=None, kwargs=dict()):
- self.type = type
- self.content = content
- self.kwargs = kwargs
-
- def __contains__(self, key):
- if key == "type":
- return self.type is not None
- elif key == "content":
- return self.content is not None
- else:
- return key in self.kwargs
-
- def __getitem__(self, key):
- if key == "type":
- return self.type
- elif key == "content":
- return self.content
- else:
- return self.kwargs[key]
-
- def get(self, key, default=None):
- try:
- return self[key]
- except KeyError:
- return default
-
- def __setitem__(self, key, value):
- if key == "type":
- self.type = value
- elif key == "content":
- self.content = value
- else:
- self.kwargs[key] = value
-
- def __delitem__(self, key):
- if key == "type":
- self.type = None
- elif key == "content":
- self.content = None
- else:
- del self.kwargs[key]
-
- def __str__(self):
- return "Context(type={}, content={}, kwargs={})".format(self.type, self.content, self.kwargs)
|