diff options
| author | 2018-11-05 11:56:28 +0000 | |
|---|---|---|
| committer | 2018-11-05 11:56:28 +0000 | |
| commit | 9c233cd4dd0db236ea735bc443e75425c4af1992 (patch) | |
| tree | 945ca9ba9c82cd7cc70a70322da94cf6ace84378 /src | |
| parent | Refactor IRCServer .connect() logic (diff) | |
| signature | ||
Add src.utils.parse.keyvalue, mostly for IRCv3 CAP negotiation
Diffstat (limited to 'src')
| -rw-r--r-- | src/utils/parse.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/utils/parse.py b/src/utils/parse.py index 03a585c2..4fa3bb79 100644 --- a/src/utils/parse.py +++ b/src/utils/parse.py @@ -55,3 +55,13 @@ def docstring(s: str) -> Docstring: description += line return Docstring(description, items, var_items) +def keyvalue(s, delimiter: str=" ") -> typing.Dict[str, str]: + items = {} + pairs = s.split(delimiter) + for pair in pairs: + key, sep, value = pair.partition("=") + if sep: + items[key] = value + else: + items[key] = None + return items |
