aboutsummaryrefslogtreecommitdiff
path: root/mkbinder.py
diff options
context:
space:
mode:
Diffstat (limited to 'mkbinder.py')
-rwxr-xr-xmkbinder.py46
1 files changed, 26 insertions, 20 deletions
diff --git a/mkbinder.py b/mkbinder.py
index 4389e64..ff38307 100755
--- a/mkbinder.py
+++ b/mkbinder.py
@@ -16,11 +16,10 @@ parser.add_argument('--force', '-f', dest = 'force', help = 'force download all
args = parser.parse_args()
-for filename in os.listdir("Links"):
- if not filename.endswith(".txt"): continue
- if filename == "requirements.txt": continue
+for filename in os.listdir('Links'):
+ if not filename.endswith('.txt'): continue
- print("Examining: " + filename)
+ print('Examining: ' + filename)
try:
os.mkdir(filename[:-4])
@@ -28,34 +27,41 @@ for filename in os.listdir("Links"):
pass
try:
- dates = pickle.load(open(os.path.join("Links", filename[:-4] + ".pickle"), 'rb'))
+ dates = pickle.load(open(os.path.join('Links', filename[:-4] + '.pickle'), 'rb'))
except:
dates = {}
- file = open(os.path.join("Links", filename), "r")
+ file = open(os.path.join('Links', filename), 'r')
links = file.readlines()
+ section = ''
for link in links:
- if link[0] == "#" or link[0] == "\n": continue
+ if link[0:2] == '# ':
+ section = link[2:]
+ if link[0] == '#' or link[0] == '\n':
+ continue
- new_date_str = find_date(link[:-1])
+ try:
+ new_date_str = find_date(link[:-1])
+ except:
+ pass
if new_date_str == None:
- new_date = date.fromisoformat("9999-01-01")
+ 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")
-
+ old_date = date.fromisoformat('1970-01-01')
+ # Time to print!
if new_date > old_date or args.force:
- print("Downloading: " + link[:-1])
- print("Edit date: " + str(new_date))
+ print('Downloading: ' + link[:-1])
+ print('Edit date: ' + str(new_date))
- name = os.path.join(filename[:-4], re.sub(r'(?u)[^-\w.]', '', link[5:]) + ".pdf")
- # name = re.sub(r'(?u)[^-\w.]', '', link[5:]) + ".pdf"
+ 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)
try:
# weasyprint seems faster?
@@ -66,13 +72,13 @@ for filename in os.listdir("Links"):
pdf = weasyprint.HTML(link).write_pdf()
open(name, 'wb').write(pdf)
except: # Maybe should handle errors a little bit better?
- print("Error when printing")
+ print('Error when printing')
pass
-
- if new_date != date.fromisoformat("9999-01-01"):
+ # Update date
+ if new_date != date.fromisoformat('9999-01-01'):
dates[link[:-1]] = new_date
-
- pickle.dump(dates, open(os.path.join("Links", filename[:-4] + ".pickle"), 'wb'))
+ # Dump dates to a pickle
+ pickle.dump(dates, open(os.path.join('Links', filename[:-4] + '.pickle'), 'wb'))