60 lines
1.4 KiB
Python
60 lines
1.4 KiB
Python
import pymupdf
|
|
import os
|
|
import lib
|
|
import json
|
|
|
|
|
|
def retrieve_file_contents(path):
|
|
file_extraction_functions = {
|
|
"pdf": lambda path: lib.extract_pdf_content(path),
|
|
"jpg": lambda path: lib.extract_image_content(path),
|
|
"png": lambda path: lib.extract_image_content(path),
|
|
"txt": lambda path: lib.extract_pdf_content(path),
|
|
"mp3": lambda path: lib.extract_mp3_content(path),
|
|
}
|
|
|
|
lib.read_files(path, files := [])
|
|
|
|
contents = []
|
|
|
|
for file in files:
|
|
content = file_extraction_functions[file[0]](file[1])
|
|
contents.append({
|
|
"type": file[0],
|
|
"path": file[1],
|
|
"filename": file[2],
|
|
"content": content
|
|
})
|
|
|
|
return contents
|
|
|
|
|
|
def reload_files():
|
|
path = input("Please provider path to folder: ")
|
|
pass
|
|
|
|
|
|
def add_files():
|
|
path = input("Please provider path to folder: ")
|
|
pass
|
|
|
|
|
|
def prompt_cycle():
|
|
while True:
|
|
prompt = input("Please enter prompt: ")
|
|
lib.prompt_embedding(prompt)
|
|
|
|
|
|
def get_user_action():
|
|
user_action = input("Reload Files (r), Add Files (a), Prompt (p): ")
|
|
|
|
{
|
|
"r": lambda: reload_files(),
|
|
"a": lambda: add_files(),
|
|
"p": lambda: prompt_cycle()
|
|
}[user_action]()
|
|
|
|
# contents = retrieve_file_contents("C:\\SoftwareEng")
|
|
# print(json.dumps(contents, indent="\t"))
|
|
|
|
get_user_action() |