[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Added behaviour to list() to list the transaction's path if no arguments are
# HG changeset patch # User emellor@ewan # Node ID 7c5d9879967dc91184253c2798344545d6e30b95 # Parent a172340ae3f333f3634fa0afce1791a70ef09604 Added behaviour to list() to list the transaction's path if no arguments are given. Added list_recursive(). Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> diff -r a172340ae3f3 -r 7c5d9879967d tools/python/xen/xend/xenstore/xstransact.py --- a/tools/python/xen/xend/xenstore/xstransact.py Tue Sep 27 14:11:59 2005 +++ b/tools/python/xen/xend/xenstore/xstransact.py Tue Sep 27 21:02:57 2005 @@ -1,4 +1,5 @@ # Copyright (C) 2005 Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> +# Copyright (C) 2005 XenSource Ltd # This file is subject to the terms and conditions of the GNU General # Public License. See the file "COPYING" in the main directory of @@ -8,6 +9,7 @@ import threading from xen.lowlevel import xs from xen.xend.xenstore.xsutil import xshandle + class xstransact: @@ -105,12 +107,38 @@ return [] def list(self, *args): - if len(args) == 0: - raise TypeError + """If no arguments are given, list this transaction's path, returning + the entries therein, or None if no entries are found. Otherwise, + treat each argument as a subpath to this transaction's path, and + return the cumulative listing of each of those instead. + """ + if len(args) == 0: + return xshandle().ls(self.path) + else: + ret = [] + for key in args: + ret.extend(self._list(key)) + return ret + + + def list_recursive_(self, subdir, keys): ret = [] - for key in args: - ret.extend(self._list(key)) + for key in keys: + new_subdir = subdir + "/" + key + l = xshandle().ls(new_subdir) + if l: + ret.append([key, self.list_recursive_(new_subdir, l)]) + else: + ret.append([key, xshandle().read(new_subdir)]) return ret + + + def list_recursive(self, *args): + if len(args) == 0: + args = self.list() + + return self.list_recursive_(self.path, args) + def gather(self, *args): if len(args) and type(args[0]) != tuple: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |