mirror of
https://github.com/chatmail/core.git
synced 2026-04-28 19:06:35 +03:00
make group left messages call the ac_member_removed hook, as per wishes from @adbenitez
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
1.40.x
|
||||||
|
---------------
|
||||||
|
|
||||||
|
- emit "ac_member_removed" event (with 'actor' being the removed contact)
|
||||||
|
for when a user leaves a group.
|
||||||
|
|
||||||
|
|
||||||
1.40.0
|
1.40.0
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|||||||
@@ -374,7 +374,7 @@ def extract_addr(text):
|
|||||||
if m:
|
if m:
|
||||||
text = m.group(1)
|
text = m.group(1)
|
||||||
text = text.rstrip(".")
|
text = text.rstrip(".")
|
||||||
return text
|
return text.strip()
|
||||||
|
|
||||||
|
|
||||||
def parse_system_add_remove(text):
|
def parse_system_add_remove(text):
|
||||||
@@ -386,8 +386,14 @@ def parse_system_add_remove(text):
|
|||||||
# Member x@y added by a@b
|
# Member x@y added by a@b
|
||||||
# Member With space (tmp1@x.org) removed by tmp2@x.org.
|
# Member With space (tmp1@x.org) removed by tmp2@x.org.
|
||||||
# Member With space (tmp1@x.org) removed by Another member (tmp2@x.org).",
|
# Member With space (tmp1@x.org) removed by Another member (tmp2@x.org).",
|
||||||
|
# Group left by some one (tmp1@x.org).
|
||||||
|
# Group left by tmp1@x.org.
|
||||||
text = text.lower()
|
text = text.lower()
|
||||||
m = re.match(r'member (.+) (removed|added) by (.+)', text)
|
m = re.match(r'member (.+) (removed|added) by (.+)', text)
|
||||||
if m:
|
if m:
|
||||||
affected, action, actor = m.groups()
|
affected, action, actor = m.groups()
|
||||||
return action, extract_addr(affected), extract_addr(actor)
|
return action, extract_addr(affected), extract_addr(actor)
|
||||||
|
if text.startswith("group left by "):
|
||||||
|
addr = extract_addr(text[13:])
|
||||||
|
if addr:
|
||||||
|
return "removed", addr, addr
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ from datetime import datetime, timedelta
|
|||||||
("removed", "tmp1@x.org", "tmp2@x.org")),
|
("removed", "tmp1@x.org", "tmp2@x.org")),
|
||||||
("Member With space (tmp1@x.org) removed by me",
|
("Member With space (tmp1@x.org) removed by me",
|
||||||
("removed", "tmp1@x.org", "me")),
|
("removed", "tmp1@x.org", "me")),
|
||||||
|
("Group left by some one (tmp1@x.org).",
|
||||||
|
("removed", "tmp1@x.org", "tmp1@x.org")),
|
||||||
|
("Group left by tmp1@x.org.",
|
||||||
|
("removed", "tmp1@x.org", "tmp1@x.org")),
|
||||||
("Member tmp1@x.org added by tmp2@x.org.", ("added", "tmp1@x.org", "tmp2@x.org")),
|
("Member tmp1@x.org added by tmp2@x.org.", ("added", "tmp1@x.org", "tmp2@x.org")),
|
||||||
("Member nothing bla bla", None),
|
("Member nothing bla bla", None),
|
||||||
("Another unknown system message", None),
|
("Another unknown system message", None),
|
||||||
|
|||||||
Reference in New Issue
Block a user