/usr/lib/python3/dist-packages/sleekxmpp/plugins/xep_0107/stanza.py is in python3-sleekxmpp 1.3.1-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | """
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
"""
from sleekxmpp.xmlstream import ElementBase, ET
class UserMood(ElementBase):
name = 'mood'
namespace = 'http://jabber.org/protocol/mood'
plugin_attrib = 'mood'
interfaces = set(['value', 'text'])
sub_interfaces = set(['text'])
moods = set(['afraid', 'amazed', 'amorous', 'angry', 'annoyed', 'anxious',
'aroused', 'ashamed', 'bored', 'brave', 'calm', 'cautious',
'cold', 'confident', 'confused', 'contemplative', 'contented',
'cranky', 'crazy', 'creative', 'curious', 'dejected',
'depressed', 'disappointed', 'disgusted', 'dismayed',
'distracted', 'embarrassed', 'envious', 'excited',
'flirtatious', 'frustrated', 'grateful', 'grieving', 'grumpy',
'guilty', 'happy', 'hopeful', 'hot', 'humbled', 'humiliated',
'hungry', 'hurt', 'impressed', 'in_awe', 'in_love',
'indignant', 'interested', 'intoxicated', 'invincible',
'jealous', 'lonely', 'lost', 'lucky', 'mean', 'moody',
'nervous', 'neutral', 'offended', 'outraged', 'playful',
'proud', 'relaxed', 'relieved', 'remorseful', 'restless',
'sad', 'sarcastic', 'satisfied', 'serious', 'shocked',
'shy', 'sick', 'sleepy', 'spontaneous', 'stressed', 'strong',
'surprised', 'thankful', 'thirsty', 'tired', 'undefined',
'weak', 'worried'])
def set_value(self, value):
self.del_value()
if value in self.moods:
self._set_sub_text(value, '', keep=True)
else:
raise ValueError('Unknown mood value')
def get_value(self):
for child in self.xml:
if child.tag.startswith('{%s}' % self.namespace):
elem_name = child.tag.split('}')[-1]
if elem_name in self.moods:
return elem_name
return ''
def del_value(self):
curr_value = self.get_value()
if curr_value:
self._set_sub_text(curr_value, '', keep=False)
|