rendered paste body#!/usr/bin/python
__module_name__ = "xcsec"
__module_version__ = "0.1"
__module_description__ = "Xchat module for sec."
## imports ##
import sec
import xchat
def encode(word, word_eol, userdata):
print userdata
word = word_eol[1]
w = sec.encode(word)
xchat.command("say !x0 %s" % (w))
return xchat.EAT_ALL
def decode(word, word_eol, userdata):
event, pos = userdata
if type(pos) is int:
pos = (pos,)
changed = False
if word[1].find("!x0") != -1:
for i in pos:
try:
reencoded = sec.decode(word[i].replace("!x0 ", ""))
except (UnicodeError, IndexError):
continue
if reencoded != word[i]:
word[i] = reencoded
changed = True
if changed:
xchat.emit_print(event, *word)
return xchat.EAT_XCHAT
else:
return xchat.EAT_NONE
xchat.hook_command("x0e", encode, help="/x0e <string to encode>")
EVENTS = []
EVENTS.append(("Channel Message", 1))
EVENTS.append(("Private Message", 1))
EVENTS.append(("Your Message", 1))
for event in EVENTS:
xchat.hook_print(event[0], decode, event)