From 37887fd03e1195556cb1cb48f3dc306e7e393f88 Mon Sep 17 00:00:00 2001 From: Antoine Millet Date: Fri, 4 Mar 2011 16:43:02 +0100 Subject: [PATCH] [bug#3992] Tag order is now provided to the cli. --- ccserver/ccserver.py | 8 ++++++-- ccserver/handlers.py | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ccserver/ccserver.py b/ccserver/ccserver.py index b4367ab..e28a966 100644 --- a/ccserver/ccserver.py +++ b/ccserver/ccserver.py @@ -238,7 +238,7 @@ class CCServer(object): return right['target'] == 'allow' return False - def list(self, query, show=set(), pure=False): + def list(self, query, show=set(), pure=False, return_toshow=False): ''' List objects on the server. @@ -250,6 +250,7 @@ class CCServer(object): parser = TqlParser(query) ast, to_show, to_get, to_check = parser.parse() + orig_to_show = copy(to_show) to_show += show # Calculate the tags to get/check/show: @@ -295,4 +296,7 @@ class CCServer(object): for obj in objects: objects_dicts.append(obj.to_dict(to_display, deny=deny)) - return objects_dicts + if return_toshow: + return objects_dicts, orig_to_show + else: + return objects_dicts diff --git a/ccserver/handlers.py b/ccserver/handlers.py index fc3993f..76b336f 100644 --- a/ccserver/handlers.py +++ b/ccserver/handlers.py @@ -190,8 +190,11 @@ class CliHandler(OnlineCCHandler): self._check(conn, 'list', query) logging.debug('Executed list function with query %s', query) - objects = self._server.list(query) - return {'objects': objects, 'order': ['id']} + objects, tags = self._server.list(query, return_toshow=True) + order = ['id'] + if tags is not None: + order += tags + return {'objects': objects, 'order': order} def _vm_action(self, query, method, *args, **kwargs): vms = self._server.list(query, show=set(('r', 'h'))) -- GitLab