diff --git a/ogame.go b/ogame.go index 3921685e..bdb33399 100644 --- a/ogame.go +++ b/ogame.go @@ -1661,9 +1661,11 @@ func extractGalaxyInfos(pageHTML, botPlayerName string, botPlayerID, botPlayerRa activity := 0 activityDiv := s.Find("div.activity") if activityDiv != nil { - activityRaw := strings.TrimSpace(activityDiv.Text()) - if activityRaw != "" { - activity, _ = strconv.Atoi(activityRaw) + activityDivClass := activityDiv.AttrOr("class", "") + if strings.Contains(activityDivClass, "minute15") { + activity = 15 + } else if strings.Contains(activityDivClass, "showMinutes") { + activity, _ = strconv.Atoi(strings.TrimSpace(activityDiv.Text())) } } diff --git a/ogame_test.go b/ogame_test.go index 90421c2b..2b44da60 100644 --- a/ogame_test.go +++ b/ogame_test.go @@ -153,6 +153,27 @@ func TestExtractGalaxyInfosOwnPlanet(t *testing.T) { assert.Equal(t, "Homeworld", infos[4].Name) } +func TestExtractGalaxyInfosPlanetNoActivity(t *testing.T) { + pageHTMLBytes, _ := ioutil.ReadFile("samples/galaxy_planet_activity.html") + infos, _ := extractGalaxyInfos(string(pageHTMLBytes), "Commodore Nomade", 123, 456) + assert.Equal(t, 8, len(infos)) + assert.Equal(t, 0, infos[7].Activity) +} + +func TestExtractGalaxyInfosPlanetActivity15(t *testing.T) { + pageHTMLBytes, _ := ioutil.ReadFile("samples/galaxy_planet_activity.html") + infos, _ := extractGalaxyInfos(string(pageHTMLBytes), "Commodore Nomade", 123, 456) + assert.Equal(t, 8, len(infos)) + assert.Equal(t, 15, infos[2].Activity) +} + +func TestExtractGalaxyInfosPlanetActivity23(t *testing.T) { + pageHTMLBytes, _ := ioutil.ReadFile("samples/galaxy_planet_activity.html") + infos, _ := extractGalaxyInfos(string(pageHTMLBytes), "Commodore Nomade", 123, 456) + assert.Equal(t, 8, len(infos)) + assert.Equal(t, 23, infos[3].Activity) +} + func TestExtractGalaxyInfosMoonActivity(t *testing.T) { pageHTMLBytes, _ := ioutil.ReadFile("samples/galaxy_moon_activity.html") infos, _ := extractGalaxyInfos(string(pageHTMLBytes), "Commodore Nomade", 123, 456) diff --git a/samples/galaxy_planet_activity.html b/samples/galaxy_planet_activity.html new file mode 100644 index 00000000..f8a41a74 --- /dev/null +++ b/samples/galaxy_planet_activity.html @@ -0,0 +1 @@ +{"galaxy":"\n