Source code for firm_info.serializers

[docs]class SerializeFirmError(Exception): """ Custom exception to handle errors during Firm informations serialization. """ pass
def _format_address(firm_info: dict) -> str: return "{}, {} {} {}".format( firm_info.get("address"), firm_info.get("postal_code"), firm_info.get("city"), firm_info.get("country"), )
[docs]def serialize_firm_info(queryset): """ Serialize FirmContact unique instance. Args: `FirmContact` Queryset Raises: SerializeFirmError Returns: (dict): email phone and address of firm as serialized data Sample: ``` { "email": "email@mail.com", "phone": "003369856321", "address": "1 avenue Charles de Gaulle, 99999 Paris" } ``` """ try: firm_info = queryset.values( "phone_number", "email", "address", "postal_code", "city", "country" ).first() return { "email": firm_info.get("email"), "phone": firm_info.get("phone_number"), "address": _format_address(firm_info), } except Exception as err: raise SerializeFirmError from err
[docs]def serialize_firm_social(queryset): """ Serialize Firm social networks urls. Args: `Link` Queryset Raises: SerializeFirmError Returns: (dict): social network name as dict key, url as dict value. Sample: ```python { "facebook": "www.site.com", "instagram": "www.site2.com" } ``` """ try: firm_socials = list( queryset.values( "name", "url", ) ) return { social.get("name", "NOTFOUND"): social.get("url", "NOTFOUND") for social in firm_socials } except Exception as err: raise SerializeFirmError from err
[docs]def serialize_firm_description(queryset): """ Serialize FirmContact unique instance. Args: `FirmContact` Queryset Raises: SerializeFirmError Returns: (dict): baseline and short_description of firm as serialized data Sample: ``` { "baseline": "Non eram nescius, Brute, cum, quae summis ingeniis", "short_description": "Quamquam, si plane sic verterem Platonem" } ``` """ try: firm_info = queryset.values("baseline", "short_description").first() return { "baseline": firm_info.get("baseline"), "short_description": firm_info.get("short_description"), } except Exception as err: raise SerializeFirmError from err
[docs]def serialize_firm_social_sharing(obj): """ Serialize Firm social networks sharing urls. Args: `SocialSharing` Queryset Raises: SerializeFirmError Returns: (dict): og_image, og_description and og_twitter_site as serialized data Sample: ```python { "og_image": SmartMediaField(), "og_description": TextField(), "og_twitter_site": CharField(), } ``` """ try: return { "og_image": obj.og_image, "og_description": obj.og_description, "og_twitter_site": obj.og_twitter_site, } except Exception as err: raise SerializeFirmError from err
def serialize_firm_apps_banner(obj): try: return { "title": obj.title, "description": obj.description, "image": obj.image, } except Exception as err: raise SerializeFirmError from err