"khard.formatter"
*****************

Formatting and sorting of contacts


Module Contents
===============

class khard.formatter.Formatter(display: str, preferred_email: List[str], preferred_phone: List[str], show_nicknames: bool, parsable: bool)

   A formtter for CarddavObject.

   It recieves some settings on initialisation which influence the
   formatting of the contact.

   FIRST = first_name

   LAST = last_name

   FORMAT = formatted_name

   static format_labeled_field(field: Dict[str, List[str]], preferred: List[str])

      Format a labeled field from a vcard for display, the first entry
      under the preferred label will be returned

      Parameters:
         * **field** -- the labeled field, this must not be empty!

         * **preferred** -- the order of preferred labels

      Returns:
         the formatted field entry

   get_special_field(self, vcard: CarddavObject, field: str)

      Returns certain fields with specific formatting options (for
      support of some list command options).

   static get_nested_field(vcard: CarddavObject, field: str)

      Returns the value of a nested field from a string

      get_nested_field(vcard,'emails.home.1') is equivalent to
      vcard.emails['home'][1].

      Parameters:
         * **vcard** -- the contact from which to get the field

         * **field** -- a field specification

      Returns:
         the nested field, or the empty string if it didn't exist
