summaryrefslogtreecommitdiffstats
path: root/daemon/register.py
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-07-15 11:41:01 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-07-15 11:41:01 +0800
commit79ed2426c242a5d1d5d15fde43b5d5ad262db1d6 (patch)
treeadd8e1c7da45debd6768cf75c7a521943a5f00a6 /daemon/register.py
parent3f12e83421859aeb408810758d873d8577956b5d (diff)
downloadibus-79ed2426c242a5d1d5d15fde43b5d5ad262db1d6.tar.gz
ibus-79ed2426c242a5d1d5d15fde43b5d5ad262db1d6.tar.xz
ibus-79ed2426c242a5d1d5d15fde43b5d5ad262db1d6.zip
Refine coding style of register.py
Diffstat (limited to 'daemon/register.py')
-rw-r--r--daemon/register.py116
1 files changed, 58 insertions, 58 deletions
diff --git a/daemon/register.py b/daemon/register.py
index 80a34d1..6ad33b4 100644
--- a/daemon/register.py
+++ b/daemon/register.py
@@ -25,9 +25,9 @@ import signal
import glob
import ibus
-class Engine (ibus.Object):
- def __init__ (self, name, lang = "other", icon = "", author = "", credits = "", _exec = "", pid = 0):
- ibus.Object.__init__ (self)
+class Engine(ibus.Object):
+ def __init__(self, name, lang = "other", icon = "", author = "", credits = "", _exec = "", pid = 0):
+ super(Engine, self).__init__()
self._name = name
self._lang = lang
self._icon = icon
@@ -36,98 +36,98 @@ class Engine (ibus.Object):
self._exec = _exec
self._pid = pid
- def start (self):
+ def start(self):
if self._pid != 0:
return
- pid = os.fork ()
+ pid = os.fork()
if pid > 0: # parent
self._pid = pid
elif pid == 0: # child
- os.setpgrp ()
- args = self._exec.split ()
- os.execv (args[0], args)
- sys.exit (1)
+ os.setpgrp()
+ args = self._exec.split()
+ os.execv(args[0], args)
+ sys.exit(1)
- def stop (self, force = False):
+ def stop(self, force = False):
if self._pid == 0:
return
try:
if force:
- os.kill (-self._pid, signal.SIGKILL)
+ os.kill(-self._pid, signal.SIGKILL)
else:
- os.kill (-self._pid, signal.SIGTERM)
+ os.kill(-self._pid, signal.SIGTERM)
except:
pass
- def engine_exit (self, pid):
+ def engine_exit(self, pid):
if self._pid == pid:
self._pid = 0
return True
return False
- def __eq__ (self, o):
+ def __eq__(self, o):
# We don't test icon author & credits
return self._name == o._name and \
self._lang == o._lang and \
self._exec == o._exec
- def __str__ (self):
- return "Engine ('%s', '%s', '%s', '%s', '%s', '%s', %d" % (self._name, self._lang, \
+ def __str__(self):
+ return "Engine('%s', '%s', '%s', '%s', '%s', '%s', %d" % (self._name, self._lang, \
self._icon, self._author, \
self._credits, self._exec, \
self._pid)
-class Register (ibus.Object):
- def __init__ (self):
- ibus.Object.__init__ (self)
- self._engines = {}
- self._load ()
- signal.signal (signal.SIGCHLD, self._sigchld_cb)
+class Register(ibus.Object):
+ def __init__(self):
+ super(Register, self).__init__()
+ self._engines = dict()
+ self._load()
+ signal.signal(signal.SIGCHLD, self._sigchld_cb)
- def start_engine (self, lang, name):
+ def start_engine(self, lang, name):
key = (lang, name)
if key not in self._engines:
- raise ibus.IBusException ("Can not find engine (%s, %s)" % (lang, name))
+ raise ibus.IBusException("Can not find engine(%s, %s)" % (lang, name))
engine = self._engines[(lang, name)]
- engine.start ()
+ engine.start()
- def stop_engine (self, lang, name):
+ def stop_engine(self, lang, name):
key = (lang, name)
if key not in self._engines:
- raise ibus.IBusException ("Can not find engine (%s, %s)" % (lang, name))
+ raise ibus.IBusException("Can not find engine(%s, %s)" % (lang, name))
engine = self._engines[(lang, name)]
- engine.stop ()
+ engine.stop()
- def restart_engine (self, lang, name):
+ def restart_engine(self, lang, name):
key = (lang, name)
if key not in self._engines:
- raise ibus.IBusException ("Can not find engine (%s, %s)" % (lang, name))
+ raise ibus.IBusException("Can not find engine (%s, %s)" % (lang, name))
engine = self._engines[(lang, name)]
- engine.stop ()
- engine.start ()
+ engine.stop()
+ engine.start()
- def list_engines (self):
+ def list_engines(self):
engines = []
- for key, e in self._engines.items ():
- engines.append ((e._name, e._lang, e._icon, e._author, e._credits, e._exec, e._pid != 0))
+ for key, e in self._engines.items():
+ engines.append((e._name, e._lang, e._icon, e._author, e._credits, e._exec, e._pid != 0))
return engines
- def _sigchld_cb (self, sig, f):
- pid, state = os.wait ()
- for key, engine in self._engines.items ():
- if engine.engine_exit (pid):
+ def _sigchld_cb(self, sig, f):
+ pid, state = os.wait()
+ for key, engine in self._engines.items():
+ if engine.engine_exit(pid):
break
- def _load (self):
- _file = path.abspath (__file__)
- _dir = path.dirname (_file) + "./../engine"
- _dir = path.abspath (_dir)
+ def _load(self):
+ _file = path.abspath(__file__)
+ _dir = path.dirname(_file) + "./../engine"
+ _dir = path.abspath(_dir)
_dir = "/usr/share/ibus/engine"
- for _file in glob.glob (_dir + "/*.engine"):
- engine = self._load_engine (_file)
+ for _file in glob.glob(_dir + "/*.engine"):
+ engine = self._load_engine(_file)
if (engine._lang, engine._name) in self._engines:
old_engine = self._engines[(engine._lang, engine._name)]
if old_engine == engine:
@@ -141,8 +141,8 @@ class Register (ibus.Object):
- def _load_engine (self, _file):
- f = file (_file)
+ def _load_engine(self, _file):
+ f = file(_file)
name = None
lang = "other"
icon = ""
@@ -152,10 +152,10 @@ class Register (ibus.Object):
line = 0
for l in f:
line += 1
- l = l.strip ()
- if l.startswith ("#"):
+ l = l.strip()
+ if l.startswith("#"):
continue
- n, v = l.split ("=")
+ n, v = l.split("=")
if n == "Name":
name = v
elif n == "Lang":
@@ -169,19 +169,19 @@ class Register (ibus.Object):
elif n == "Exec":
_exec = v
else:
- raise Exception ("%s:%d\nUnknown value name = %s" % (_file, line, n))
+ raise Exception("%s:%d\nUnknown value name = %s" % (_file, line, n))
if name == None:
- raise Exception ("%s: no name" % _file)
+ raise Exception("%s: no name" % _file)
if _exec == None:
- raise Exception ("%s: no exec" % _file)
+ raise Exception("%s: no exec" % _file)
- return Engine (name, lang, icon, author, credits, _exec)
+ return Engine(name, lang, icon, author, credits, _exec)
if __name__ == "__main__":
import time
- reg = Register ()
- reg.start_engine ("zh", "py")
- time.sleep (3)
- reg.stop_engine ("zh", "py")
+ reg = Register()
+ reg.start_engine("zh", "py")
+ time.sleep(3)
+ reg.stop_engine("zh", "py")