Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 21 additions & 6 deletions backend/connector_processor/connector_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,29 @@
from unstract.connectors.exceptions import ConnectorError, FSAccessDeniedError
from unstract.connectors.filesystems.ucs import UnstractCloudStorage

try:
from unstract.connectors.queues.redis import RedisQueue
except ImportError:
RedisQueue = None

logger = logging.getLogger(__name__)


def import_optional_connector(module_path: str, class_name: str):
"""Import connector class with graceful error handling."""
try:
module = __import__(module_path, fromlist=[class_name])
connector_class = getattr(module, class_name)
logger.info(f"Successfully imported {class_name}")
return connector_class
except ImportError as e:
logger.warning(f"Failed to import {class_name}: {e}")
return None


# Import optional connectors
RedisQueue = import_optional_connector("unstract.connectors.queues.redis", "RedisQueue")
# TODO(UN-2261): Oracle temporarily excluded due to missing wallet support

Check warning on line 41 in backend/connector_processor/connector_processor.py

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=Zipstack_unstract&issues=AZqlWhcnSiy551iQeJf2&open=AZqlWhcnSiy551iQeJf2&pullRequest=1663
OracleDB = import_optional_connector(
"unstract.connectors.databases.oracle_db", "OracleDB"
)


def fetch_connectors_by_key_value(
key: str, value: Any, connector_mode: ConnectorMode | None = None
) -> list[UnstractConnector]:
Expand Down Expand Up @@ -80,7 +95,7 @@
# TODO: Remove RedisQueue from the list of connectors and use separately instead
# HACK: Connectors that are marked active but not supported explicitly
unsupported_connectors = [
connector.get_id() for connector in filter(None, [RedisQueue])
connector.get_id() for connector in filter(None, [RedisQueue, OracleDB])
]

if type == ConnectorKeys.INPUT:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { SearchOutlined } from "@ant-design/icons";
import { Input, Row, Col, Tabs, Typography, Spin } from "antd";
import { Col, Input, Row, Spin, Tabs, Typography } from "antd";
import debounce from "lodash/debounce";
import PropTypes from "prop-types";
import { useEffect, useState } from "react";
import debounce from "lodash/debounce";

import { ConnectorCard } from "../connector-card/ConnectorCard";
import "./ConnectorListModal.css";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { SearchOutlined } from "@ant-design/icons";
import { Input, List, Segmented } from "antd";
import debounce from "lodash/debounce";
import PropTypes from "prop-types";
import { useEffect, useState } from "react";
import debounce from "lodash/debounce";

import { DataSourceCard } from "../data-source-card/DataSourceCard";
import "./ListOfSources.css";
Expand Down