Skip to content

Commit 96d816f

Browse files
ref issue 28 - pretty print card numbers
1 parent c3da610 commit 96d816f

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

actions.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,7 @@ func addNewCardEntry() error {
274274
err, cardPin = readPassword()
275275

276276
if !validateCardPin(cardPin) {
277-
fmt.Printf("\nError - Invalid PIN")
278-
return errors.New("Error - Invalid PIN")
277+
fmt.Printf("\n<Warning - Empty PIN!>")
279278
}
280279

281280
cardIssuer = readInput(reader, "\nIssuing Bank")

utils.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,27 @@ func printDelim(delimChar string, color string) {
300300
fmt.Println(strings.Join(delims, ""))
301301
}
302302

303+
// Prettify credit/debit card numbers
304+
func prettifyCardNumber(cardNumber string) string {
305+
306+
// Amex cards are 15 digits - group as 4, 6, 5
307+
// Any 16 digits - group as 4/4/4/4
308+
var numbers []string
309+
310+
if len(cardNumber) == 15 {
311+
numbers = append(numbers, cardNumber[0:4])
312+
numbers = append(numbers, cardNumber[4:10])
313+
numbers = append(numbers, cardNumber[10:15])
314+
} else if len(cardNumber) == 16 {
315+
numbers = append(numbers, cardNumber[0:4])
316+
numbers = append(numbers, cardNumber[4:8])
317+
numbers = append(numbers, cardNumber[8:12])
318+
numbers = append(numbers, cardNumber[12:16])
319+
}
320+
321+
return strings.Join(numbers, " ")
322+
}
323+
303324
// Print a card entry to the console
304325
func printCardEntry(entry *Entry, settings* Settings, delim bool) error {
305326

@@ -317,7 +338,7 @@ func printCardEntry(entry *Entry, settings* Settings, delim bool) error {
317338
fmt.Printf("ID: %d\n", entry.ID)
318339
fmt.Printf("Card Name: %s\n", entry.Title)
319340
fmt.Printf("Card Holder: %s\n", entry.User)
320-
fmt.Printf("Card Number: %s\n", entry.Url)
341+
fmt.Printf("Card Number: %s\n", prettifyCardNumber(entry.Url))
321342
fmt.Printf("Card Type: %s\n", entry.Class)
322343

323344
if entry.Issuer != "" {

0 commit comments

Comments
 (0)