From 4e8e616ee9d6bf09786a819b2e7f8da0ddb35970 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 11 Dec 2016 01:17:47 +0100 Subject: Parse UID --- uuid.go | 22 ++++++++++++++++++++++ uuid_test.go | 11 +++++++++++ 2 files changed, 33 insertions(+) create mode 100644 uuid.go create mode 100644 uuid_test.go 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:]) +} diff --git a/uuid_test.go b/uuid_test.go new file mode 100644 index 0000000..134c868 --- /dev/null +++ b/uuid_test.go @@ -0,0 +1,11 @@ +package anki + +import "testing" + +func TestParseUUID(t *testing.T) { + uuid, err := ParseUUID(ServiceUUID) + if err != nil { + t.Error(err) + } + t.Log(uuid) +} -- cgit v1.2.3