Source code for ncbitaxonomist.convert.taxadb
"""
..
Copyright 2019, 2020 The University of Sydney
.. moduleauthor:: Jan P Buchmann <jan.buchmann@sydney.edu.au>
"""
from __future__ import annotations
from typing import Dict, Type, Mapping
import ncbitaxonomist.model.taxon
import ncbitaxonomist.convert.converter
[docs]class TaxaDbConverter(ncbitaxonomist.convert.converter.ModelConverter):
"""Converts local database attributes into
class:`ncbitaxonomist.model.taxon.Taxon` instances and vice versa"""
[docs] def convert_to_model(self, attributes:Mapping, srcdb=None)->Type[ncbitaxonomist.model.taxon.Taxon]:
"""
Convert local database taxon attributes into
class:`ncbitaxonomist.model.taxon.Taxon`
"""
del srcdb
attributes['names'] = {}
if 'name' in attributes:
attributes['names'].update({attributes['name']:attributes['type']})
return ncbitaxonomist.model.taxon.Taxon(attributes)
[docs] def convert_from_model(self, model:Type[ncbitaxonomist.model.taxon.Taxon], outdict=None)->Dict[str,str]:
del outdict
return model.get_attribues()