{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Display pages by date" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import ipywidgets as widgets\n", "import arrow\n", "import datetime\n", "from pathlib import Path\n", "from IPython.display import display, HTML, Image" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "dfs = []\n", "for year in range(1901, 1909):\n", " df = pd.read_csv(f'{year}_with_dates.csv', parse_dates=['page_date'])\n", " dfs.append(df[['directory', 'name', 'page_date']])\n", "df_all = pd.concat(dfs)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def find_pages(b):\n", " results.clear_output()\n", " images = []\n", " pages = df_all.loc[df_all['page_date'] == pd.Timestamp(date_picker.value)]\n", " for page in pages.itertuples():\n", " print(page)\n", " image_name = f'{page.name.split(\".\")[0]}-header.jpg'\n", " image_path = Path(f'all_headers/{page.directory}/{image_name}')\n", " images.append(image_path)\n", " with results:\n", " for image in images:\n", " print(image)\n", " display(Image(filename=str(image)))\n", " " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8352c3c425f141c58ac192d2f94fb00e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "DatePicker(value=datetime.date(1901, 1, 7), description='Pick a Date')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "e625ce3937a841fc8eb0578bd36233e1", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Button(button_style='primary', description='Find pages', icon='search', style=ButtonStyle(), tooltip='Click me…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bfe05678ab4542999cec2d1e635eff46", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "date_picker = widgets.DatePicker(\n", " description='Pick a Date',\n", " disabled=False,\n", " value=datetime.date(1901, 1, 7)\n", ")\n", "\n", "find = widgets.Button(\n", " description='Find pages',\n", " disabled=False,\n", " button_style='primary', # 'success', 'info', 'warning', 'danger' or ''\n", " tooltip='Click me',\n", " icon='search'\n", ")\n", "\n", "find.on_click(find_pages)\n", "results = widgets.Output()\n", "#display(widgets.VBox([widgets.HBox([date_picker, find]), results]))\n", "display(date_picker)\n", "display(find)\n", "display(results)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }