diff options
author | Anthony Wang | 2022-01-22 21:59:32 -0600 |
---|---|---|
committer | Anthony Wang | 2022-01-22 21:59:32 -0600 |
commit | f2f33a66654209d9d4aec7eef2e1109280edb096 (patch) | |
tree | 4f7449bccb43d5712eb85cc397e985527cb8328b /mkbinder.py | |
parent | 70bd8774d1c174208e635df70b9046e7442d0a6b (diff) |
Remove date checking functionality from mkbinder.py
Diffstat (limited to 'mkbinder.py')
-rwxr-xr-x | mkbinder.py | 63 |
1 files changed, 9 insertions, 54 deletions
diff --git a/mkbinder.py b/mkbinder.py index 430a7e2..eddca9e 100755 --- a/mkbinder.py +++ b/mkbinder.py @@ -1,17 +1,13 @@ #!/usr/bin/env python3 -import re import os +import re from argparse import ArgumentParser -import pickle # PDF conversion backends import pdfkit import weasyprint -from htmldate import find_date -from datetime import date - # CLI arguments parser = ArgumentParser() @@ -21,68 +17,27 @@ args = parser.parse_args() for filename in os.listdir('Links'): - if not filename.endswith('.txt'): continue - print('Examining: ' + filename) + os.makedirs(filename, exists_ok=True) - try: - os.mkdir(filename[:-4]) - except: # I love bad error handling - pass - - try: - dates = pickle.load(open(os.path.join('Links', filename[:-4] + '.pickle'), 'rb')) - except: - dates = {} - - file = open(os.path.join('Links', filename), 'r') - links = file.readlines() section = '' - for link in links: + for link in open(os.path.join('Links', filename), 'r').readlines(): if link[0:2] == '# ': section = link[2:] if link[0] == '#' or link[0] == '\n': continue - try: - new_date_str = find_date(link[:-1]) - except: - pass - - if new_date_str == None: - new_date = date.fromisoformat('9999-01-01') - else: - new_date = date.fromisoformat(new_date_str) - - try: - old_date = dates[link[:-1]] - except: - old_date = date.fromisoformat('1970-01-01') - - # Time to print! - if new_date > old_date or args.force: + name = section + ' - ' + re.sub(r'(?u)[^-\w.]', '', link[5:]) + '.pdf' + if not os.path.exists(os.path.join('Links', name)) or args.force: print('Downloading: ' + link[:-1]) - print('Edit date: ' + str(new_date)) + print('Destination: ' + name) - name = os.path.join(filename[:-4], section + ' - ' + re.sub(r'(?u)[^-\w.]', '', link[5:]) + '.pdf') - # name = re.sub(r'(?u)[^-\w.]', '', link[5:]) + '.pdf' - # print(name) + # Time to print! try: - # weasyprint seems faster? - # but seems to be broken sometimes??? if args.backend == 'pdfkit': pdfkit.from_url(link, name) else: pdf = weasyprint.HTML(link).write_pdf() open(name, 'wb').write(pdf) - except: # Maybe should handle errors a little bit better? - print('Error when printing') - pass - - # Update date - if new_date != date.fromisoformat('9999-01-01'): - dates[link[:-1]] = new_date - - # Dump dates to a pickle - pickle.dump(dates, open(os.path.join('Links', filename[:-4] + '.pickle'), 'wb')) - + except: + print('Error when printing 😱') |