From 2d01ea5d5035d5f888b98ada293373f13124a55b Mon Sep 17 00:00:00 2001 From: Timur Sufiev Date: Thu, 24 Oct 2013 15:34:24 +0400 Subject: [PATCH] Preliminary implementation of new Service Catalog spec. Change-Id: I712d2ecafa8af8467e19dfb29bf8ef7341ea2d80 --- muranorepository/api/v1.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/muranorepository/api/v1.py b/muranorepository/api/v1.py index 70339bb..9e0f5d2 100644 --- a/muranorepository/api/v1.py +++ b/muranorepository/api/v1.py @@ -22,6 +22,7 @@ from werkzeug import secure_filename from muranorepository.utils.parser import ManifestParser from muranorepository.utils.archiver import Archiver from muranorepository.consts import DATA_TYPES, MANIFEST + from oslo.config import cfg CONF = cfg.CONF @@ -166,3 +167,14 @@ def delete_directory_or_file(data_type, path): except Exception: abort(403) return jsonify(result='success') + + +@v1_api.route('/admin/services', methods=['GET']) +def get_services_list(): + manifests = ManifestParser(CONF.manifests).parse() + excluded_fields = set(DATA_TYPES) - set(MANIFEST) + data = [] + for manifest in manifests: + data.append(dict((k, v) for k, v in manifest.__dict__.iteritems() + if not k in excluded_fields)) + return jsonify(tuple(data))