Source code for arthropod_describer.common.common

import typing
from dataclasses import dataclass
from typing import Union

from arthropod_describer.common.utils import get_dict_from_doc_str


[docs]@dataclass class Info: name: str = '' description: str = '' key: str = ''
[docs] @classmethod def load_from_doc_str(cls, doc_str: str) \ -> 'Info': if doc_str is None or doc_str == '': return Info() key_vals = get_dict_from_doc_str(doc_str) # name = key_vals['NAME'] # desc = key_vals['DESCRIPTION'] # # return Info(name, desc) return Info.load_from_dict(key_vals)
[docs] @classmethod def load_from_dict(cls, doc_dict: typing.Dict[str, str]) -> 'Info': name = doc_dict['NAME'] desc = doc_dict['DESCRIPTION'] if 'KEY' in doc_dict: key = doc_dict['KEY'] else: key = name return Info(name, desc, key=key)