-
Notifications
You must be signed in to change notification settings - Fork 1
/
cli.py
29 lines (21 loc) · 1.07 KB
/
cli.py
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
import argparse
import sys
import logging
from output import output_html, output_plaintext
parser = argparse.ArgumentParser(description="For parsing Amazon Kindle's 'My Clippings' files")
parser.add_argument('input', default='My Clippings.txt', help='Input filename')
parser.add_argument('output', default='output', help='Output filename')
parser.add_argument('-w', action='store_true', dest='html_output', help='Output HTML')
parser.add_argument('-t', action='store_true', dest='plaintext_output', help='Output plaintext')
if __name__ == '__main__':
namespace = parser.parse_args(sys.argv[1:])
input_filename = namespace.input
output_filename = namespace.output
plaintext_output = namespace.plaintext_output
html_output = namespace.html_output
if plaintext_output and html_output:
logging.warning('Both plaintext and HTML output flags are True, will use plaintext output.')
if html_output and not plaintext_output:
output_html(input_filename, f'{output_filename}')
else:
output_plaintext(input_filename, f'{output_filename}')