mirror of
https://github.com/Xevion/go-ha.git
synced 2025-12-06 01:15:10 -06:00
refactor: move 'parse' back to internal root
This commit is contained in:
3
app.go
3
app.go
@@ -15,7 +15,6 @@ import (
|
|||||||
|
|
||||||
"github.com/Workiva/go-datastructures/queue"
|
"github.com/Workiva/go-datastructures/queue"
|
||||||
internal "github.com/Xevion/go-ha/internal"
|
internal "github.com/Xevion/go-ha/internal"
|
||||||
"github.com/Xevion/go-ha/internal/parse"
|
|
||||||
ws "github.com/Xevion/go-ha/internal/websocket"
|
ws "github.com/Xevion/go-ha/internal/websocket"
|
||||||
"github.com/Xevion/go-ha/types"
|
"github.com/Xevion/go-ha/types"
|
||||||
)
|
)
|
||||||
@@ -215,7 +214,7 @@ func (a *App) RegisterIntervals(intervals ...Interval) {
|
|||||||
panic(ErrInvalidArgs)
|
panic(ErrInvalidArgs)
|
||||||
}
|
}
|
||||||
|
|
||||||
i.nextRunTime = parse.ParseTime(string(i.startTime)).Carbon2Time()
|
i.nextRunTime = internal.ParseTime(string(i.startTime)).Carbon2Time()
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
for i.nextRunTime.Before(now) {
|
for i.nextRunTime.Before(now) {
|
||||||
i.nextRunTime = i.nextRunTime.Add(i.frequency)
|
i.nextRunTime = i.nextRunTime.Add(i.frequency)
|
||||||
|
|||||||
11
checkers.go
11
checkers.go
@@ -4,7 +4,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Xevion/go-ha/internal"
|
"github.com/Xevion/go-ha/internal"
|
||||||
"github.com/Xevion/go-ha/internal/parse"
|
|
||||||
"github.com/Xevion/go-ha/types"
|
"github.com/Xevion/go-ha/types"
|
||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
)
|
)
|
||||||
@@ -18,8 +17,8 @@ func CheckWithinTimeRange(startTime, endTime string) ConditionCheck {
|
|||||||
// if betweenStart and betweenEnd both set, first account for midnight
|
// if betweenStart and betweenEnd both set, first account for midnight
|
||||||
// overlap, then check if between those times.
|
// overlap, then check if between those times.
|
||||||
if startTime != "" && endTime != "" {
|
if startTime != "" && endTime != "" {
|
||||||
parsedStart := parse.ParseTime(startTime)
|
parsedStart := internal.ParseTime(startTime)
|
||||||
parsedEnd := parse.ParseTime(endTime)
|
parsedEnd := internal.ParseTime(endTime)
|
||||||
|
|
||||||
// check for midnight overlap
|
// check for midnight overlap
|
||||||
if parsedEnd.Lt(parsedStart) { // example turn on night lights when motion from 23:00 to 07:00
|
if parsedEnd.Lt(parsedStart) { // example turn on night lights when motion from 23:00 to 07:00
|
||||||
@@ -36,9 +35,9 @@ func CheckWithinTimeRange(startTime, endTime string) ConditionCheck {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// otherwise just check individual before/after
|
// otherwise just check individual before/after
|
||||||
} else if startTime != "" && parse.ParseTime(startTime).IsFuture() {
|
} else if startTime != "" && internal.ParseTime(startTime).IsFuture() {
|
||||||
cc.fail = true
|
cc.fail = true
|
||||||
} else if endTime != "" && parse.ParseTime(endTime).IsPast() {
|
} else if endTime != "" && internal.ParseTime(endTime).IsPast() {
|
||||||
cc.fail = true
|
cc.fail = true
|
||||||
}
|
}
|
||||||
return cc
|
return cc
|
||||||
@@ -170,7 +169,7 @@ func CheckStartEndTime(s types.TimeString, isStart bool) ConditionCheck {
|
|||||||
}
|
}
|
||||||
|
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
parsedTime := parse.ParseTime(string(s)).Carbon2Time()
|
parsedTime := internal.ParseTime(string(s)).Carbon2Time()
|
||||||
if isStart {
|
if isStart {
|
||||||
if parsedTime.After(now) {
|
if parsedTime.After(now) {
|
||||||
cc.fail = true
|
cc.fail = true
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import (
|
|||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
|
|
||||||
"github.com/Xevion/go-ha/internal"
|
"github.com/Xevion/go-ha/internal"
|
||||||
"github.com/Xevion/go-ha/internal/parse"
|
|
||||||
"github.com/Xevion/go-ha/types"
|
"github.com/Xevion/go-ha/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -129,13 +128,13 @@ func (b elBuilder3) ToState(s string) elBuilder3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b elBuilder3) Duration(s types.DurationString) elBuilder3 {
|
func (b elBuilder3) Duration(s types.DurationString) elBuilder3 {
|
||||||
d := parse.ParseDuration(string(s))
|
d := internal.ParseDuration(string(s))
|
||||||
b.entityListener.delay = d
|
b.entityListener.delay = d
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b elBuilder3) Throttle(s types.DurationString) elBuilder3 {
|
func (b elBuilder3) Throttle(s types.DurationString) elBuilder3 {
|
||||||
d := parse.ParseDuration(string(s))
|
d := internal.ParseDuration(string(s))
|
||||||
b.entityListener.throttle = d
|
b.entityListener.throttle = d
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import (
|
|||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
|
|
||||||
"github.com/Xevion/go-ha/internal"
|
"github.com/Xevion/go-ha/internal"
|
||||||
"github.com/Xevion/go-ha/internal/parse"
|
|
||||||
ws "github.com/Xevion/go-ha/internal/websocket"
|
ws "github.com/Xevion/go-ha/internal/websocket"
|
||||||
"github.com/Xevion/go-ha/types"
|
"github.com/Xevion/go-ha/types"
|
||||||
)
|
)
|
||||||
@@ -82,7 +81,7 @@ func (b eventListenerBuilder3) OnlyBefore(end string) eventListenerBuilder3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b eventListenerBuilder3) Throttle(s types.DurationString) eventListenerBuilder3 {
|
func (b eventListenerBuilder3) Throttle(s types.DurationString) eventListenerBuilder3 {
|
||||||
d := parse.ParseDuration(string(s))
|
d := internal.ParseDuration(string(s))
|
||||||
b.eventListener.throttle = d
|
b.eventListener.throttle = d
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package parse
|
package internal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -6,7 +6,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Xevion/go-ha/internal"
|
"github.com/Xevion/go-ha/internal"
|
||||||
"github.com/Xevion/go-ha/internal/parse"
|
|
||||||
"github.com/Xevion/go-ha/types"
|
"github.com/Xevion/go-ha/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -82,7 +81,7 @@ func (ib intervalBuilder) Call(callback IntervalCallback) intervalBuilderCall {
|
|||||||
|
|
||||||
// Takes a DurationString ("2h", "5m", etc) to set the frequency of the interval.
|
// Takes a DurationString ("2h", "5m", etc) to set the frequency of the interval.
|
||||||
func (ib intervalBuilderCall) Every(s types.DurationString) intervalBuilderEnd {
|
func (ib intervalBuilderCall) Every(s types.DurationString) intervalBuilderEnd {
|
||||||
d := parse.ParseDuration(string(s))
|
d := internal.ParseDuration(string(s))
|
||||||
ib.interval.frequency = d
|
ib.interval.frequency = d
|
||||||
return intervalBuilderEnd(ib)
|
return intervalBuilderEnd(ib)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/Xevion/go-ha/internal"
|
"github.com/Xevion/go-ha/internal"
|
||||||
"github.com/Xevion/go-ha/internal/parse"
|
|
||||||
"github.com/Xevion/go-ha/types"
|
"github.com/Xevion/go-ha/types"
|
||||||
"github.com/golang-module/carbon"
|
"github.com/golang-module/carbon"
|
||||||
)
|
)
|
||||||
@@ -77,7 +76,7 @@ func (sb scheduleBuilder) Call(callback ScheduleCallback) scheduleBuilderCall {
|
|||||||
|
|
||||||
// At takes a string in 24hr format time like "15:30".
|
// At takes a string in 24hr format time like "15:30".
|
||||||
func (sb scheduleBuilderCall) At(s string) scheduleBuilderEnd {
|
func (sb scheduleBuilderCall) At(s string) scheduleBuilderEnd {
|
||||||
t := parse.ParseTime(s)
|
t := internal.ParseTime(s)
|
||||||
sb.schedule.hour = t.Hour()
|
sb.schedule.hour = t.Hour()
|
||||||
sb.schedule.minute = t.Minute()
|
sb.schedule.minute = t.Minute()
|
||||||
return scheduleBuilderEnd(sb)
|
return scheduleBuilderEnd(sb)
|
||||||
|
|||||||
Reference in New Issue
Block a user