chore: consistently rename vehicle Title api to GetTitle (#21955)

This commit is contained in:
andig 2025-06-21 12:33:41 +02:00 • committed by GitHub
parent 4d10dcf562
commit 679c8f01d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 42 additions and 37 deletions

View file

@ -133,7 +133,7 @@ type Vehicle interface {
IconDescriber
FeatureDescriber
PhaseDescriber
Title() string
TitleDescriber
SetTitle(string)
Identifiers() []string
OnIdentified() ActionConfig
@ -208,6 +208,11 @@ type FeatureDescriber interface {
Features() []Feature
}
// TitleDescriber optionally provides an title
type TitleDescriber interface {
GetTitle() string
}
// CsvWriter converts to csv
type CsvWriter interface {
WriteCsv(context.Context, io.Writer) error

View file

@ -502,6 +502,20 @@ func (mr *MockVehicleMockRecorder) Features() *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Features", reflect.TypeOf((*MockVehicle)(nil).Features))
}
// GetTitle mocks base method.
func (m *MockVehicle) GetTitle() string {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetTitle")
ret0, _ := ret[0].(string)
return ret0
}
// GetTitle indicates an expected call of GetTitle.
func (mr *MockVehicleMockRecorder) GetTitle() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTitle", reflect.TypeOf((*MockVehicle)(nil).GetTitle))
}
// Icon mocks base method.
func (m *MockVehicle) Icon() string {
m.ctrl.T.Helper()
@ -585,20 +599,6 @@ func (mr *MockVehicleMockRecorder) Soc() *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Soc", reflect.TypeOf((*MockVehicle)(nil).Soc))
}
// Title mocks base method.
func (m *MockVehicle) Title() string {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "Title")
ret0, _ := ret[0].(string)
return ret0
}
// Title indicates an expected call of Title.
func (mr *MockVehicleMockRecorder) Title() *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Title", reflect.TypeOf((*MockVehicle)(nil).Title))
}
// MockChargeRater is a mock of ChargeRater interface.
type MockChargeRater struct {
ctrl *gomock.Controller

View file

@ -118,7 +118,7 @@ func runDump(cmd *cobra.Command, args []string) {
}
for _, v := range site.Vehicles().Instances() {
d.DumpWithHeader(fmt.Sprintf("vehicle: %s", v.Title()), v)
d.DumpWithHeader(fmt.Sprintf("vehicle: %s", v.GetTitle()), v)
}
for id, lpI := range site.Loadpoints() {

View file

@ -383,7 +383,7 @@ func vehicleInstance(cc config.Named) (api.Vehicle, error) {
}
// ensure vehicle config has title
if instance.Title() == "" {
if instance.GetTitle() == "" {
//lint:ignore SA1019 as Title is safe on ascii
instance.SetTitle(strings.Title(cc.Name))
}

View file

@ -144,7 +144,7 @@ func (c *Coordinator) identifyVehicleByStatus(available []api.Vehicle) api.Vehic
continue
}
c.log.DEBUG.Printf("vehicle status: %s (%s)", status, vehicle.Title())
c.log.DEBUG.Printf("vehicle status: %s (%s)", status, vehicle.GetTitle())
// vehicle is plugged or charging, so it should be the right one
if status == api.StatusB || status == api.StatusC {

View file

@ -37,8 +37,8 @@ func TestVehicleDetectByStatus(t *testing.T) {
log := util.NewLogger("foo")
vehicles := []api.Vehicle{v1, v2}
v1.MockVehicle.EXPECT().Title().Return("v1").AnyTimes()
v2.MockVehicle.EXPECT().Title().Return("v2").AnyTimes()
v1.MockVehicle.EXPECT().GetTitle().Return("v1").AnyTimes()
v2.MockVehicle.EXPECT().GetTitle().Return("v2").AnyTimes()
v1.MockVehicle.EXPECT().Identifiers().Return(nil).AnyTimes()
v2.MockVehicle.EXPECT().Identifiers().Return([]string{"it's me"}).AnyTimes()

View file

@ -1090,7 +1090,7 @@ func (lp *Loadpoint) updateChargerStatus() (bool, error) {
for _, v := range lp.availableVehicles() {
if slices.Contains(v.Features(), api.WelcomeCharge) {
welcomeCharge = true
lp.log.DEBUG.Printf("welcome charge: %s", v.Title())
lp.log.DEBUG.Printf("welcome charge: %s", v.GetTitle())
break
}
}

View file

@ -34,7 +34,7 @@ func (lp *Loadpoint) createSession() {
lp.session = lp.db.New(lp.chargeMeterTotal())
if vehicle := lp.GetVehicle(); vehicle != nil {
lp.session.Vehicle = vehicle.Title()
lp.session.Vehicle = vehicle.GetTitle()
} else if lp.chargerHasFeature(api.IntegratedDevice) {
lp.session.Vehicle = lp.GetTitle()
}

View file

@ -115,12 +115,12 @@ func (lp *Loadpoint) setActiveVehicle(v api.Vehicle) {
from := "unknown"
if lp.vehicle != nil {
lp.coordinator.Release(lp.vehicle)
from = lp.vehicle.Title()
from = lp.vehicle.GetTitle()
}
to := "unknown"
if v != nil {
lp.coordinator.Acquire(v)
to = v.Title()
to = v.GetTitle()
}
lp.vehicle = v
@ -141,7 +141,7 @@ func (lp *Loadpoint) setActiveVehicle(v api.Vehicle) {
lp.socEstimator = soc.NewEstimator(lp.log, lp.charger, v, estimate)
lp.publish(keys.VehicleName, vehicle.Settings(lp.log, v).Name())
lp.publish(keys.VehicleTitle, v.Title())
lp.publish(keys.VehicleTitle, v.GetTitle())
if mode, ok := v.OnIdentified().GetMode(); ok {
lp.SetMode(mode)
@ -165,7 +165,7 @@ func (lp *Loadpoint) setActiveVehicle(v api.Vehicle) {
lp.updateSession(func(session *session.Session) {
var title string
if v != nil {
title = v.Title()
title = v.GetTitle()
}
lp.session.Vehicle = title

View file

@ -17,7 +17,7 @@ import (
)
func expectVehiclePublish(vehicle *api.MockVehicle) {
vehicle.EXPECT().Title().Return("target").AnyTimes()
vehicle.EXPECT().GetTitle().Return("target").AnyTimes()
vehicle.EXPECT().Capacity().AnyTimes()
vehicle.EXPECT().Icon().AnyTimes()
vehicle.EXPECT().Features().AnyTimes()
@ -156,7 +156,7 @@ func TestDefaultVehicle(t *testing.T) {
current := 66.6
dflt := api.NewMockVehicle(ctrl)
dflt.EXPECT().Title().Return("default").AnyTimes()
dflt.EXPECT().GetTitle().Return("default").AnyTimes()
dflt.EXPECT().Icon().Return("").AnyTimes()
dflt.EXPECT().Capacity().AnyTimes()
dflt.EXPECT().Phases().AnyTimes()
@ -166,7 +166,7 @@ func TestDefaultVehicle(t *testing.T) {
}).AnyTimes()
vehicle := api.NewMockVehicle(ctrl)
vehicle.EXPECT().Title().Return("target").AnyTimes()
vehicle.EXPECT().GetTitle().Return("target").AnyTimes()
vehicle.EXPECT().Icon().Return("").AnyTimes()
vehicle.EXPECT().Capacity().AnyTimes()
vehicle.EXPECT().Phases().AnyTimes()
@ -184,7 +184,7 @@ func TestDefaultVehicle(t *testing.T) {
if v == nil {
return "<nil>"
}
return v.Title()
return v.GetTitle()
}
// non-default vehicle identified

View file

@ -375,7 +375,7 @@ func (site *Site) DumpConfig() {
if vehicles := site.Vehicles().Instances(); len(vehicles) > 1 {
for _, v := range vehicles {
if _, ok := v.(api.ChargeState); !ok && len(v.Identifiers()) == 0 {
site.log.WARN.Printf("vehicle '%s' does not support automatic detection", v.Title())
site.log.WARN.Printf("vehicle '%s' does not support automatic detection", v.GetTitle())
}
}
}

View file

@ -49,7 +49,7 @@ func (site *Site) publishVehicles() {
ac := instance.OnIdentified()
res[v.Name()] = vehicleStruct{
Title: instance.Title(),
Title: instance.GetTitle(),
Icon: instance.Icon(),
Capacity: instance.Capacity(),
Phases: instance.Phases(),

View file

@ -84,7 +84,7 @@ func (h *Hub) apply(ev Event, tmpl string) (string, error) {
attr["vehiclePlanTime"], _, attr["vehiclePlanSoc"] = v.GetPlanSoc()
instance := v.Instance()
attr["vehicleTitle"] = instance.Title()
attr["vehicleTitle"] = instance.GetTitle()
attr["vehicleIcon"] = instance.Icon()
attr["vehicleCapacity"] = instance.Capacity()
}

View file

@ -268,7 +268,7 @@ func vehicleSelectHandler(site site.API, lp loadpoint.API) http.HandlerFunc {
res := struct {
Vehicle string `json:"vehicle"`
}{
Vehicle: v.Title(),
Vehicle: v.GetTitle(),
}
jsonResult(w, res)

View file

@ -167,7 +167,7 @@ func (m *Influx) Run(site site.API, in <-chan util.Param) {
tags["loadpoint"] = lp.GetTitle()
if v := lp.GetVehicle(); v != nil {
tags["vehicle"] = v.Title()
tags["vehicle"] = v.GetTitle()
}
}

View file

@ -25,8 +25,8 @@ func (v *embed) fromVehicle(title string, capacity float64) {
}
}
// Title implements the api.Vehicle interface
func (v *embed) Title() string {
// GetTitle implements the api.Vehicle interface
func (v *embed) GetTitle() string {
return v.Title_
}