From 6eba069fdb566fd006fa48b8b9c5d5b44085f524 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Fri, 25 Sep 2015 17:30:00 +0200 Subject: Add repair to pixelated maintenance - Issue #468 - Call with: pixelated-maintenance repair --- service/pixelated/maintenance.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'service/pixelated/maintenance.py') diff --git a/service/pixelated/maintenance.py b/service/pixelated/maintenance.py index ae320049..41e749d7 100644 --- a/service/pixelated/maintenance.py +++ b/service/pixelated/maintenance.py @@ -18,6 +18,7 @@ import logging from mailbox import Maildir from twisted.internet import reactor, defer from twisted.internet.threads import deferToThread +from pixelated.adapter.mailstore.maintenance import SoledadMaintenance from pixelated.config.leap import initialize_leap from pixelated.config import logger, arguments @@ -36,7 +37,8 @@ def initialize(): args.leap_provider_cert_fingerprint, args.credentials_file, organization_mode=False, - leap_home=args.leap_home) + leap_home=args.leap_home, + initial_sync=False) execute_command(args, leap_session) @@ -91,6 +93,9 @@ def add_command_callback(args, prepareDeferred, finalizeDeferred): elif args.command == 'sync': # nothing to do here, sync is already part of the chain prepareDeferred.chainDeferred(finalizeDeferred) + elif args.command == 'repair': + prepareDeferred.addCallback(repair) + prepareDeferred.chainDeferred(finalizeDeferred) else: print 'Unsupported command: %s' % args.command prepareDeferred.chainDeferred(finalizeDeferred) @@ -176,6 +181,15 @@ def dump_soledad(args): defer.returnValue(args) +@defer.inlineCallbacks +def repair(args): + leap_session, soledad = args + + yield SoledadMaintenance(soledad).repair() + + defer.returnValue(args) + + def shutdown(args): # time.sleep(30) reactor.stop() -- cgit v1.2.3