Bladeren bron

Restructured the project

Spencer Gardner 7 jaren geleden
bovenliggende
commit
362835e745
6 gewijzigde bestanden met toevoegingen van 24 en 19 verwijderingen
  1. 1 1
      .gitignore
  2. 7 3
      json.go
  3. 3 4
      logger/log.go
  4. 1 1
      parser.go
  5. 9 6
      simple.go
  6. 3 4
      writer.go

+ 1 - 1
.gitignore

@@ -1 +1 @@
-/debug
+/logger/debug

+ 7 - 3
parser/json.go → json.go

@@ -1,4 +1,4 @@
-package parser
+package log_temperature
 
 import (
 	"bufio"
@@ -8,10 +8,14 @@ import (
 )
 
 // JSONParser reads the json output
-type JSONParser struct {
+type jsonParser struct {
 	Reader *bufio.Reader
 }
 
+func NewJsonParser(reader *bufio.Reader) Parser {
+	return &jsonParser{Reader: reader}
+}
+
 // {"time" : "2018-04-13 23:04:50", "model" : "Acurite 606TX Sensor", "id" : -5, "battery" : "OK", "temperature_C" : 21.800}
 type jsonPacket struct {
 	Time          string
@@ -22,7 +26,7 @@ type jsonPacket struct {
 }
 
 // Measure returns the temperature. Null if it can't
-func (jp JSONParser) Measure() (*Measurement, error) {
+func (jp jsonParser) Measure() (*Measurement, error) {
 	text, err := jp.Reader.ReadString('\n')
 	if err != nil {
 		return nil, err

+ 3 - 4
log.go → logger/log.go

@@ -10,8 +10,7 @@ import (
 	"strconv"
 	"strings"
 
-	"git.snppla.net/snppla/log-temperature/parser"
-	"git.snppla.net/snppla/log-temperature/writer"
+	"git.snppla.net/snppla/log_temperature"
 )
 
 type arrayFlags map[int]string
@@ -58,8 +57,8 @@ func main() {
 		reader = bufio.NewReader(os.Stdin)
 	}
 
-	parser := parser.JSONParser{Reader: reader}
-	writer, err := writer.NewInfluxWriter(*db, *host, *username, *password, locations)
+	parser := log_temperature.NewJsonParser(reader)
+	writer, err := log_temperature.NewInfluxWriter(*db, *host, *username, *password, locations)
 	if err != nil {
 		fmt.Println(err.Error())
 		return

+ 1 - 1
parser/parser.go → parser.go

@@ -1,4 +1,4 @@
-package parser
+package log_temperature
 
 // Measurement provides an interface for each reading
 type Measurement struct {

+ 9 - 6
parser/simple.go → simple.go

@@ -1,4 +1,4 @@
-package parser
+package log_temperature
 
 import (
 	"bufio"
@@ -7,14 +7,17 @@ import (
 	"strings"
 )
 
-// SimpleParser reads the default output and just scans for temperature
-type SimpleParser struct {
-	Reader *bufio.Reader
+type simpleParser struct {
+	reader *bufio.Reader
+}
+
+func NewSimpleParser(reader *bufio.Reader) Parser {
+	return &simpleParser{reader: reader}
 }
 
 // Measure returns the temperature. Null if it can't
-func (sp SimpleParser) Measure() (*Measurement, error) {
-	text, err := sp.Reader.ReadString('\n')
+func (sp simpleParser) Measure() (*Measurement, error) {
+	text, err := sp.reader.ReadString('\n')
 	if err != nil {
 		return nil, err
 	}

+ 3 - 4
writer/writer.go → writer.go

@@ -1,16 +1,15 @@
-package writer
+package log_temperature
 
 import (
 	"fmt"
 	"time"
 
-	"git.snppla.net/snppla/log-temperature/parser"
 	influx "github.com/influxdata/influxdb/client/v2"
 )
 
 // Writer is used to write out measurements
 type Writer interface {
-	Write(parser.Measurement) error
+	Write(Measurement) error
 }
 
 type influxWriter struct {
@@ -19,7 +18,7 @@ type influxWriter struct {
 	client    influx.Client
 }
 
-func (i influxWriter) Write(measurement parser.Measurement) error {
+func (i influxWriter) Write(measurement Measurement) error {
 	bp, err := influx.NewBatchPoints(influx.BatchPointsConfig{
 		Database:  i.db,
 		Precision: "s",