From ab9d31aaff7da53285d19069a2e4325a54f0c085 Mon Sep 17 00:00:00 2001 From: pablonyx Date: Wed, 5 Mar 2025 11:05:47 -0800 Subject: [PATCH] remove unnecessary logs --- ...2_update_github_connector_repo_name_to_.py | 79 ++++++++++++++----- backend/onyx/connectors/github/connector.py | 6 +- .../admin/connectors/ConnectorTitle.tsx | 6 +- 3 files changed, 66 insertions(+), 25 deletions(-) diff --git a/backend/alembic/versions/3934b1bc7b62_update_github_connector_repo_name_to_.py b/backend/alembic/versions/3934b1bc7b62_update_github_connector_repo_name_to_.py index 63b9bc05c..d411d68a9 100644 --- a/backend/alembic/versions/3934b1bc7b62_update_github_connector_repo_name_to_.py +++ b/backend/alembic/versions/3934b1bc7b62_update_github_connector_repo_name_to_.py @@ -1,4 +1,4 @@ -"""Update GitHub connector repo_name to repo_names +"""Update GitHub connector repo_name to repositories Revision ID: 3934b1bc7b62 Revises: b7c2b63c4a03 @@ -8,6 +8,7 @@ Create Date: 2025-03-05 10:50:30.516962 from alembic import op import sqlalchemy as sa import json +import logging # revision identifiers, used by Alembic. revision = "3934b1bc7b62" @@ -15,6 +16,8 @@ down_revision = "b7c2b63c4a03" branch_labels = None depends_on = None +logger = logging.getLogger("alembic.runtime.migration") + def upgrade() -> None: # Get all GitHub connectors @@ -32,30 +35,49 @@ def upgrade() -> None: ).fetchall() # Update each connector's config + updated_count = 0 for connector_id, config in github_connectors: - if not config or "repo_name" not in config: - continue + try: + if not config: + logger.warning(f"Connector {connector_id} has no config, skipping") + continue - # Create new config with repositories instead of repo_name - new_config = dict(config) - new_config["repositories"] = new_config.pop("repo_name") + # Parse the config if it's a string + if isinstance(config, str): + config = json.loads(config) - # Update the connector with the new config - conn.execute( - sa.text( - """ - UPDATE connector - SET connector_specific_config = :new_config - WHERE id = :connector_id - """ - ), - {"connector_id": connector_id, "new_config": json.dumps(new_config)}, - ) + if "repo_name" not in config: + continue + + # Create new config with repositories instead of repo_name + new_config = dict(config) + repo_name_value = new_config.pop("repo_name") + new_config["repositories"] = repo_name_value + + # Update the connector with the new config + conn.execute( + sa.text( + """ + UPDATE connector + SET connector_specific_config = :new_config + WHERE id = :connector_id + """ + ), + {"connector_id": connector_id, "new_config": json.dumps(new_config)}, + ) + updated_count += 1 + except Exception as e: + logger.error(f"Error updating connector {connector_id}: {str(e)}") -def downgrade(): +def downgrade() -> None: # Get all GitHub connectors conn = op.get_bind() + + logger.debug( + "Starting rollback of GitHub connectors from repositories to repo_name" + ) + github_connectors = conn.execute( sa.text( """ @@ -66,12 +88,26 @@ def downgrade(): ) ).fetchall() + logger.debug(f"Found {len(github_connectors)} GitHub connectors to rollback") + # Revert each GitHub connector to use repo_name instead of repositories + reverted_count = 0 for connector_id, config in github_connectors: - if config and "repositories" in config: + try: + if not config: + continue + + # Parse the config if it's a string + if isinstance(config, str): + config = json.loads(config) + + if "repositories" not in config: + continue + # Create new config with repo_name instead of repositories new_config = dict(config) - new_config["repo_name"] = new_config.pop("repositories") + repositories_value = new_config.pop("repositories") + new_config["repo_name"] = repositories_value # Update the connector with the new config conn.execute( @@ -84,3 +120,6 @@ def downgrade(): ), {"new_config": json.dumps(new_config), "connector_id": connector_id}, ) + reverted_count += 1 + except Exception as e: + logger.error(f"Error reverting connector {connector_id}: {str(e)}") diff --git a/backend/onyx/connectors/github/connector.py b/backend/onyx/connectors/github/connector.py index f26ad71b0..62f0563b0 100644 --- a/backend/onyx/connectors/github/connector.py +++ b/backend/onyx/connectors/github/connector.py @@ -174,7 +174,9 @@ class GithubConnector(LoadConnector, PollConnector): try: repos = [] # Split repo_name by comma and strip whitespace - repo_names = [name.strip() for name in self.repositories.split(",")] + repo_names = [ + name.strip() for name in (cast(str, self.repositories)).split(",") + ] for repo_name in repo_names: if repo_name: # Skip empty strings @@ -398,7 +400,7 @@ if __name__ == "__main__": connector = GithubConnector( repo_owner=os.environ["REPO_OWNER"], - repo_name=os.environ["REPO_NAME"], + repositories=os.environ["REPOSITORIES"], ) connector.load_credentials( {"github_access_token": os.environ["GITHUB_ACCESS_TOKEN"]} diff --git a/web/src/components/admin/connectors/ConnectorTitle.tsx b/web/src/components/admin/connectors/ConnectorTitle.tsx index f8ede9eb4..babd130f1 100644 --- a/web/src/components/admin/connectors/ConnectorTitle.tsx +++ b/web/src/components/admin/connectors/ConnectorTitle.tsx @@ -40,11 +40,11 @@ export const ConnectorTitle = ({ const typedConnector = connector as Connector; additionalMetadata.set( "Repo", - typedConnector.connector_specific_config.repo_name + typedConnector.connector_specific_config.repositories ? `${typedConnector.connector_specific_config.repo_owner}/${ - typedConnector.connector_specific_config.repo_name.includes(",") + typedConnector.connector_specific_config.repositories.includes(",") ? "multiple repos" - : typedConnector.connector_specific_config.repo_name + : typedConnector.connector_specific_config.repositories }` : `${typedConnector.connector_specific_config.repo_owner}/*` );