Ghini / ghini.desktop

plant collections manager (desktop version)
http://ghini.github.io/
GNU General Public License v2.0
24 stars 14 forks source link

computing binomial with qualified rank #135

Open mfrasca opened 8 years ago

mfrasca commented 8 years ago

From @mfrasca on January 8, 2016 12:14

the static method Species.str computes the markup string for a taxon, species or infraspecific. when an accession has been identified with uncertainty, this is expressed using one of 'forsan', 'cf.', 'aff.' etc. the task to put these strings into the species markup string is solved by creating a new species object and altering the indicated rank by prefixing it with the uncertainty specifier. technically: I hope there is an other way because to do so we need create a temporary session, duplicate the object, alter it, and then roll-back everything and close the session. functionally: by this trick the uncertainty specifier is italicized like the rest of the string, which is not correct.

Copied from original issue: Bauble/bauble.classic#264

mfrasca commented 8 years ago

I"m reviewing the tests and there are things I'm not so sure about. since the unit tests create situations which cannot be reproduced from the interface, I'm going to rewrite the tests, but then I need information from botanists. imagine we have »Gleditsia triacanthos var. inermis 'Sunburst'« and an accession possibly referring to it, say you want to say »cf.« at some rank. where could you possibly need to put the »cf.« depending on your uncertainty level? same question if your doubt is expressed by »aff.«, »incorrect«, »forsan«, »near«, »?« (ITF2-C25-idql)

mfrasca commented 8 years ago

also, according to what I read on the relevant wikipedia page, if you have a taxon like »Saxifraga aizoon var. aizoon subvar. brevifolia f. multicaulis subf. surculosa«, you would not refer to it using the full classification but just as »Saxifraga aizoon subf. surculosa«. I've already recently added to the Species class some logic allowing us select the lowest infraspecific rank/epithet/author, so I think I should use this in the updated Species.str instance method.