Commit 54cfd489 authored by Antoine Millet's avatar Antoine Millet
Browse files

Added auto-kill to close and delaccount handlers.

parent 290379d5
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -292,6 +292,7 @@ class CliHandler(OnlineCCHandler):

        self._check(conn, 'delaccount', query)
        objects = self._server.list(query, show=set(('a',)))
        client = self._server.search_client_by_connection(conn)
        errs = Reporter()
        with self._server.conf:
            for obj in objects:
@@ -305,6 +306,9 @@ class CliHandler(OnlineCCHandler):
                else:
                    errs.success(obj['id'], 'account deleted')
                
                self._server.jobs.create('kill', author=client.login,
                                         account=obj['a'], gracetime=1)
                
        return errs.get_dict()

    @listed
@@ -315,6 +319,7 @@ class CliHandler(OnlineCCHandler):

        self._check(conn, 'close', query)
        objects = self._server.list(query, show=set(('a',)))
        client = self._server.search_client_by_connection(conn)
        errs = Reporter()
        with self._server.conf:
            for obj in objects:
@@ -324,10 +329,14 @@ class CliHandler(OnlineCCHandler):
                tags = self._server.conf.show(obj['a'])['tags']
                if 'close' in tags:
                    errs.warn(obj['id'], 'account already closed')
                else:
                    continue

                errs.success(obj['id'], 'closed')
                self._server.conf.add_tag(obj['a'], 'close', 'yes')

                self._server.jobs.create('kill', author=client.login,
                                         account=obj['a'], gracetime=1)

        return errs.get_dict()

    @listed