aboutsummaryrefslogtreecommitdiff
path: root/uuid.go
diff options
context:
space:
mode:
Diffstat (limited to 'uuid.go')
-rw-r--r--uuid.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/uuid.go b/uuid.go
new file mode 100644
index 0000000..a70e995
--- /dev/null
+++ b/uuid.go
@@ -0,0 +1,22 @@
+package anki
+
+import (
+ "encoding/hex"
+ "fmt"
+ "strings"
+)
+
+func ParseUUID(s string) (UUID, error) {
+ s = strings.Replace(s, "-", "", -1)
+ x, err := hex.DecodeString(s)
+ if err != nil {
+ return UUID{}, err
+ }
+ var u UUID
+ copy(u[:], x)
+ return u, nil
+}
+
+func (u UUID) String() string {
+ return fmt.Sprintf("%X-%X-%X-%X-%X", u[:4], u[4:6], u[6:8], u[8:10], u[10:])
+}