Browse Source

use proper directory structure

master
Brett Langdon 10 years ago
parent
commit
94f3160187
2 changed files with 2 additions and 85 deletions
  1. +2
    -2
      Makefile
  2. +0
    -83
      cmd/jsonstream.go

+ 2
- 2
Makefile View File

@ -1,5 +1,5 @@
jsonstream: ./cmd/jsonstream.go ./reader.go ./formatter.go ./utils.go
go build cmd/jsonstream.go
jsonstream: ./cmd/jsonstream/jsonstream.go ./reader.go ./formatter.go ./utils.go
go build cmd/jsonstream/jsonstream.go
clean:
rm ./jsonstream

+ 0
- 83
cmd/jsonstream.go View File

@ -1,83 +0,0 @@
package main
import (
"fmt"
"io"
"os"
"github.com/alexflint/go-arg"
"github.com/brettlangdon/jsonstream"
)
var args struct {
File string `arg:"-f,help:JSON stream file to read from"`
TSV bool `arg:"-t,help:Reformat the JSON stream to TSV '<value>\t<value>'"`
Key bool `arg:"-k,help:Whether or not to include the key in --tsv. '<key>=<value>\t<key>=<value>'"`
Keys []string `arg:"positional,help:Which keys from the input JSON stream to include in the output"`
}
func init() {
arg.MustParse(&args)
}
func getReader() (reader *jsonstream.Reader, err error) {
var input io.Reader
input = os.Stdin
if args.File != "" {
input, err = os.Open(args.File)
}
if err == nil {
reader = jsonstream.NewReader(input, args.Keys)
}
return reader, err
}
func getFormatter() (formatter *jsonstream.Formatter, err error) {
var format jsonstream.FormatType
format = jsonstream.FormatJSON
if args.TSV {
format = jsonstream.FormatTSV
if args.Key {
format = jsonstream.FormatTSVKey
}
}
if err == nil {
formatter = jsonstream.NewFormatter(format)
}
return formatter, err
}
func main() {
var err error
var reader *jsonstream.Reader
var formatter *jsonstream.Formatter
reader, err = getReader()
if err != nil {
panic(err)
}
formatter, err = getFormatter()
if err != nil {
panic(err)
}
for {
data, err := reader.ReadLine()
if err == io.EOF {
break
}
if err != nil {
panic(err)
}
var output []byte
output, err = formatter.Format(data)
if err != nil {
panic(err)
}
fmt.Printf("%s\r\n", output)
}
}

Loading…
Cancel
Save