Roman Isecke 28214a6cc3
Roman/ingest refactor (#978)
* Pull out s3 code as subcommand

* Pull out dropbox code as subcommand

* Pull out azure code as subcommand

* Pull out fsspec code as subcommand

* Pull out github code as subcommand

* Pull out gitlab code as subcommand

* Pull out reddit code as subcommand

* Pull out slack code as subcommand

* Pull out discord code as subcommand

* Pull out wikipedia code as subcommand

* Pull out gdrive code as subcommand

* Pull out biomed code as subcommand

* rename parameters

* Pull out onedrive code as subcommand

* Pull out outlook code as subcommand

* Pull out local code as subcommand

* Pull out elasticsearch code as subcommand

* Pull out confluence code as subcommand

* Drop previous main file

* update changelog

* Add back in mp.Pool

* Fix mypy issues with click

* Make sure all tests run with verbose flag

* refactor approach to dynamically add common options to each subcommand, scrub logging of options for sensitive data

* Pull out some more shared options

* Support running code via python as well as cli

* update ingest readme and move it to the ingest folder

* update usage in connector docs

* move local command arg in test

* Seperate out cli code from logic running unstructured

* Make some cli fields required rather than optional

* rename process -> processor

* Improve logger to avoid duplicate handlers

---------

Co-authored-by: Ryan Nikolaidis <1208590+ryannikolaidis@users.noreply.github.com>
2023-07-31 13:20:10 -04:00

29 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Processes files in example-docs/ directory recursively
# through Unstructured's library in 2 processes.
# Structured outputs are stored in local-ingest-output/
# To use the Local connector, the following is required:
# 1) --local-input-path : path in the local file system which is to be processed
# The following CLI args are optional:
# 2) --local-file-glob : types of local files that are accepted,
# provided as a comma-separated list
# Example: `--local-file-glob .docx` ensures only .docx files are processed.
# 3) --local-recursive : if specified, the contents of sub-directories are processed as well
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR"/../../.. || exit 1
PYTHONPATH=. ./unstructured/ingest/main.py \
local \
--input-path example-docs \
--structured-output-dir local-ingest-output \
--num-processes 2 \
--recursive \
--verbose \
# Alternatively, you can call it using:
# unstructured-ingest local --input-path ...