jkjk not final
This commit is contained in:
24
extract_toc.py
Normal file
24
extract_toc.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from subprocess import run
|
||||
import sys
|
||||
|
||||
outline = run(
|
||||
['mutool', 'show', sys.argv[1], 'outline'],
|
||||
capture_output=True
|
||||
).stdout.decode('utf-8')
|
||||
|
||||
indent = 0
|
||||
last_quote_index = 0
|
||||
for line in outline.splitlines():
|
||||
quote_index = line.find('"')
|
||||
hash_index = line.find('#')
|
||||
|
||||
if quote_index > last_quote_index:
|
||||
indent += 1
|
||||
elif quote_index < last_quote_index:
|
||||
indent -= 1
|
||||
last_quote_index = quote_index
|
||||
|
||||
title = line[quote_index+1:line.find('"', quote_index+1)].strip()
|
||||
page = int(line[hash_index+1:line.find(',', hash_index+1)])
|
||||
|
||||
print(f'{"#"*indent} {title} ({page})')
|
||||
Reference in New Issue
Block a user