Changeset View
Changeset View
Standalone View
Standalone View
kolabd/process.py
Show All 21 Lines | |||||
import pykolab | import pykolab | ||||
from pykolab.auth import Auth | from pykolab.auth import Auth | ||||
from pykolab.translate import _ | from pykolab.translate import _ | ||||
log = pykolab.getLogger('pykolab.daemon') | log = pykolab.getLogger('pykolab.daemon') | ||||
conf = pykolab.getConf() | conf = pykolab.getConf() | ||||
class KolabdProcess(multiprocessing.Process): | class KolabdProcess(multiprocessing.Process): | ||||
def __init__(self, domain): | def __init__(self, domain): | ||||
self.domain = domain | self.domain = domain | ||||
log.debug(_("Process created for domain %s") % (domain), level=8) | log.debug(_("Process created for domain %s") % (domain), level=8) | ||||
multiprocessing.Process.__init__( | multiprocessing.Process.__init__( | ||||
self, | self, | ||||
target=self.synchronize, | target=self.synchronize, | ||||
args=(domain,), | args=(domain,), | ||||
name="Kolab(%s)" % domain | name="Kolab(%s)" % domain | ||||
) | ) | ||||
def synchronize(self, domain): | def synchronize(self, domain): | ||||
log.debug(_("Synchronizing for domain %s") % (domain), level=8) | log.debug(_("Synchronizing for domain %s") % (domain), level=8) | ||||
sync_interval = conf.get('kolab', 'sync_interval') | sync_interval = conf.get('kolab', 'sync_interval') | ||||
if sync_interval == None or sync_interval == 0: | if sync_interval is None or sync_interval == 0: | ||||
sync_interval = 300 | sync_interval = 300 | ||||
else: | else: | ||||
sync_interval = (int)(sync_interval) | sync_interval = (int)(sync_interval) | ||||
while True: | while True: | ||||
try: | try: | ||||
auth = Auth(domain) | auth = Auth(domain) | ||||
auth.connect(domain) | auth.connect(domain) | ||||
auth.synchronize() | auth.synchronize() | ||||
time.sleep(sync_interval) | time.sleep(sync_interval) | ||||
except KeyboardInterrupt: | except KeyboardInterrupt: | ||||
break | break | ||||
except Exception, errmsg: | except Exception, errmsg: | ||||
log.error(_("Error in process %r, terminating:\n\t%r") % (self.name, errmsg)) | log.error(_("Error in process %r, terminating:\n\t%r") % (self.name, errmsg)) | ||||
Lint: PEP8 E501: line too long (93 > 79 characters) | |||||
import traceback | import traceback | ||||
traceback.print_exc() | traceback.print_exc() | ||||
time.sleep(1) | time.sleep(1) |
line too long (93 > 79 characters)