Skip to content

Commit 3a5c0bf

Browse files
committed
Remove eventual duplicate queries as part of report
Also improve color readability (should address part of #7)
1 parent 83a71d2 commit 3a5c0bf

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

ui/delegate.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,6 @@ func Details(i domains.Response) string {
109109
}
110110
return fmt.Sprintf("%v | %v", i.Issuer.CommonName, dateOutput)
111111
} else {
112-
return fmt.Sprintf("Error: %v", red.Render(i.KnownError()))
112+
return fmt.Sprintf("%s %v", orange.Render("Error:"), red.Render(i.KnownError()))
113113
}
114114
}

ui/model.go

+25-2
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
314314
}
315315
return iDate.Before(jDate)
316316
})
317+
items = uniqueItems(items)
317318
m.list.SetItems(items)
318319
time.Sleep(1 * time.Second)
319320
return m, nil
@@ -375,8 +376,9 @@ func (m Model) View() string {
375376

376377
// exportResults exposer results to user
377378
func (m Model) exportResults(stdOut bool) {
378-
resp := make([]domains.Response, len(m.list.Items()))
379-
for k, v := range m.list.Items() {
379+
items := uniqueItems(m.list.Items())
380+
resp := make([]domains.Response, len(items))
381+
for k, v := range items {
380382
resp[k] = v.(domains.Response)
381383
}
382384
domains.CreateReport(resp, m.cfg.EnvQuery, m.cfg.report, stdOut)
@@ -398,3 +400,24 @@ func (m Model) ListCursorsEnabled(state bool) {
398400
m.list.KeyMap.ShowFullHelp.SetEnabled(state)
399401
m.list.SetShowHelp(state)
400402
}
403+
404+
func uniqueItems(s []list.Item) []list.Item {
405+
encountered := map[string]bool{}
406+
uniqueItems := []list.Item{}
407+
408+
for _, v := range s {
409+
log.Debug().Msgf("Duplicate test: %v", v)
410+
if !encountered[v.(domains.Response).Domain] {
411+
encountered[v.(domains.Response).Domain] = true
412+
}
413+
}
414+
415+
for _, v := range s {
416+
if encountered[v.(domains.Response).Domain] {
417+
uniqueItems = append(uniqueItems, v)
418+
encountered[v.(domains.Response).Domain] = false
419+
}
420+
}
421+
422+
return uniqueItems
423+
}

0 commit comments

Comments
 (0)