mirror of
https://github.com/vinta/awesome-python.git
synced 2024-11-23 20:11:06 +00:00
fix sort.py
This commit is contained in:
parent
6041c0b211
commit
3a3a01150d
21
sort.py
21
sort.py
|
@ -12,31 +12,32 @@
|
||||||
This could be extended by having nested blocks, sorting them recursively
|
This could be extended by having nested blocks, sorting them recursively
|
||||||
and flattening the end structure into a list of lines. Revision 2 maybe ^.^.
|
and flattening the end structure into a list of lines. Revision 2 maybe ^.^.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def sort_blocks():
|
def sort_blocks():
|
||||||
# First, we load the current README into memory
|
# First, we load the current README into memory
|
||||||
with open('README.md', 'r') as read_me_file:
|
with open('README.md', 'r') as read_me_file:
|
||||||
read_me = read_me_file.read()
|
read_me = read_me_file.read()
|
||||||
|
|
||||||
# Separating the 'table of contents' from the contents (blocks)
|
# Separating the 'table of contents' from the contents (blocks)
|
||||||
table_of_contents = ''.join(read_me.split('- - -')[0])
|
table_of_contents = ''.join(read_me.split('- - -')[0])
|
||||||
blocks = ''.join(read_me.split('- - -')[1]).split('\n# ')
|
blocks = ''.join(read_me.split('- - -')[1]).split('\n# ')
|
||||||
for i in range(len(blocks)):
|
for i in range(len(blocks)):
|
||||||
if i == 0:
|
if i == 0:
|
||||||
blocks[i] = blocks[i]+'\n'
|
blocks[i] = blocks[i] + '\n'
|
||||||
else:
|
else:
|
||||||
blocks[i] = '#' + blocks[i]+'\n'
|
blocks[i] = '# ' + blocks[i] + '\n'
|
||||||
|
|
||||||
# Sorting the libraries
|
# Sorting the libraries
|
||||||
inner_blocks = sorted(blocks[0].split('##'))
|
inner_blocks = sorted(blocks[0].split('##'))
|
||||||
for i in range(1 , len(inner_blocks)):
|
for i in range(1 , len(inner_blocks)):
|
||||||
if inner_blocks[i][0] != '#':
|
if inner_blocks[i][0] != '#':
|
||||||
inner_blocks[i]='##'+inner_blocks[i]
|
inner_blocks[i] = '##' + inner_blocks[i]
|
||||||
inner_blocks=''.join(inner_blocks)
|
inner_blocks=''.join(inner_blocks)
|
||||||
|
|
||||||
# Replacing the non-sorted libraries by the sorted ones and gathering all at the final_README file
|
# Replacing the non-sorted libraries by the sorted ones and gathering all at the final_README file
|
||||||
blocks[0] = inner_blocks
|
blocks[0] = inner_blocks
|
||||||
final_README = table_of_contents + '- - -'+ ''.join(blocks)
|
final_README = table_of_contents + '- - -' + ''.join(blocks)
|
||||||
|
|
||||||
with open('README.md', 'w+') as sorted_file:
|
with open('README.md', 'w+') as sorted_file:
|
||||||
sorted_file.write(final_README)
|
sorted_file.write(final_README)
|
||||||
|
|
||||||
|
@ -70,10 +71,10 @@ def main():
|
||||||
blocks = [''.join(sorted(block, key=lambda s: s.lower())) for block in blocks]
|
blocks = [''.join(sorted(block, key=lambda s: s.lower())) for block in blocks]
|
||||||
# And the result is written back to README.md
|
# And the result is written back to README.md
|
||||||
sorted_file.write(''.join(blocks))
|
sorted_file.write(''.join(blocks))
|
||||||
|
|
||||||
# Then we call the sorting method
|
# Then we call the sorting method
|
||||||
sort_blocks()
|
sort_blocks()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user