Change CSV output to be RFC4180 compliant (#852)

This commit is contained in:
Mike Cumings 2024-02-15 03:47:00 -08:00 committed by GitHub
parent c42b5be631
commit 763ef749f7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -434,11 +434,11 @@ class UIViewModel @Inject constructor(
val nodesById = nodes.values.associateBy { it.num }.toMutableMap()
val nodePositions = mutableMapOf<Int, MeshProtos.Position?>()
writer.appendLine("date;time;from;sender name;sender lat;sender long;rx lat;rx long;rx elevation;rx snr;distance;hop limit;payload")
writer.appendLine("\"date\",\"time\",\"from\",\"sender name\",\"sender lat\",\"sender long\",\"rx lat\",\"rx long\",\"rx elevation\",\"rx snr\",\"distance\",\"hop limit\",\"payload\"")
// Packets are ordered by time, we keep most recent position of
// our device in localNodePosition.
val dateFormat = SimpleDateFormat("yyyy-MM-dd;HH:mm:ss", Locale.getDefault())
val dateFormat = SimpleDateFormat("\"yyyy-MM-dd\",\"HH:mm:ss\"", Locale.getDefault())
meshLogRepository.getAllLogsInReceiveOrder(Int.MAX_VALUE).first().forEach { packet ->
// If we get a NodeInfo packet, use it to update our position data (if valid)
packet.nodeInfo?.let { nodeInfo ->
@ -494,14 +494,14 @@ class UIViewModel @Inject constructor(
Portnums.PortNum.TEXT_MESSAGE_APP_VALUE,
Portnums.PortNum.RANGE_TEST_APP_VALUE,
) -> "<${proto.decoded.portnum}>"
proto.hasDecoded() -> "\"" + proto.decoded.payload.toStringUtf8()
.replace("\"", "\\\"") + "\""
proto.hasDecoded() -> proto.decoded.payload.toStringUtf8()
.replace("\"", "\"\"")
proto.hasEncrypted() -> "${proto.encrypted.size()} encrypted bytes"
else -> ""
}
// date,time,from,sender name,sender lat,sender long,rx lat,rx long,rx elevation,rx snr,distance,hop limit,payload
writer.appendLine("$rxDateTime;$rxFrom;$senderName;$senderLat;$senderLong;$rxLat;$rxLong;$rxAlt;$rxSnr;$dist;$hopLimit;$payload")
writer.appendLine("$rxDateTime,\"$rxFrom\",\"$senderName\",\"$senderLat\",\"$senderLong\",\"$rxLat\",\"$rxLong\",\"$rxAlt\",\"$rxSnr\",\"$dist\",\"$hopLimit\",\"$payload\"")
}
}
}