bin/recog_standardize in recog-2.3.21 vs bin/recog_standardize in recog-2.3.22

- old
+ new

@@ -59,90 +59,105 @@ hw_family = load_identifiers(File.join(bdir, "hw_family.txt")) hw_device = load_identifiers(File.join(bdir, "hw_device.txt")) svc_prod = load_identifiers(File.join(bdir, "service_product.txt")) svc_family = load_identifiers(File.join(bdir, "service_family.txt")) +missing_count = 0 ARGV.each do |arg| Dir.glob(arg).each do |file| ndb = Recog::DB.new(file) ndb.fingerprints.each do |f| f.params.each do |k,v| paramIndex, val = v if ! fields[k] puts "FIELD MISSING: #{k}" + missing_count += 1 fields[k] = true end next if paramIndex != 0 next if val.index("{") != nil next if val.strip == "" case k when "os.vendor", "service.vendor", "service.component.vendor", "hw.vendor" if ! vendors[val] puts "VENDOR MISSING: #{val}" + missing_count += 1 vendors[val] = true end when "os.arch" if ! os_arch[val] puts "OS ARCH MISSING: #{val}" + missing_count += 1 os_arch[val] = true end when "os.product" if ! os_prod[val] puts "OS PRODUCT MISSING: #{val}" + missing_count += 1 os_prod[val] = true end when "os.family" if ! os_family[val] puts "OS FAMILY MISSING: #{val}" + missing_count += 1 os_family[val] = true end when "os.device" if ! os_device[val] puts "OS DEVICE MISSING: #{val}" + missing_count += 1 os_device[val] = true end when "hw.product" if ! hw_prod[val] puts "HW PRODUCT MISSING: #{val}" + missing_count += 1 hw_prod[val] = true end when "hw.family" if ! hw_family[val] puts "HW FAMILY MISSING: #{val}" + missing_count += 1 hw_family[val] = true end when "hw.device" if ! hw_device[val] puts "HW DEVICE MISSING: #{val}" + missing_count += 1 hw_device[val] = true end when "service.product", "service.component.product" if ! svc_prod[val] puts "SERVICE PRODUCT MISSING: #{val}" + missing_count += 1 svc_prod[val] = true end when "service.family" if ! svc_family[val] puts "SERVICE FAMILY MISSING: #{val}" + missing_count += 1 svc_family[val] = true end end end end end end -exit if ! options.write +if options.write + # Write back the unique identifiers + write_identifiers(vendors, File.join(bdir, "vendor.txt")) + write_identifiers(fields, File.join(bdir, "fields.txt")) + write_identifiers(os_arch, File.join(bdir, "os_architecture.txt")) + write_identifiers(os_prod, File.join(bdir, "os_product.txt")) + write_identifiers(os_family, File.join(bdir, "os_family.txt")) + write_identifiers(os_device, File.join(bdir, "os_device.txt")) + write_identifiers(hw_prod, File.join(bdir, "hw_product.txt")) + write_identifiers(hw_family, File.join(bdir, "hw_family.txt")) + write_identifiers(hw_device, File.join(bdir, "hw_device.txt")) + write_identifiers(svc_prod, File.join(bdir, "service_product.txt")) + write_identifiers(svc_family, File.join(bdir, "service_family.txt")) +end -# Write back the unique identifiers -write_identifiers(vendors, File.join(bdir, "vendor.txt")) -write_identifiers(fields, File.join(bdir, "fields.txt")) -write_identifiers(os_arch, File.join(bdir, "os_architecture.txt")) -write_identifiers(os_prod, File.join(bdir, "os_product.txt")) -write_identifiers(os_family, File.join(bdir, "os_family.txt")) -write_identifiers(os_device, File.join(bdir, "os_device.txt")) -write_identifiers(hw_prod, File.join(bdir, "hw_product.txt")) -write_identifiers(hw_family, File.join(bdir, "hw_family.txt")) -write_identifiers(hw_device, File.join(bdir, "hw_device.txt")) -write_identifiers(svc_prod, File.join(bdir, "service_product.txt")) -write_identifiers(svc_family, File.join(bdir, "service_family.txt")) \ No newline at end of file +exit_code = (missing_count > 0 ? 1 : 0) +exit(exit_code)