302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
|
# File 'lib/openc3/utilities/cli_generator.rb', line 302
def self.generate_conversion(args)
if args.length < 3 or args.length > 4
abort("Usage: cli generate conversion <TARGET> <NAME> (--ruby or --python)")
end
target_name = args[1].upcase
unless File.exist?("targets/#{target_name}")
abort("Target '#{target_name}' does not exist! Conversions must be created for existing targets.")
end
conversion_name = "#{args[2].upcase.gsub(/_+|-+/, '_')}_CONVERSION"
conversion_path = "targets/#{target_name}/lib/"
conversion_basename = "#{conversion_name.downcase}.#{@@language}"
conversion_class = conversion_basename.filename_to_class_name
conversion_filename = "targets/#{target_name}/lib/#{conversion_basename}"
if File.exist?(conversion_filename)
abort("Conversion #{conversion_filename} already exists!")
end
process_template("#{TEMPLATES_DIR}/conversion", binding) do |filename|
filename.sub!("conversion.#{@@language}", conversion_filename)
false
end
puts "Conversion #{conversion_filename} successfully generated!"
puts "To use the conversion add the following to a telemetry item:"
puts " READ_CONVERSION #{conversion_basename}"
return conversion_name
end
|