home · contact · privacy
Minor refactoring.
authorChristian Heller <c.heller@plomlompom.de>
Fri, 30 May 2025 21:09:03 +0000 (23:09 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Fri, 30 May 2025 21:09:03 +0000 (23:09 +0200)
ircplom.py

index f8dcc2e860cd04f7275fd69d359290292c765489..a9ad65e49efd6e7bfed453af7b820a73b641e2ea 100755 (executable)
@@ -196,15 +196,14 @@ class Connection:
 
 class IrcMessage:
     'Properly structured representation of IRC message as per IRCv3 spec.'
+    _raw: Optional[str] = None
 
     def __init__(self,
                  verb: str,
                  parameters: Optional[list[str]] = None,
                  source: str = '',
-                 tags: Optional[dict[str, str]] = None,
-                 raw: Optional[str] = None
+                 tags: Optional[dict[str, str]] = None
                  ) -> None:
-        self._raw = raw
         self.verb: str = verb
         self.parameters: list[str] = parameters or []
         self.source: str = source
@@ -271,8 +270,9 @@ class IrcMessage:
                 if stage.prefix_char:
                     continue
             harvest[stage.name] += char
-        return cls(**{s.name: s.processor(harvest[s.name]) for s in stages},
-                   raw=raw_msg)
+        msg = cls(**{s.name: s.processor(harvest[s.name]) for s in stages})
+        msg._raw = raw_msg
+        return msg
 
     @property
     def raw(self) -> str: