Use click to provide CLI arguments
This commit is contained in:
@ -8,6 +8,7 @@ from durations import Duration
|
||||
import os
|
||||
import frontmatter
|
||||
import csv
|
||||
import click
|
||||
|
||||
filtered = dict()
|
||||
fields = {
|
||||
@ -25,14 +26,27 @@ fields = {
|
||||
}
|
||||
|
||||
|
||||
def convert(directory="f", outputfile="test.csv"):
|
||||
if not os.path.isdir(directory):
|
||||
exit(f"The directory {directory} does not exist!")
|
||||
with open(outputfile, "w", newline="") as csvfile:
|
||||
@click.command()
|
||||
@click.option(
|
||||
"--input-directory",
|
||||
"-i",
|
||||
help="Directory with files that have frontmatter.",
|
||||
prompt="Input directory",
|
||||
)
|
||||
@click.option(
|
||||
"--output-file",
|
||||
"-o",
|
||||
default="output.csv",
|
||||
help="The output CSV file.",
|
||||
)
|
||||
def convert(input_directory, output_file):
|
||||
if not os.path.isdir(input_directory):
|
||||
exit(f"The directory {input_directory} does not exist!")
|
||||
with open(output_file, "w", newline="") as csvfile:
|
||||
writer = csv.DictWriter(csvfile, fieldnames=fields.values())
|
||||
writer.writeheader()
|
||||
for filename in os.listdir(directory):
|
||||
f = os.path.join(directory, filename)
|
||||
for filename in os.listdir(input_directory):
|
||||
f = os.path.join(input_directory, filename)
|
||||
|
||||
if os.path.isfile(f):
|
||||
article = frontmatter.load(f)
|
||||
|
Reference in New Issue
Block a user