import pandas as pd
import ipywidgets as widgets
import arrow
import datetime
from pathlib import Path
from IPython.display import display, HTML, Image
dfs = []
for year in range(1901, 1909):
df = pd.read_csv(f'{year}_with_dates.csv', parse_dates=['page_date'])
dfs.append(df[['directory', 'name', 'page_date']])
df_all = pd.concat(dfs)
def find_pages(b):
results.clear_output()
images = []
pages = df_all.loc[df_all['page_date'] == pd.Timestamp(date_picker.value)]
for page in pages.itertuples():
print(page)
image_name = f'{page.name.split(".")[0]}-header.jpg'
image_path = Path(f'all_headers/{page.directory}/{image_name}')
images.append(image_path)
with results:
for image in images:
print(image)
display(Image(filename=str(image)))
date_picker = widgets.DatePicker(
description='Pick a Date',
disabled=False,
value=datetime.date(1901, 1, 7)
)
find = widgets.Button(
description='Find pages',
disabled=False,
button_style='primary', # 'success', 'info', 'warning', 'danger' or ''
tooltip='Click me',
icon='search'
)
find.on_click(find_pages)
results = widgets.Output()
#display(widgets.VBox([widgets.HBox([date_picker, find]), results]))
display(date_picker)
display(find)
display(results)
DatePicker(value=datetime.date(1901, 1, 7), description='Pick a Date')
Button(button_style='primary', description='Find pages', icon='search', style=ButtonStyle(), tooltip='Click me…
Output()