summaryrefslogtreecommitdiff
path: root/poezio/core/handlers.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-02-03 21:04:36 +0100
committermathieui <mathieui@mathieui.net>2021-02-09 19:16:03 +0100
commit2cfe56bbbe47c9bf8aa87c48324091e90623d43f (patch)
tree59a426fb8535c76d6a23bff2801849328effa6f2 /poezio/core/handlers.py
parentae0888bd3d6892f3da3ff0d7c3cbb60f61653f6c (diff)
downloadpoezio-2cfe56bbbe47c9bf8aa87c48324091e90623d43f.tar.gz
poezio-2cfe56bbbe47c9bf8aa87c48324091e90623d43f.tar.bz2
poezio-2cfe56bbbe47c9bf8aa87c48324091e90623d43f.tar.xz
poezio-2cfe56bbbe47c9bf8aa87c48324091e90623d43f.zip
Remove activity/mood/gaming/tune from poezio core
rationale: probably 0.1% of poezio users have ever used the commands, and a very small number of users are using the PEP events like that. It is better to unclutter the poezio source and add it as a plugin, with less tight coupling.
Diffstat (limited to 'poezio/core/handlers.py')
-rw-r--r--poezio/core/handlers.py173
1 files changed, 0 insertions, 173 deletions
diff --git a/poezio/core/handlers.py b/poezio/core/handlers.py
index 1d5dcffe..ec714915 100644
--- a/poezio/core/handlers.py
+++ b/poezio/core/handlers.py
@@ -27,7 +27,6 @@ from xml.etree import ElementTree as ET
from poezio import common
from poezio import fixes
-from poezio import pep
from poezio import tabs
from poezio import xhtml
from poezio import multiuserchat as muc
@@ -539,178 +538,6 @@ class HandlerCore:
else:
contact.name = ''
- def on_gaming_event(self, message):
- """
- Called when a pep notification for user gaming
- is received
- """
- contact = roster[message['from'].bare]
- if not contact:
- return
- item = message['pubsub_event']['items']['item']
- old_gaming = contact.gaming
- xml_node = item.xml.find('{urn:xmpp:gaming:0}game')
- # list(xml_node) checks whether there are children or not.
- if xml_node is not None and list(xml_node):
- item = item['gaming']
- # only name and server_address are used for now
- contact.gaming = {
- 'character_name': item['character_name'],
- 'character_profile': item['character_profile'],
- 'name': item['name'],
- 'level': item['level'],
- 'uri': item['uri'],
- 'server_name': item['server_name'],
- 'server_address': item['server_address'],
- }
- else:
- contact.gaming = {}
-
- if contact.gaming:
- logger.log_roster_change(
- contact.bare_jid, 'is playing %s' %
- (common.format_gaming_string(contact.gaming)))
-
- if old_gaming != contact.gaming and config.get_by_tabname(
- 'display_gaming_notifications', contact.bare_jid):
- if contact.gaming:
- self.core.information(
- '%s is playing %s' % (contact.bare_jid,
- common.format_gaming_string(
- contact.gaming)), 'Gaming')
- else:
- self.core.information(contact.bare_jid + ' stopped playing.',
- 'Gaming')
-
- def on_mood_event(self, message):
- """
- Called when a pep notification for a user mood
- is received.
- """
- contact = roster[message['from'].bare]
- if not contact:
- return
- roster.modified()
- item = message['pubsub_event']['items']['item']
- old_mood = contact.mood
- xml_node = item.xml.find('{http://jabber.org/protocol/mood}mood')
- # list(xml_node) checks whether there are children or not.
- if xml_node is not None and list(xml_node):
- mood = item['mood']['value']
- if mood:
- mood = pep.MOODS.get(mood, mood)
- text = item['mood']['text']
- if text:
- mood = '%s (%s)' % (mood, text)
- contact.mood = mood
- else:
- contact.mood = ''
- else:
- contact.mood = ''
-
- if contact.mood:
- logger.log_roster_change(contact.bare_jid,
- 'has now the mood: %s' % contact.mood)
-
- if old_mood != contact.mood and config.get_by_tabname(
- 'display_mood_notifications', contact.bare_jid):
- if contact.mood:
- self.core.information(
- 'Mood from ' + contact.bare_jid + ': ' + contact.mood,
- 'Mood')
- else:
- self.core.information(
- contact.bare_jid + ' stopped having their mood.', 'Mood')
-
- def on_activity_event(self, message):
- """
- Called when a pep notification for a user activity
- is received.
- """
- contact = roster[message['from'].bare]
- if not contact:
- return
- roster.modified()
- item = message['pubsub_event']['items']['item']
- old_activity = contact.activity
- xml_node = item.xml.find('{http://jabber.org/protocol/activity}activity')
- # list(xml_node) checks whether there are children or not.
- if xml_node is not None and list(xml_node):
- try:
- activity = item['activity']['value']
- except ValueError:
- return
- if activity[0]:
- general = pep.ACTIVITIES.get(activity[0])
- s = general['category']
- if activity[1]:
- s = s + '/' + general.get(activity[1], 'other')
- text = item['activity']['text']
- if text:
- s = '%s (%s)' % (s, text)
- contact.activity = s
- else:
- contact.activity = ''
- else:
- contact.activity = ''
-
- if contact.activity:
- logger.log_roster_change(
- contact.bare_jid, 'has now the activity %s' % contact.activity)
-
- if old_activity != contact.activity and config.get_by_tabname(
- 'display_activity_notifications', contact.bare_jid):
- if contact.activity:
- self.core.information(
- 'Activity from ' + contact.bare_jid + ': ' +
- contact.activity, 'Activity')
- else:
- self.core.information(
- contact.bare_jid + ' stopped doing their activity.',
- 'Activity')
-
- def on_tune_event(self, message):
- """
- Called when a pep notification for a user tune
- is received
- """
- contact = roster[message['from'].bare]
- if not contact:
- return
- roster.modified()
- item = message['pubsub_event']['items']['item']
- old_tune = contact.tune
- xml_node = item.xml.find('{http://jabber.org/protocol/tune}tune')
- # list(xml_node) checks whether there are children or not.
- if xml_node is not None and list(xml_node):
- item = item['tune']
- contact.tune = {
- 'artist': item['artist'],
- 'length': item['length'],
- 'rating': item['rating'],
- 'source': item['source'],
- 'title': item['title'],
- 'track': item['track'],
- 'uri': item['uri']
- }
- else:
- contact.tune = {}
-
- if contact.tune:
- logger.log_roster_change(
- message['from'].bare, 'is now listening to %s' %
- common.format_tune_string(contact.tune))
-
- if old_tune != contact.tune and config.get_by_tabname(
- 'display_tune_notifications', contact.bare_jid):
- if contact.tune:
- self.core.information(
- 'Tune from ' + message['from'].bare + ': ' +
- common.format_tune_string(contact.tune), 'Tune')
- else:
- self.core.information(
- contact.bare_jid + ' stopped listening to music.', 'Tune')
-
def on_groupchat_message(self, message):
"""
Triggered whenever a message is received from a multi-user chat room.