private AltosLog altos_log;
private Box vbox;
- private Font statusFont = new Font("SansSerif", Font.BOLD, 24);
- private Font infoLabelFont = new Font("SansSerif", Font.PLAIN, 14);
- private Font infoValueFont = new Font("Monospaced", Font.PLAIN, 14);
-
public AltosVoice voice = new AltosVoice();
public static boolean load_library(Frame frame) {
}
- static String replace_extension(String input, String extension) {
- int dot = input.lastIndexOf(".");
- if (dot > 0)
- input = input.substring(0,dot);
- return input.concat(extension);
- }
-
static AltosRecordIterable open_logfile(String filename) {
File file = new File (filename);
try {
}
}
- static AltosCSV open_csv(String filename) {
+ static AltosWriter open_csv(String filename) {
File file = new File (filename);
try {
return new AltosCSV(file);
}
}
- static void process_file(String input) {
- String output = replace_extension(input,".csv");
- if (input.equals(output)) {
- System.out.printf("Not processing '%s'\n", input);
- return;
+ static AltosWriter open_kml(String filename) {
+ File file = new File (filename);
+ try {
+ return new AltosKML(file);
+ } catch (FileNotFoundException fe) {
+ System.out.printf("Cannot open '%s'\n", filename);
+ return null;
}
- System.out.printf("Processing \"%s\" to \"%s\"\n", input, output);
+ }
+
+ static final int process_csv = 1;
+ static final int process_kml = 2;
+
+ static void process_file(String input, int process) {
AltosRecordIterable iterable = open_logfile(input);
if (iterable == null)
return;
- AltosCSV writer = open_csv(output);
- if (writer == null)
- return;
- writer.write(iterable);
- writer.close();
+ if (process == 0)
+ process = process_csv;
+ if ((process & process_csv) != 0) {
+ String output = Altos.replace_extension(input,".csv");
+ System.out.printf("Processing \"%s\" to \"%s\"\n", input, output);
+ if (input.equals(output)) {
+ System.out.printf("Not processing '%s'\n", input);
+ } else {
+ AltosWriter writer = open_csv(output);
+ if (writer != null) {
+ writer.write(iterable);
+ writer.close();
+ }
+ }
+ }
+ if ((process & process_kml) != 0) {
+ String output = Altos.replace_extension(input,".kml");
+ System.out.printf("Processing \"%s\" to \"%s\"\n", input, output);
+ if (input.equals(output)) {
+ System.out.printf("Not processing '%s'\n", input);
+ } else {
+ AltosWriter writer = open_kml(output);
+ if (writer == null)
+ return;
+ writer.write(iterable);
+ writer.close();
+ }
+ }
}
public static void main(final String[] args) {
-
+ int process = 0;
/* Handle batch-mode */
if (args.length > 0) {
- for (int i = 0; i < args.length; i++)
- process_file(args[i]);
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].equals("--kml"))
+ process |= process_kml;
+ else if (args[i].equals("--csv"))
+ process |= process_csv;
+ else
+ process_file(args[i], process);
+ }
} else {
AltosUI altosui = new AltosUI();
altosui.setVisible(true);