khard.helpers.typing

Helper code for type annotations and runtime type conversion.

Attributes

Date

StrList

PostAddress

Functions

convert_to_vcard(…)

converts user input into vCard compatible data structures

list_to_string(→ str)

converts list to string recursively so that nested lists are supported

string_to_list(→ list[str])

string_to_date(→ datetime.datetime)

Convert a date string into a date object.

Module Contents

khard.helpers.typing.Date
khard.helpers.typing.StrList
khard.helpers.typing.PostAddress
khard.helpers.typing.convert_to_vcard(name: str, value: StrList, constraint: type[str]) str
khard.helpers.typing.convert_to_vcard(name: str, value: StrList, constraint: type[list]) list[str]
khard.helpers.typing.convert_to_vcard(name: str, value: StrList, constraint: None) StrList

converts user input into vCard compatible data structures

Parameters:
  • name – object name, only required for error messages

  • value – user input

  • constraint – set the accepted return type for vCard attribute

Returns:

cleaned user input, ready for vCard or a ValueError

khard.helpers.typing.list_to_string(input: str | list, delimiter: str) str

converts list to string recursively so that nested lists are supported

Parameters:
  • input – a list of strings and lists of strings (and so on recursive)

  • delimiter – the delimiter to use when joining the items

Returns:

the recursively joined list

khard.helpers.typing.string_to_list(input: str | list[str], delimiter: str) list[str]
khard.helpers.typing.string_to_date(string: str) datetime.datetime

Convert a date string into a date object.

Parameters:

string – the date string to parse

Returns:

the parsed datetime object