From e367372f8b556d62ba2f87c6cb36347ae934d70e Mon Sep 17 00:00:00 2001 From: Luis Pabon Date: Wed, 24 Jul 2013 13:58:13 -0400 Subject: [PATCH] tools: Print object metadata Simple tool to print out an object's metadata Change-Id: Ic2d79f28241fcf21b96c1245ef1d802e78710500 Signed-off-by: Luis Pabon Reviewed-on: http://review.gluster.org/5386 Reviewed-on: http://review.gluster.org/5492 --- bin/gluster-swift-print-metadata | 44 ++++++++++++++++++++++++++++++++ glusterfs-openstack-swift.spec | 2 ++ 2 files changed, 46 insertions(+) create mode 100755 bin/gluster-swift-print-metadata diff --git a/bin/gluster-swift-print-metadata b/bin/gluster-swift-print-metadata new file mode 100755 index 0000000..5cf04f7 --- /dev/null +++ b/bin/gluster-swift-print-metadata @@ -0,0 +1,44 @@ +#!/usr/bin/env python +# +# Copyright (c) 2013 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys +import pprint +import os +import json +from optparse import OptionParser +from gluster.swift.common.utils import read_metadata + +# Parser Setup +USAGE = "Usage: %prog [options] OBJECT" +DESCRIPTION = "Where OBJECT is a file or directory which "\ + "its Gluster for Swift metadata will be printed "\ + "to standard out" + +parser = OptionParser(usage=USAGE, description=DESCRIPTION) +parser.add_option("-J", "--json", dest="json_format", action="store_true", + default=False, help="Print output in JSON format") + +(options, args) = parser.parse_args() + +if len(args) < 1 or not os.path.exists(args[0]): + parser.error("Filename missing") + +if options.json_format: + print json.dumps(read_metadata(args[0])) +else: + pprint.pprint(read_metadata(args[0])) + diff --git a/glusterfs-openstack-swift.spec b/glusterfs-openstack-swift.spec index 8b28dc5..e35d419 100644 --- a/glusterfs-openstack-swift.spec +++ b/glusterfs-openstack-swift.spec @@ -73,6 +73,7 @@ cp -r etc/* %{buildroot}/%{_confdir}/ mkdir -p %{buildroot}/%{_bindir}/ cp bin/gluster-swift-gen-builders %{buildroot}/%{_bindir}/ +cp bin/gluster-swift-print-metadata %{buildroot}/%{_bindir}/ # Remove tests %{__rm} -rf %{buildroot}/%{python_sitelib}/test @@ -85,6 +86,7 @@ rm -rf %{buildroot} %{python_sitelib}/gluster %{python_sitelib}/gluster_swift-%{version}-*.egg-info %{_bindir}/gluster-swift-gen-builders +%{_bindir}/gluster-swift-print-metadata %dir %{_confdir} %config %{_confdir}/account-server.conf-gluster %config %{_confdir}/container-server.conf-gluster