Class: Vc4VmRepository
- Inherits:
-
VmRepository
- Object
- VmRepository
- Vc4VmRepository
- Defined in:
- lib/ovfparse/vc4_vmrepository.rb
Constant Summary
Constants inherited from VmRepository
VmRepository::ALLOWABLE_PKG_TYPES, VmRepository::ALLOWABLE_PROTOCOLS, VmRepository::STRICT_CHECKING, VmRepository::USE_CACHE
Instance Attribute Summary
Attributes inherited from VmRepository
Instance Method Summary collapse
Methods inherited from VmRepository
ESXParse, FTParse, HTTParse, LSParse, create, #get, #initialize, #simplePackageConstruction, #uri
Constructor Details
This class inherits a constructor from VmRepository
Instance Method Details
#fetch ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/ovfparse/vc4_vmrepository.rb', line 52 def fetch if protocol.name != "vc4" then return 'error' end #retrieve data from filesystem $cmd = VMWARE_LIBS + "/vminfo.pl --url https://" + url + "/sdk/vimService --host xenadu1.mitre.org --folder " + VC_FOLDER + " --username " + VC_USER + " --password " + VC_PASS pipe = IO.popen $cmd raw_file_list = pipe.read pipe.close #parse out package list package_list = vcPackageConstruction(raw_file_list) return package_list #construct package objects based on results #return simplePackageConstruction(package_list) end |
#vcPackageConstruction(raw_file_list) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ovfparse/vc4_vmrepository.rb', line 3 def vcPackageConstruction(raw_file_list) packages = Array.new cur_name = '' cur_template = "0" cur_guest = '' raw_file_list.each { |text_line| # signifies a new group of information about a machine if text_line=="\n" then cur_name = '' cur_template = "0" cur_guest = '' cur_path = '' elsif text_line.include? "vmPathName" then fragment_arr = text_line.split(" ") cur_path = fragment_arr.last #puts "vmPathName<" + text_line + "|" + cur_path + ">" elsif text_line.include? "Name:" then fragment_arr = text_line.split(" ") cur_name = fragment_arr.last #puts "Name<" + text_line + "|" + cur_name + ">" elsif text_line.include? "Template:" fragment_arr = text_line.split(" ") cur_template = fragment_arr.last #puts "Template<" + text_line + "|" + cur_template + ">" elsif text_line.include? "Guest OS:" fragment_arr = text_line.split("Guest OS:") cur_guest = fragment_arr.last.strip! #puts "Guest<" + text_line + "|" + cur_guest + ">" if cur_template=="1" package = Package.new package.name = cur_name package.description = 'no description available' package.guest_os = cur_guest package.uri = "jbtest" #self.uri + "/" + path package.version = 'Unknown' package.state_id = 1 package.repository_id = id packages.push(package) end else #noop end } return packages end |