Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import trello\n",
"import pandas as pd\n",
"from datetime import datetime \n",
"import os\n",
"\n",
"TRELLO_SECRET=os.environ['TRELLO_SECRET']\n",
"TRELLO_TOKEN=os.environ['TRELLO_TOKEN']\n",
"\n",
"t = trello.TrelloApi(TRELLO_SECRET, token=TRELLO_TOKEN)\n",
"\n",
"lists = t.boards.get_list(\"543fc1336bab3f96b36f2616\")\n",
"df = pd.DataFrame(lists)\n",
"\n",
"i = df[df.name == \"Finished\"].id.values[0]\n",
"\n",
"l = t.lists.get_card(i)\n",
"\n",
"## Flatten dictionary of dictionaries to a flat data structure, but augment names to maintain where they came from.\n",
"def flatten(d):\n",
" result = {}\n",
" for k, v in d.items():\n",
" if isinstance(v, dict):\n",
" v_renamed = {k+\"_\"+v_k: v_v for v_k, v_v in v.items()} \n",
" result.update(flatten(v_renamed))\n",
" else:\n",
" result[k] = v\n",
" return result\n",
"\n",
"# Get all of the actions on all cards in the list l\n",
"cards = pd.DataFrame(l)\n",
"cardids = cards.id.get_values()\n",
"actions = [flatten(x) for cardid in cardids for x in t.cards.get_action(cardid)]\n",
"\n",
"# Turn those actions into a DataFrame\n",
"df = pd.DataFrame(actions)\n",
"df['date'] = pd.to_datetime(df['date'])\n",
"\n",
"# Now get all items which were moved to reading from the short list with a name containing The Dark Forest\n",
"df = df[(df.data_listBefore_name == \"Reading\") & (df.data_listAfter_name == \"Finished\")]\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Includes for the plotting sections below\n",
"import dateutil.parser\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.ticker import FuncFormatter\n",
"%matplotlib inline\n",
"plt.style.use('fivethirtyeight')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f62045f5950>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def packed_to_date(a):\n",
" return (a/256, a&0xFF)\n",
"\n",
"# Pack the dates and count them\n",
"data = df[\"date\"].groupby(df[\"date\"].dt.year * 256 + df[\"date\"].dt.month).count()\n",
"\n",
"# Get the start and end dates\n",
"begin_date = packed_to_date(data.index[0])\n",
"end_date = packed_to_date(data.index[-1])\n",
"\n",
"# Create labels and also insert months which have 0 counts.\n",
"labels = []\n",
"for y in range(begin_date[0], end_date[0]+1):\n",
" l = 1\n",
" h = 13\n",
" if (y == begin_date[0]):\n",
" l = begin_date[1]\n",
" elif (y == end_date[0]):\n",
" h = end_date[1]+1\n",
" \n",
" for m in range(l, h):\n",
" if y * 256 + m not in data.index:\n",
" data.set_value(y*256 + m, 0)\n",
" labels.append(\"{1}-{0:02}\".format(m,y))\n",
"\n",
"\n",
"# Create a horizontal bar graph\n",
"ax = data.sort_index().plot(kind=\"barh\")\n",
"ax.set_yticklabels(labels,rotation = (45), fontsize = 12, va='top', ha='right')\n",
"plt.xlabel(\"Books\")\n",
"plt.ylabel(\"Month\")\n",
"plt.title(\"Books Read Per Month\")\n",
"fig = plt.gcf()\n",
"fig.set_size_inches(12,16)\n",
"plt.show()\n",
"# Uncomment the below code to save image\n",
"# plt.savefig('books_per_month.png')\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nRGWvSMXOwcEBCQkJyM3NxeDBgzFo0CAWPiIi0hlFuvXgwoULOHz4MDp27Ig1a9agZcuW6Nq1KyIi\nIvDkyZPyjpGIiKhUinyf3fvvv4+QkBDEx8dj586daNCgAb766is4Oztj8ODB2L59O9LT08szViIi\nohIp9k3lMpkMH374IVavXo1///0Xa9aswYsXLxAQEIDvv/++PGIkIiIqlRJfL52RkYEDBw5g586d\nOH/+PKpWrYoGDRqUZWxERERloljFLjc3F7///jt27dqF6OhoZGVlwdvbGz/88AN69OhhkPd4ERGR\n9itSsTtz5gx27tyJvXv34unTp2jTpg3mz5+Pfv36wcLCorxjJCIiKpUiFbtu3brB1NQUXbp0wcCB\nA1GvXj0AwI0bNwpcxt3dvUwCXLx4MUJCQtTarK2tER8fX+hyhvgEFROzmlKHQESklYrcjZmRkYF9\n+/Zh//79hc4niiIEQUBKSkqpg8vTqFEjHDhwAKL4+slmRkZG71xmcmxqmX2+rljoVkXqEIiItFKR\nit3KlSvLO45CGRkZoXbt2pLGQEREuqtIxc7Pz6+84yjU7du30aRJExgbG+P999/H7Nmz+QQXIiIq\nsmLfZ1fRPvjgA6xatQq7du3CihUrkJSUBB8fH6SmGl43JRERlYzOveInPT0dLVq0wOTJkxEYGFjg\nfB33JVdgVNphoVsVWGYaXt5EpP9K+1ojaV7CVQpmZmZwdnbGzZs3pQ5FKxnie64M+f1ezN3wcjfU\nvEtL67sx35aZmQmFQgFra2upQyEiIh2h9cVu9uzZOHXqFG7fvo3z58/D398fL1++hK+vr9ShERGR\njtD6bsz79+9j9OjRePLkCWrXro33338fR44cga2trdShERGRjtD6Yrdu3boSLbfUw/AeY2aSlSZ1\nCEREWknri11JudWuLHUIFU6hSAFQS+owiIi0jtaP2REREZUWix0REek9FjsiItJ7LHZERKT3WOyI\niEjvsdgREZHeY7EjIiK9x2JHRER6T+duKg8LC8P8+fMxevRofPPNNwXOd+FxVgVGpR0yTKzwgnkb\nFBOzmlKHQKQTdKrYnTt3Dps2bUKzZs3eOe/kWEN9uesrqQOQiGHmvdCtitQhEOkEnenGfPbsGcaM\nGYPvv/8eNWrUkDocIiLSITpT7CZNmoT+/fujffv2UodCREQ6Rie6MTdu3IiEhARERERIHQoREekg\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f62045f51d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = df[\"date\"].groupby(df[\"date\"].dt.month).count().plot(kind=\"barh\")\n",
"plt.xlabel(\"Books\")\n",
"plt.ylabel(\"Month\")\n",
"plt.title(\"Books Read Per Month (Overall Years)\")\n",
"plt.show()\n",
"# fig = plt.gcf()\n",
"# fig.set_size_inches(12,16)\n",
"# plt.savefig('books_per_month_all_years.png')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nCiYAsfpTAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f61e3a4c9d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = df[\"date\"].groupby(df[\"date\"].dt.year).count().plot(kind=\"barh\")\n",
"plt.xlabel(\"Books\")\n",
"plt.ylabel(\"Year\")\n",
"plt.title(\"Books Read Per Year\")\n",
"plt.show()\n",
"# fig = plt.gcf()\n",
"# fig.set_size_inches(12,16)\n",
"# plt.savefig('books_per_year.png')\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.