Skip to content

Commit 93f0cb9

Browse files
author
Joseph Damiba
committed
concat check-order and enforce-order using command line argument for enforce
1 parent fa6d00d commit 93f0cb9

File tree

2 files changed

+34
-55
lines changed

2 files changed

+34
-55
lines changed

check-order.py

+34-17
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22
from pathlib import Path, PosixPath
33
import sys
44

5+
def enforceOrder(listToBeOrdered):
6+
for index, post in enumerate(listToBeOrdered):
7+
if index+1 != post['order']:
8+
postToBeAltered = frontmatter.load(post['path'])
9+
postToBeAltered.metadata['jupyter']['plotly']['order'] = index+1
10+
frontmatter.dump(postToBeAltered, post['path'])
11+
12+
def checkConsecutive(l):
13+
return sorted(l) == list(range(1, len(l)+1))
14+
515
categories = ["file_settings", "basic", "statistical", "scientific", "maps", "3d_charts", "multiple_axes"]
16+
617
try:
718
path = str(sys.argv[1])
819
except:
@@ -18,31 +29,37 @@
1829
if post.metadata['jupyter']['plotly']['display_as'] == category:
1930
postFamily.append({'path':str(md_path), 'order' : post.metadata['jupyter']['plotly']['order']})
2031

21-
sortedPostFamily = sorted(postFamily, key = lambda i: i['order'])
32+
postFamily.append({'path':'placeholder', 'order' : 5})
2233

23-
order = []
24-
25-
for post in sortedPostFamily:
26-
if post['order'] == 5:
27-
raise Exception("Order Check Failed! Post {} cannot have order 5!".format(post['path']))
28-
order.append(post['order'])
34+
sortedPostFamily = sorted(postFamily, key = lambda i: i['order'])
2935

30-
print(order)
36+
order = [ p['order'] for p in sortedPostFamily ]
3137

3238
if order[0] != 1:
33-
raise Exception("Order Check Failed! First post in {} display_as does not have order 1!".format(category))
39+
if len(sys.argv) == 3:
40+
if sys.argv[2] == 'enforce':
41+
print('Order Check Did Not Pass! ENFORCING CORRECT ORDER for {}'.format(category))
42+
enforceOrder(sortedPostFamily)
43+
else:
44+
raise Exception("Order Check Failed! First post in {} display_as does not have order 1!".format(category))
3445

35-
def checkConsecutive(l):
36-
return sorted(l) == list(range(min(l), max(l)+1))
46+
3747

38-
try:
39-
checkConsecutive(order)
40-
except:
41-
raise Exception("Order Check Failed! Orders in {} display_as are not consecutive integers!!".format(category))
48+
if not checkConsecutive(order):
49+
if len(sys.argv) == 3:
50+
if sys.argv[2] == 'enforce':
51+
print('Order Check Did Not Pass! ENFORCING CORRECT ORDER for {}'.format(category))
52+
enforceOrder(sortedPostFamily)
53+
else:
54+
raise Exception("Order Check Failed! Order front-matter in '{}' display_as are not consecutive integers!!".format(category))
4255

4356
if len(order) != len(set(order)):
44-
raise Exception("Order Check Failed! {} display_as has duplicate order frontmatter!!".format(category))
45-
57+
if len(sys.argv) == 3:
58+
if sys.argv[2] == 'enforce':
59+
print('Order Check Did Not Pass! ENFORCING CORRECT ORDER for {}'.format(category))
60+
enforceOrder(sortedPostFamily)
61+
else:
62+
raise Exception("Order Check Failed! {} display_as has duplicate order frontmatter!!".format(category))
4663

4764
print("Order Checks Passed for {} display_as!".format(category))
4865
order = []

enforce-order.py

-38
This file was deleted.

0 commit comments

Comments
 (0)