feature: add argument parsing and setup.py file for cli tool capability

This commit is contained in:
kevinbabou
2024-12-15 17:38:28 -08:00
parent 73776b2c0f
commit 33638f1fe6
2 changed files with 50 additions and 14 deletions

View File

@@ -2,21 +2,15 @@
#
# SPDX-License-Identifier: MIT
import sys
import argparse
from ._markitdown import MarkItDown
def main():
if len(sys.argv) == 1:
markitdown = MarkItDown()
result = markitdown.convert_stream(sys.stdin.buffer)
print(result.text_content)
elif len(sys.argv) == 2:
markitdown = MarkItDown()
result = markitdown.convert(sys.argv[1])
print(result.text_content)
else:
sys.stderr.write(
"""
parser = argparse.ArgumentParser(
description='Convert various file formats to markdown.',
formatter_class=argparse.RawDescriptionHelpFormatter,
usage="""
SYNTAX:
markitdown <OPTIONAL: FILENAME>
@@ -34,9 +28,20 @@ EXAMPLE:
markitdown < example.pdf
""".strip()
+ "\n"
)
)
parser.add_argument('filename', nargs='?')
args = parser.parse_args()
if args.filename is None:
markitdown = MarkItDown()
result = markitdown.convert_stream(sys.stdin.buffer)
print(result.text_content)
else:
markitdown = MarkItDown()
result = markitdown.convert(args.filename)
print(result.text_content)
if __name__ == "__main__":
main()
main()