-
Notifications
You must be signed in to change notification settings - Fork 119
Expand file tree
/
Copy pathreorder.py
More file actions
43 lines (29 loc) · 832 Bytes
/
reorder.py
File metadata and controls
43 lines (29 loc) · 832 Bytes
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
with open('_sections/30-projects.md') as f:
data = f.read()
import re
import sys
import requests
import requests_cache
match = re.compile('sg:(\d+)')
def make_groups(lines):
# assume first line does not match
matching = True
groups = []
loc = []
for l in lines:
if (len(match.findall(l)) == 0) != matching:
matching = not matching
if loc:
groups.append((matching, loc))
loc = []
loc.append(l)
if loc:
groups.append((not matching, loc))
return groups
with open('_sections/30-projects.md','w') as f:
groups = make_groups(data.splitlines())
for m,g in groups:
if m:
g = sorted(g, key=lambda s:int(match.findall(s)[0]), reverse=True)
for l in g:
f.write(l + '\n')