Some checks reported errors
continuous-integration/drone/push Build encountered an error
16 lines
519 B
Python
16 lines
519 B
Python
from __future__ import annotations
|
|
from datetime import date
|
|
from typing import List, Optional
|
|
|
|
def csv_to_list(s: Optional[str]) -> List[str]:
|
|
return [x.strip() for x in (s or "").split(",") if x.strip()]
|
|
|
|
def list_to_csv(items: List[str]) -> str:
|
|
return ", ".join([i.strip() for i in items if i.strip()])
|
|
|
|
def calc_age(born: Optional[date]) -> Optional[int]:
|
|
if not born:
|
|
return None
|
|
today = date.today()
|
|
return today.year - born.year - ((today.month, today.day) < (born.month, born.day))
|