Browse Source

moves cli output generator to lib. this enables other application to reuse this functionality

Signed-off-by: Christoph Hartmann <chris@lollyrock.com>
Christoph Hartmann 8 years ago
parent
commit
0a5d819fd6
2 changed files with 18 additions and 19 deletions
  1. 17 0
      qrcode.go
  2. 1 19
      qrcode/main.go

+ 17 - 0
qrcode.go

@@ -535,3 +535,20 @@ func (q *QRCode) addPadding() {
 		log.Panicf("BUG: got len %d, expected %d", q.data.Len(), numDataBits)
 	}
 }
+
+// ToString produces a multi-line string that forms a QR-code image.
+func (q *QRCode) ToString(inverseColor bool) string {
+	bits := q.Bitmap()
+	var buf bytes.Buffer
+	for y := range bits {
+		for x := range bits[y] {
+			if bits[y][x] != inverseColor {
+				buf.WriteString("  ")
+			} else {
+				buf.WriteString("██")
+			}
+		}
+		buf.WriteString("\n")
+	}
+	return buf.String()
+}

+ 1 - 19
qrcode/main.go

@@ -4,7 +4,6 @@
 package main
 
 import (
-	"bytes"
 	"flag"
 	"fmt"
 	"os"
@@ -54,7 +53,7 @@ Usage:
 	checkError(err)
 
 	if *textArt {
-		art := qr2String(q, *negative)
+		art := q.ToString(*negative)
 		fmt.Println(art)
 		return
 	}
@@ -84,20 +83,3 @@ func checkError(err error) {
 		os.Exit(1)
 	}
 }
-
-// qr2String produces a multi-line string that forms a QR-code image.
-func qr2String(qr *qrcode.QRCode, inverseColor bool) string {
-	bits := qr.Bitmap()
-	var buf bytes.Buffer
-	for y := range bits {
-		for x := range bits[y] {
-			if bits[y][x] != inverseColor {
-				buf.WriteString("  ")
-			} else {
-				buf.WriteString("██")
-			}
-		}
-		buf.WriteString("\n")
-	}
-	return buf.String()
-}