98 lines
1.4 KiB
Go
98 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
func createDeviceLink(deviceType, name string, qr *int) CreateDeviceLink {
|
|
return CreateDeviceLink{
|
|
Type: deviceType,
|
|
Name: name,
|
|
Qr: qr,
|
|
}
|
|
}
|
|
|
|
type CreateDeviceLink struct {
|
|
Type string
|
|
Name string
|
|
Qr *int
|
|
}
|
|
|
|
func formatMemoryUnit(size int) string {
|
|
const (
|
|
KB = 1024
|
|
MB = KB * 1024
|
|
GB = MB * 1024
|
|
)
|
|
|
|
switch {
|
|
case size >= GB:
|
|
return "GB"
|
|
case size >= MB:
|
|
return "MB"
|
|
case size >= KB:
|
|
return "KB"
|
|
default:
|
|
return "B"
|
|
}
|
|
}
|
|
|
|
func formatMemorySize(size int) string {
|
|
const (
|
|
KB = 1024
|
|
MB = KB * 1024
|
|
GB = MB * 1024
|
|
)
|
|
|
|
switch formatMemoryUnit(size) {
|
|
case "GB":
|
|
return fmt.Sprintf("%.2f GB", float64(size)/GB)
|
|
case "MB":
|
|
return fmt.Sprintf("%.2f MB", float64(size)/MB)
|
|
case "KB":
|
|
return fmt.Sprintf("%.2f KB", float64(size)/KB)
|
|
case "B":
|
|
return fmt.Sprintf("%d B", size)
|
|
default:
|
|
panic("invalid memory size")
|
|
}
|
|
}
|
|
|
|
func formatMemoryPlainSize(size int) int {
|
|
const (
|
|
KB = 1024
|
|
MB = KB * 1024
|
|
GB = MB * 1024
|
|
)
|
|
|
|
switch formatMemoryUnit(size) {
|
|
case "GB":
|
|
return size / GB
|
|
case "MB":
|
|
return size / MB
|
|
case "KB":
|
|
return size / KB
|
|
case "B":
|
|
return size
|
|
default:
|
|
panic("invalid memory size")
|
|
}
|
|
}
|
|
|
|
func isRamType(size int, unit string) bool {
|
|
if size == 0 && unit == "MB" {
|
|
return true
|
|
}
|
|
actualUnit := formatMemoryUnit(size)
|
|
return unit == actualUnit
|
|
}
|
|
|
|
func formatType(t string) string {
|
|
switch t {
|
|
case "ram":
|
|
return "Random Access Memory"
|
|
default:
|
|
return t
|
|
}
|
|
}
|