-
Notifications
You must be signed in to change notification settings - Fork 4
/
link_agendas.py
41 lines (36 loc) · 1.22 KB
/
link_agendas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import os
import urllib
from bs4 import BeautifulSoup as Soup
# Read in HTML and find agenda section
sourcefile = "resources.html"
raw_page = urllib.urlopen(sourcefile).read()
soup = Soup(raw_page, "html.parser")
agenda_section = soup.find('ul', class_ = "agendas_header")
# Remove existing links
for link in agenda_section.findAll(True):
link.extract()
# Generate all links
path = "agendas/"
for filename in reversed(os.listdir(path)):
if filename.endswith(".pdf"):
linkname = filename.split(".pdf")[0]
location = path + filename
entry = soup.new_tag("li")
link = soup.new_tag("a", href=location)
link.string = linkname
agenda_section.insert(1, entry)
entry.insert(1, link)
agenda_section = soup.find('ul', class_ = "minutes_header")
path = "minutes/"
for filename in reversed(os.listdir(path)):
if filename.endswith(".pdf"):
linkname = filename.split(".pdf")[0]
location = path + filename
entry = soup.new_tag("li")
link = soup.new_tag("a", href=location)
link.string = linkname
agenda_section.insert(1, entry)
entry.insert(1, link)
html = soup.prettify("utf-8")
with open(sourcefile, "wb") as file:
file.write(html)