diff --git a/ccserver/handlers.py b/ccserver/handlers.py index 8a737be9783021d435ce919f8894223b613d56b6..f82470f08f04167ddd3728456c543f94f2a422d1 100644 --- a/ccserver/handlers.py +++ b/ccserver/handlers.py @@ -7,6 +7,7 @@ import inspect import logging from sjrpc.utils import RpcHandler from sjrpc.core import RpcError +from ccserver.orderedset import OrderedSet from ccserver.conf import CCConf from ccserver.exceptions import (AlreadyRegistered, AuthenticationError, RightError, ReservedTagError, BadObjectError, @@ -196,10 +197,10 @@ class CliHandler(OnlineCCHandler): self._check(conn, 'list', query) logging.debug('Executed list function with query %s', query) objects, tags = self._server.list(query, return_toshow=True) - order = ['id'] + order = OrderedSet(['id']) if tags is not None: - order += tags - return {'objects': objects, 'order': order} + order |= OrderedSet(tags) + return {'objects': objects, 'order': list(order)} def _vm_action(self, query, method, *args, **kwargs): vms = self._server.list(query, show=set(('r', 'h')))