Skip to content

Commit 0330774

Browse files
committed
feat(toggl): get first name from email
lookup in user info cache before computing save in user info cache after computing
1 parent 84c5be0 commit 0330774

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

notebooks/toggl-to-harvest.ipynb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,31 @@
102102
" USER_INFO.update(file_info)\n",
103103
" print(f\"User info: {', '.join(USER_INFO.keys())}\")"
104104
]
105+
},
106+
{
107+
"cell_type": "code",
108+
"execution_count": null,
109+
"metadata": {},
110+
"outputs": [],
111+
"source": [
112+
"# get cached first name or derive from email\n",
113+
"def get_first_name(email: str):\n",
114+
" user = USER_INFO.get(email)\n",
115+
" first_name = user.get(\"First Name\") if user else None\n",
116+
" if first_name is None:\n",
117+
" parts = email.split(\"@\")\n",
118+
" first_name = parts[0].capitalize()\n",
119+
" data = {\"First Name\": first_name}\n",
120+
" if email in USER_INFO:\n",
121+
" USER_INFO[email].update(data)\n",
122+
" else:\n",
123+
" USER_INFO[email] = data\n",
124+
" return first_name\n",
125+
"\n",
126+
"source[\"First Name\"] = source[\"Email\"].apply(get_first_name)\n",
127+
"source[\"First Name\"] = source[\"First Name\"].astype(\"category\")\n",
128+
"source.dtypes"
129+
]
105130
}
106131
],
107132
"metadata": {

0 commit comments

Comments
 (0)