drae
drae copied to clipboard
Accent mark handling
When searching for words with accent marks, there's an odd behaviour:
$ docker run squat/drae define ficción
[{"word":"ficción","etymology":"Del lat. fictio, -ōnis.","definitions":[{"category":"nombre femenino","definition":"Acción y efecto de fingir","origin":[],"notes":[],"examples":[]},{"category":"nombre femenino","definition":"Invención cosa fingida","origin":[],"notes":[],"examples":[]},{"category":"nombre femenino","definition":"Clase de obras literarias o cinematográficas generalmente narrativas que tratan de sucesos y personajes imaginarios","origin":[],"notes":[],"examples":["Obra, libro de ficción."]}],"variations":[{"definitions":[{"category":"nombre femenino","definition":"ficción que introduce o autoriza la ley o la jurisprudencia en favor de alguien como cuando al hijo concebido se le tiene por nacido","origin":["Derecho"],"notes":[],"examples":[]},{"category":"","definition":"ciencia ficción","origin":[],"notes":[],"examples":[]}],"variation":"ficción de derecho, o ficción legal"}]}]
$ docker run squat/drae define ficcion
[{"word":"ficcion","etymology":"Del lat. fictio, -ōnis.","definitions":[{"category":"nombre femenino","definition":"Acción y efecto de fingir","origin":[],"notes":[],"examples":[]},{"category":"nombre femenino","definition":"Invención cosa fingida","origin":[],"notes":[],"examples":[]},{"category":"nombre femenino","definition":"Clase de obras literarias o cinematográficas generalmente narrativas que tratan de sucesos y personajes imaginarios","origin":[],"notes":[],"examples":["Obra, libro de ficción."]}],"variations":[{"definitions":[{"category":"nombre femenino","definition":"ficción que introduce o autoriza la ley o la jurisprudencia en favor de alguien como cuando al hijo concebido se le tiene por nacido","origin":["Derecho"],"notes":[],"examples":[]},{"category":"","definition":"ciencia ficción","origin":[],"notes":[],"examples":[]}],"variation":"ficción de derecho, o ficción legal"}]}]
$ docker run squat/drae define fíccion
[{"word":"fíccion","etymology":"Del lat. fictio, -ōnis.","definitions":[{"category":"nombre femenino","definition":"Acción y efecto de fingir","origin":[],"notes":[],"examples":[]},{"category":"nombre femenino","definition":"Invención cosa fingida","origin":[],"notes":[],"examples":[]},{"category":"nombre femenino","definition":"Clase de obras literarias o cinematográficas generalmente narrativas que tratan de sucesos y personajes imaginarios","origin":[],"notes":[],"examples":["Obra, libro de ficción."]}],"variations":[{"definitions":[{"category":"nombre femenino","definition":"ficción que introduce o autoriza la ley o la jurisprudencia en favor de alguien como cuando al hijo concebido se le tiene por nacido","origin":["Derecho"],"notes":[],"examples":[]},{"category":"","definition":"ciencia ficción","origin":[],"notes":[],"examples":[]}],"variation":"ficción de derecho, o ficción legal"}]}]
- In the first search (
ficción
), everything works as expected - In the second search (
ficcion
) the accent mark has been omitted and the search engine manages to find it anyway :+1: . But the returned object includes the wrong spelling in theword
field - In the third example (
fíccion
) a wrong accent mark has been added and the same thing happens
Peekin'round the code found that the word used to generate the returned object is the same received by parameter - define.go:127
func scrape(url string, word string) ([]*Entry, error) {
// ...
entries[k] = &Entry{
Word: word,
Etymology: etymology,
Definitions: defs,
Variations: vars,
}
// ...
return entries, nil
}
Haven't gone thru the scraping details, but I guess the correct word spelling will be in the returned document.
It would be a very nice feature to have (I use drae very frequently) since sometimes I don't feel confident about having the spelling right even if I check the dictionary (so I have to go to the official site)
BTW, thanks a lot for drae!!!!