summaryrefslogtreecommitdiffstats
path: root/kolabd/process.py
diff options
context:
space:
mode:
authorJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2012-04-19 16:56:16 +0100
committerJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2012-04-19 16:56:16 +0100
commit0a993d4b3c0b3afe76ed07d177b891791f6ae94f (patch)
tree9d480fc03cae42f1253557de088c7c5482384fce /kolabd/process.py
parent9663ff263d90af9156112f46c9d7b1651664cb0f (diff)
downloadpykolab-0a993d4b3c0b3afe76ed07d177b891791f6ae94f.tar.gz
Add kolabd systemd file
Refactor process management in kolabd
Diffstat (limited to 'kolabd/process.py')
-rw-r--r--kolabd/process.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/kolabd/process.py b/kolabd/process.py
new file mode 100644
index 0000000..bf65623
--- /dev/null
+++ b/kolabd/process.py
@@ -0,0 +1,37 @@
+# Copyright 2010-2012 Kolab Systems AG (http://www.kolabsys.com)
+#
+# Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen a kolabsys.com>
+#
+# 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 3 or, at your option, any later version
+#
+# 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 Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+import multiprocessing
+import time
+
+import pykolab
+from pykolab.auth import Auth
+from pykolab.translate import _
+
+log = pykolab.getLogger('pykolab.daemon')
+conf = pykolab.getConf()
+
+class KolabdProcess(multiprocessing.Process):
+ def __init__(self, domain):
+ self.domain = domain
+ multiprocessing.Process.__init__(self, target=self.synchronize, args=(domain,))
+
+ def synchronize(self, domain):
+ auth = Auth(domain)
+ auth.connect(domain)
+ auth.synchronize()