aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2024-03-15 15:50:47 +0800
committer苏向夜 <fu050409@163.com>2024-03-15 15:50:47 +0800
commit1436b5763c38a6cee8a70bbba4aa9172e018496f (patch)
treea2b85af00598d3d5b52c1ca9741568580b3fc4eb
parenta51a0d791da9e7b4e945b5338f40f9d960ad813d (diff)
downloadinfini-1436b5763c38a6cee8a70bbba4aa9172e018496f.tar.gz
infini-1436b5763c38a6cee8a70bbba4aa9172e018496f.zip
feat(router): add namespace for router
-rw-r--r--src/infini/router.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/infini/router.py b/src/infini/router.py
index 3adc08dd..4e025a15 100644
--- a/src/infini/router.py
+++ b/src/infini/router.py
@@ -1,14 +1,16 @@
-from infini.typing import Sequence, Literal
+from typing import Optional
+from infini.typing import Sequence, Literal, Tuple
from infini.input import Input
class Router:
type: Literal["text"] = "text"
- signs: set[str]
+ signs: Tuple[str, ...]
def __init__(self, sign: str, alias: Sequence[str] = []) -> None:
- self.signs = {sign}
- self.signs.update(alias)
+ signs = {sign}
+ signs.update(alias)
+ self.signs = tuple(signs)
def __eq__(self, __router: "Router") -> bool:
return __router.type == self.type and __router.signs == self.signs
@@ -17,6 +19,10 @@ class Router:
text = plain_text.strip()
return any([text == sign for sign in self.signs])
+ @property
+ def namespace(self) -> Optional[str]:
+ return self.signs[0] if self.signs else None
+
class Startswith(Router):
name: Literal["startswith"] = "startswith"