gofio

http server for overview for accounts from FIO bank
git clone git://gtms.dev/gofio
Log | Files | Refs

token.go (767B)


      1 package main
      2 
      3 import (
      4 	"bufio"
      5 	"io"
      6 	"strings"
      7 )
      8 
      9 type token struct {
     10 	name   string
     11 	token  string
     12 	config config
     13 }
     14 
     15 type config struct {
     16 	onlyIncome bool
     17 }
     18 
     19 func parseTokens(tokens io.Reader) ([]token, error) {
     20 	var o []token
     21 	scanner := bufio.NewScanner(tokens)
     22 	for scanner.Scan() {
     23 		text := scanner.Text()
     24 		if strings.HasPrefix(text, "#") {
     25 			continue
     26 		}
     27 		split := strings.Split(text, " ")
     28 		token := token{name: split[1], token: split[0]}
     29 		// config
     30 		if len(split) > 2 {
     31 			configs := strings.Split(split[2], ",")
     32 			for _, c := range configs {
     33 				switch c {
     34 				case "onlyIncome":
     35 					token.config = config{onlyIncome: true}
     36 				}
     37 			}
     38 		}
     39 		o = append(o, token)
     40 	}
     41 	if err := scanner.Err(); err != nil {
     42 		return []token{}, err
     43 	}
     44 	return o, nil
     45 }