Przeglądaj źródła

No longer exits on failure.

Spencer Gardner 6 lat temu
rodzic
commit
354ba7161f
1 zmienionych plików z 37 dodań i 33 usunięć
  1. 37 33
      json_get/json_get.go

+ 37 - 33
json_get/json_get.go

@@ -25,6 +25,42 @@ type jsonPacket struct {
 	Temperature_F float64
 }
 
+func checkTemperature(writer temperature.Writer) {
+	resp, err := http.Get(*host)
+	if err != nil {
+		fmt.Println(err.Error())
+		return
+	}
+	defer resp.Body.Close()
+	contents, err := ioutil.ReadAll(resp.Body)
+	if err != nil {
+		fmt.Println(err.Error())
+		return
+	}
+
+	buffer := []byte(contents)
+	if json.Valid(buffer) {
+		var jsonPacket jsonPacket
+
+		err := json.Unmarshal(buffer, &jsonPacket)
+		if err != nil {
+			fmt.Println(err.Error())
+			return
+		}
+		if strings.Contains(strings.ToLower(string(contents)), "_f") {
+			jsonPacket.Temperature_C = (jsonPacket.Temperature_F - 32) * 5 / 9
+		}
+
+		fmt.Printf("Celcius: %f. Fahrenheit: %f \n", jsonPacket.Temperature_C, jsonPacket.Temperature_F)
+		measurement := temperature.Measurement{Temperature: jsonPacket.Temperature_C, BatteryState: temperature.BATT_NOT_AVAILABLE, ID: 0}
+		err = writer.Write(measurement)
+		if err != nil {
+			fmt.Println(err.Error())
+			return
+		}
+	}
+}
+
 func main() {
 	host = flag.String("host", "http://localhost:80", "Http address (http://localhost:80)")
 	db = flag.String("db", "temperature", "Influxdb database")
@@ -42,39 +78,7 @@ func main() {
 		return
 	}
 	for {
-		resp, err := http.Get(*host)
-		if err != nil {
-			fmt.Println(err.Error())
-			return
-		}
-		defer resp.Body.Close()
-		contents, err := ioutil.ReadAll(resp.Body)
-		if err != nil {
-			fmt.Println(err.Error())
-			return
-		}
-
-		buffer := []byte(contents)
-		if json.Valid(buffer) {
-			var jsonPacket jsonPacket
-
-			err := json.Unmarshal(buffer, &jsonPacket)
-			if err != nil {
-				fmt.Println(err.Error())
-				return
-			}
-			if strings.Contains(strings.ToLower(string(contents)), "_f") {
-				jsonPacket.Temperature_C = (jsonPacket.Temperature_F - 32) * 5 / 9
-			}
-
-			fmt.Printf("Celcius: %f. Fahrenheit: %f \n", jsonPacket.Temperature_C, jsonPacket.Temperature_F)
-			measurement := temperature.Measurement{Temperature: jsonPacket.Temperature_C, BatteryState: temperature.BATT_NOT_AVAILABLE, ID: 0}
-			err = writer.Write(measurement)
-			if err != nil {
-				fmt.Println(err.Error())
-				return
-			}
-		}
+		checkTemperature(writer)
 		time.Sleep(time.Duration(*seconds) * time.Second)
 	}
 }