Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/chat/Emoticons.py
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2006-05-22 03:33:47 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2006-05-22 03:33:47 (GMT)
commite4cad71b56825874f1c705014d202a5887cdbfea (patch)
tree3d88dc4cfd3e753a7f39efad9c1d593cdc3faee1 /sugar/chat/Emoticons.py
parent67beb6298bf82155cb8f044e4af2474d2cabfb13 (diff)
Forgot to add this
Diffstat (limited to 'sugar/chat/Emoticons.py')
-rw-r--r--sugar/chat/Emoticons.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/sugar/chat/Emoticons.py b/sugar/chat/Emoticons.py
new file mode 100644
index 0000000..56c42f6
--- /dev/null
+++ b/sugar/chat/Emoticons.py
@@ -0,0 +1,67 @@
+emoticons_table = [ \
+[ 'stock_smiley-10', [ ':P', ':p' ] ], \
+[ 'stock_smiley-19', None ], \
+[ 'stock_smiley-2', None ], \
+[ 'stock_smiley-11', None ], \
+[ 'stock_smiley-1', ':)' ], \
+[ 'stock_smiley-3', None ], \
+[ 'stock_smiley-12', None ], \
+[ 'stock_smiley-20', None ], \
+[ 'stock_smiley-4', ':(' ], \
+[ 'stock_smiley-13', None ], \
+[ 'stock_smiley-21', None ], \
+[ 'stock_smiley-5', None ], \
+[ 'stock_smiley-14', None ], \
+[ 'stock_smiley-22', None ], \
+[ 'stock_smiley-6', None ], \
+[ 'stock_smiley-15', None ], \
+[ 'stock_smiley-23', None ], \
+[ 'stock_smiley-7', None ], \
+[ 'stock_smiley-16', None ], \
+[ 'stock_smiley-24', None ], \
+[ 'stock_smiley-8', None ], \
+[ 'stock_smiley-17', None ], \
+[ 'stock_smiley-25', None ], \
+[ 'stock_smiley-9', None ], \
+[ 'stock_smiley-18', None ], \
+[ 'stock_smiley-26', None ], \
+]
+
+class Emoticons:
+ instance = None
+
+ def get_instance():
+ if not Emoticons.instance:
+ Emoticons.instance = Emoticons()
+ return Emoticons.instance
+
+ get_instance = staticmethod(get_instance)
+
+ def __init__(self):
+ self._table = {}
+
+ for emoticon in emoticons_table:
+ [ name, text_emts ] = emoticon
+ self.add(name, text_emts)
+
+ def add(self, icon_name, text=None):
+ self._table[icon_name] = text
+
+ def get_all(self):
+ return self._table.keys()
+
+ """Replace emoticons text with the icon name.
+
+ Parse the provided text to find emoticons (in
+ textual form) and replace them with their xml
+ representation in the form:
+ <icon name="$EMOTICON_ICON_NAME"/>
+ """
+ def replace(self, text):
+ for icon_name in self._table.keys():
+ text_emts = self._table[icon_name]
+ if text_emts:
+ for emoticon_text in text_emts:
+ xml = '<icon name="' + icon_name + '"/>'
+ text = text.replace(emoticon_text, xml)
+ return text