def add_original_names(): for name in Name.select(): if name.original_citation and not name.original_name: message = u"Name {} is missing an original name, but has original citation {{{}}}:{}".format( name.description(), name.original_citation, name.page_described ) name.original_name = getinput.get_line(message, handlers={"o": lambda _: name.open_description()}) if not name.page_described: name.page_described = getinput.get_line( "Enter page described", handlers={"o": lambda _: name.open_description()}, should_stop=lambda line: line == "s", ) name.save()
def add_page_described(): for name in Name.filter( Name.original_citation != None, Name.page_described >> None, Name.year != "in press" ).order_by(Name.original_citation): message = "Name %s is missing page described, but has original citation {%s}" % ( name.description(), name.original_citation, ) name.page_described = getinput.get_line( message, handlers={"o": lambda _: name.open_description()}, should_stop=lambda line: line == "s" ) name.save()
def add_types(): for name in Name.filter( Name.original_citation != None, Name.type >> None, Name.year > "1930", Name.group == db.constants.GROUP_GENUS ).order_by(Name.original_citation): name.taxon.display(full=True, max_depth=1) message = "Name %s is missing type, but has original citation {%s}" % ( name.description(), name.original_citation, ) verbatim_type = getinput.get_line( message, handlers={"o": lambda _: name.open_description()}, should_stop=lambda line: line == "s" ) if verbatim_type is not None: name.detect_and_set_type(verbatim_type, verbose=True)