Put all information into inventory output
Signed-off-by: martin f. krafft <madduck@madduck.net>
diff --git a/reclass.py.in b/reclass.py.in
index 061aa60..19c0aa1 100644
--- a/reclass.py.in
+++ b/reclass.py.in
@@ -18,47 +18,28 @@
from reclass.output import OutputLoader
from reclass.storage import StorageBackendLoader
import reclass.errors
-
-def get_options(config_file=None):
- return reclass.config.get_options(__name__, __version__, __description__, config_file)
-
-def get_data(storage_type, nodes_uri, classes_uri, applications_postfix, node):
- storage_class = StorageBackendLoader(storage_type).load()
- storage = storage_class(nodes_uri, classes_uri, applications_postfix)
- if node is False:
- ret = storage.inventory()
- else:
- ret = storage.nodeinfo(node)
- ret['RECLASS']['timestamp'] = time.strftime('%c')
-
- return ret
-
-def output(data, fmt, pretty_print=False):
- output_class = OutputLoader(fmt).load()
- outputter = output_class()
- return outputter.dump(data, pretty_print=pretty_print)
+from reclass import get_data, output
def _error(msg, rc):
print >>sys.stderr, msg
sys.exit(rc)
-if __name__ == '__main__':
- __name__ = __prog__
- config_file = None
- for d in (os.getcwd(), os.path.dirname(sys.argv[0])):
- f = os.path.join(d, __name__ + '-config.yml')
- if os.access(f, os.R_OK):
- config_file = f
- break
- try:
- options = get_options(config_file)
- nodes_uri, classes_uri = reclass.config.path_mangler(options.inventory_base_uri,
- options.nodes_uri,
- options.classes_uri)
- data = get_data(options.storage_type, nodes_uri, classes_uri,
- options.applications_postfix, options.node)
- print output(data, options.output, options.pretty_print)
- sys.exit(posix.EX_OK)
+config_file = None
+for d in (os.getcwd(), os.path.dirname(sys.argv[0])):
+ f = os.path.join(d, __name__ + '-config.yml')
+ if os.access(f, os.R_OK):
+ config_file = f
+ break
+try:
+ options = reclass.config.get_options(__name__, __version__,
+ __description__, config_file)
+ nodes_uri, classes_uri = reclass.config.path_mangler(options.inventory_base_uri,
+ options.nodes_uri,
+ options.classes_uri)
+ data = get_data(options.storage_type, nodes_uri, classes_uri,
+ options.applications_postfix, options.node)
+ print output(data, options.output, options.pretty_print)
+ sys.exit(posix.EX_OK)
- except reclass.errors.ReclassException, e:
- _error(e.message, e.rc)
+except reclass.errors.ReclassException, e:
+ _error(e.message, e.rc)