🐛 fix(FileLoader.py): fix type annotation for loaders_info variable to improve code readability and maintainability

🐛 fix(FileLoader.py): fix type annotation for loader_import variable to improve code readability and maintainability
🐛 fix(FileLoader.py): handle case when selected_loader_info is not a dict to prevent potential errors
🐛 fix(UrlLoader.py): fix type annotation for build method return value to improve code readability and maintainability
🐛 fix(UrlLoader.py): fix type annotation for loader_instance variables to improve code readability and maintainability
This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-11-01 11:12:08 -03:00
commit a408dd2b26
2 changed files with 17 additions and 11 deletions

View file

@ -1,7 +1,8 @@
from langflow import CustomComponent
from langchain.schema import Document
from typing import Any, Dict, List
loaders_info = [
loaders_info: List[Dict[str, Any]] = [
{
"loader": "AirbyteJSONLoader",
"name": "Airbyte JSON (.jsonl)",
@ -210,8 +211,12 @@ class FileLoaderComponent(CustomComponent):
raise ValueError(f"No default loader found for file type: {file_type}")
selected_loader_info = default_loader_info
loader_import = selected_loader_info["import"]
if isinstance(selected_loader_info, dict):
loader_import: str = selected_loader_info["import"]
else:
raise ValueError(
f"Loader info for {loader} is not a dict\nLoader info:\n{selected_loader_info}"
)
module_name, class_name = loader_import.rsplit(".", 1)
try:

View file

@ -1,3 +1,4 @@
from typing import List
from langflow import CustomComponent
from langchain.document_loaders import AZLyricsLoader
from langchain.document_loaders import CollegeConfidentialLoader
@ -39,21 +40,21 @@ class UrlLoaderComponent(CustomComponent):
"code": {"show": False},
}
def build(self, web_path: str, loader: str) -> Document:
def build(self, web_path: str, loader: str) -> List[Document]:
if loader == "AZLyricsLoader":
loader_instance = AZLyricsLoader(web_path=web_path)
loader_instance = AZLyricsLoader(web_path=web_path) # type: ignore
elif loader == "CollegeConfidentialLoader":
loader_instance = CollegeConfidentialLoader(web_path=web_path)
loader_instance = CollegeConfidentialLoader(web_path=web_path) # type: ignore
elif loader == "GitbookLoader":
loader_instance = GitbookLoader(web_path=web_path)
loader_instance = GitbookLoader(web_page=web_path) # type: ignore
elif loader == "HNLoader":
loader_instance = HNLoader(web_path=web_path)
loader_instance = HNLoader(web_path=web_path) # type: ignore
elif loader == "IFixitLoader":
loader_instance = IFixitLoader(web_path=web_path)
loader_instance = IFixitLoader(web_path=web_path) # type: ignore
elif loader == "IMSDbLoader":
loader_instance = IMSDbLoader(web_path=web_path)
loader_instance = IMSDbLoader(web_path=web_path) # type: ignore
elif loader == "WebBaseLoader":
loader_instance = WebBaseLoader(web_path=web_path)
loader_instance = WebBaseLoader(web_path=web_path) # type: ignore
if loader_instance is None:
raise ValueError(f"No loader found for: {web_path}")