Initial commit

This commit is contained in:
Thomas Baruchel 2022-11-05 00:19:53 +01:00
commit 30e2b29161
1 changed files with 41 additions and 0 deletions

41
rst2atom.py Normal file
View File

@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-
filename="test.rst"
# https://docutils.sourceforge.io/docs/api/publisher.html
import docutils.core
import dateutil.parser
import bs4
html = docutils.core.publish_parts(open(filename, mode="r").read(),
source_path=filename,
writer_name='html')
def find_date(d):
comments = d.find_all(string=lambda text: isinstance(text, bs4.Comment))
for c in comments:
for k in c.extract().split(" "):
try:
t = dateutil.parser.parse(k)
return t
except dateutil.parser.ParserError:
pass
print("TITRE:", html["title"])
soup = bs4.BeautifulSoup(html["body"], 'html.parser')
divs = soup.select("div")
for d in divs:
# don't handle subsections
if d.find_parent("div"): continue
print("="*40)
print(d)
print(find_date(d))