2003-10-22 20:45:13 +02:00
|
|
|
## common/thread.py
|
|
|
|
##
|
|
|
|
## Gajim Team:
|
|
|
|
## - Yann Le Boulanger <asterix@crans.org>
|
2004-06-18 11:25:15 +02:00
|
|
|
## - Vincent Hanquez <tab@snarc.org>
|
2003-10-22 20:45:13 +02:00
|
|
|
##
|
|
|
|
## Copyright (C) 2003 Gajim Team
|
|
|
|
##
|
|
|
|
## This program is free software; you can redistribute it and/or modify
|
|
|
|
## it under the terms of the GNU General Public License as published
|
|
|
|
## by the Free Software Foundation; version 2 only.
|
|
|
|
##
|
|
|
|
## This program is distributed in the hope that it will be useful,
|
|
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
## GNU General Public License for more details.
|
|
|
|
##
|
|
|
|
|
|
|
|
import threading
|
|
|
|
import socket
|
|
|
|
import time
|
2004-07-17 23:00:38 +02:00
|
|
|
import sys
|
|
|
|
from common import i18n
|
|
|
|
_ = i18n._
|
2003-11-30 16:50:23 +01:00
|
|
|
|
2003-10-22 20:45:13 +02:00
|
|
|
class GajimThread(threading.Thread):
|
|
|
|
def __init__(self, name = None, queueIn = None, queueOut = None):
|
|
|
|
self.queueIn = queueIn
|
|
|
|
self.queueOut = queueOut
|
|
|
|
threading.Thread.__init__(self, target = self.run, \
|
2004-07-28 20:31:31 +02:00
|
|
|
name = name)
|
2003-10-22 20:45:13 +02:00
|
|
|
# END __init__
|
|
|
|
|
|
|
|
def run(self):
|
2003-11-30 16:50:23 +01:00
|
|
|
mod = compile("import plugins.%s" % self.getName(), \
|
|
|
|
self.getName(), "exec")
|
2004-07-17 23:00:38 +02:00
|
|
|
try:
|
|
|
|
res = eval(mod)
|
|
|
|
mod = compile("plugins.%s.%s.plugin(self.queueIn, self.queueOut)" % (self.getName(),self.getName()), self.getName(), "exec")
|
|
|
|
res = eval(mod)
|
|
|
|
except:
|
|
|
|
print _("plugin %s cannot be launched : ") % self.getName() + \
|
2004-08-01 01:07:25 +02:00
|
|
|
str(sys.exc_info()[1][0:])
|
2003-10-22 20:45:13 +02:00
|
|
|
# END run
|
|
|
|
# END GajimThread
|