1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

feature #1112: Added missing file

This commit is contained in:
Ruben S. Montero 2012-02-20 13:42:50 +01:00
parent 3a8525bdc1
commit 1540124721

View File

@ -0,0 +1,55 @@
#!/usr/bin/env ruby
# -------------------------------------------------------------------------- */
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) #
# 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. */
# -------------------------------------------------------------------------- */
#
# Simple command to parse an XML document (b64 encoded) and return one or more
# elements (refer by xpath)
#
require 'base64'
require 'rexml/document'
require 'getoptlong'
opts = opts = GetoptLong.new(
[ '--base64', '-b', GetoptLong::REQUIRED_ARGUMENT ]
)
tmp64 = ""
begin
opts.each do |opt, arg|
case opt
when '--base64'
tmp64 = arg
end
end
rescue Exception => e
exit(-1)
end
values = ""
tmp = Base64::decode64(tmp64)
xml = REXML::Document.new(tmp).root
ARGV.each { |xpath|
element = xml.elements[xpath]
values << "\'#{element.text}\' " if !element.nil?
}
puts values
exit 0