mirror of
https://github.com/idanoo/NZCovidBot
synced 2025-07-01 19:22:14 +00:00
Use reference for lastUpdatedTime
This commit is contained in:
parent
e1bb1a1ebe
commit
1b9339c371
2 changed files with 10 additions and 9 deletions
|
@ -56,7 +56,7 @@ func fetchAPILocations() (ApiResponse, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set user-agent info
|
// Set user-agent info
|
||||||
req.Header.Set("User-Agent", "NZCovidBot/1.0 (https://m2.nz)")
|
req.Header.Set("User-Agent", "NZCovidBot/1.1 (https://m2.nz)")
|
||||||
|
|
||||||
// Fire off the request
|
// Fire off the request
|
||||||
resp, err := client.Do(req)
|
resp, err := client.Do(req)
|
||||||
|
@ -82,6 +82,7 @@ func getNewAPILocations() {
|
||||||
// Set lastUpdate time at the start of the request so we don't miss any locations
|
// Set lastUpdate time at the start of the request so we don't miss any locations
|
||||||
// posted right after we poll
|
// posted right after we poll
|
||||||
newPollTime := time.Now()
|
newPollTime := time.Now()
|
||||||
|
previousPollTime := *lastUpdated
|
||||||
|
|
||||||
// Pull latest data
|
// Pull latest data
|
||||||
locations, err := fetchAPILocations()
|
locations, err := fetchAPILocations()
|
||||||
|
@ -95,7 +96,7 @@ func getNewAPILocations() {
|
||||||
|
|
||||||
// Iterate over the data and only find new locations
|
// Iterate over the data and only find new locations
|
||||||
for _, item := range locations.Items {
|
for _, item := range locations.Items {
|
||||||
if item.PublishedAt.Unix() > lastUpdated.Unix() {
|
if item.PublishedAt.Unix() > previousPollTime.Unix() {
|
||||||
// Clone the item to put in our own lil slice
|
// Clone the item to put in our own lil slice
|
||||||
copy := item
|
copy := item
|
||||||
newItems[item.Location.City] = append(newItems[item.Location.City], copy)
|
newItems[item.Location.City] = append(newItems[item.Location.City], copy)
|
||||||
|
@ -121,11 +122,11 @@ func getNewAPILocations() {
|
||||||
postTheUpdates()
|
postTheUpdates()
|
||||||
}
|
}
|
||||||
|
|
||||||
updateLastUpdated(newPollTime)
|
updateLastUpdated(&newPollTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
// updateLastUpdated - Creates/Updates lastUpdated.txt
|
// updateLastUpdated - Creates/Updates lastUpdated.txt
|
||||||
func updateLastUpdated(newUpdated time.Time) {
|
func updateLastUpdated(newUpdated *time.Time) {
|
||||||
// Make sure to update the global var for next poll
|
// Make sure to update the global var for next poll
|
||||||
lastUpdated = newUpdated
|
lastUpdated = newUpdated
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// Time of last succesful poll
|
// Time of last succesful poll
|
||||||
var lastUpdated time.Time
|
var lastUpdated *time.Time
|
||||||
|
|
||||||
// Main func
|
// Main func
|
||||||
func Lesgoooo() {
|
func Lesgoooo() {
|
||||||
|
@ -40,7 +40,7 @@ func Lesgoooo() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// getLastPollTime - If run previously, get last TS, otherwise Now()
|
// getLastPollTime - If run previously, get last TS, otherwise Now()
|
||||||
func getLastPollTime() time.Time {
|
func getLastPollTime() *time.Time {
|
||||||
// Set default of *now* if never run so we don't spam everything
|
// Set default of *now* if never run so we don't spam everything
|
||||||
lastPoll := time.Now()
|
lastPoll := time.Now()
|
||||||
|
|
||||||
|
@ -50,19 +50,19 @@ func getLastPollTime() time.Time {
|
||||||
b, err := ioutil.ReadAll(file)
|
b, err := ioutil.ReadAll(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Unable to read lastUpdated.txt: %s", err)
|
log.Printf("Unable to read lastUpdated.txt: %s", err)
|
||||||
return lastPoll
|
return &lastPoll
|
||||||
}
|
}
|
||||||
|
|
||||||
i, err := strconv.ParseInt(string(b), 10, 64)
|
i, err := strconv.ParseInt(string(b), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Unable to read lastUpdated.txt: %s", err)
|
log.Printf("Unable to read lastUpdated.txt: %s", err)
|
||||||
return lastPoll
|
return &lastPoll
|
||||||
}
|
}
|
||||||
|
|
||||||
lastPoll = time.Unix(i, 0)
|
lastPoll = time.Unix(i, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
return lastPoll
|
return &lastPoll
|
||||||
}
|
}
|
||||||
|
|
||||||
func postTheUpdates() {
|
func postTheUpdates() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue