Process the input string and return the appropriate file paths
Source code in autogen/agents/experimental/document_agent/document_utils.py
| @export_module("autogen.agents.experimental.document_agent")
def handle_input(input_path: Union[Path, str], output_dir: Union[Path, str] = "./output") -> list[Path]:
"""Process the input string and return the appropriate file paths"""
output_dir = preprocess_path(str_or_path=output_dir, is_dir=True, mk_path=True)
if isinstance(input_path, str) and is_url(input_path):
_logger.info("Detected URL. Downloading content...")
try:
return [download_url(url=input_path, output_dir=output_dir)]
except Exception as e:
raise e
if isinstance(input_path, str):
input_path = Path(input_path)
if not input_path.exists():
raise ValueError("The input provided does not exist.")
elif input_path.is_dir():
_logger.info("Detected directory. Listing files...")
return list_files(directory=input_path)
elif input_path.is_file():
_logger.info("Detected file. Returning file path...")
return [input_path]
else:
raise ValueError("The input provided is neither a URL, directory, nor a file path.")
|