Skip to content

Eric/use types and logging #61

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 11, 2025
Merged
Show file tree
Hide file tree
Changes from 4 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
2 changes: 1 addition & 1 deletion socketsecurity/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__author__ = 'socket.dev'
__version__ = '2.0.11'
__version__ = '2.0.12'
25 changes: 15 additions & 10 deletions socketsecurity/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -394,18 +394,23 @@ def get_repo_info(self, repo_slug: str, default_branch: str = "socket-default-br
if not response.success:
log.error(f"Failed to get repository: {response.status}")
log.error(response.message)
# raise Exception(f"Failed to get repository info: {response.status}, message: {response.message}")
except APIFailure:
log.warning(f"Failed to get repository {repo_slug}, attempting to create it")
create_response = self.sdk.repos.post(self.config.org_slug, name=repo_slug, default_branch=default_branch)
if not create_response.success:
log.error(f"Failed to create repository: {create_response.status}")
log.error(create_response.message)
raise Exception(
f"Failed to create repository: {create_response.status}, message: {create_response.message}"
)
else:
return create_response.data
try:

create_response = self.sdk.repos.post(self.config.org_slug, name=repo_slug, default_branch=default_branch)

# Check if the response is empty (failure) or has content (success)
if not create_response:
log.error("Failed to create repository: empty response")
raise Exception("Failed to create repository: empty response")
else:
return create_response

except APIFailure as e:
log.error(f"API failure while creating repository: {e}")
sys.exit(2) # Exit here with code 2. Code 1 indicates a successfully-detected security issue.

return response.data

def get_head_scan_for_repo(self, repo_slug: str) -> str:
Expand Down
19 changes: 17 additions & 2 deletions socketsecurity/core/logging.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import logging


def initialize_logging(
level: int = logging.INFO,
format: str = "%(asctime)s: %(message)s",
Expand All @@ -23,10 +24,24 @@ def initialize_logging(
cli_logger = logging.getLogger(cli_logger_name)
cli_logger.setLevel(level)

# Explicitly set urllib3 logger to WARNING to prevent debug messages
# when not in debug mode
urllib3_logger = logging.getLogger("urllib3")
urllib3_logger.setLevel(logging.WARNING)

# Also set git logger to WARNING
git_logger = logging.getLogger("git")
git_logger.setLevel(logging.WARNING)

return socket_logger, cli_logger

def set_debug_mode(enable: bool = True) -> None:
def set_debug_mode(enable: bool = False) -> None:
"""Toggle debug logging across all loggers"""
level = logging.DEBUG if enable else logging.INFO
logging.getLogger("socketdev").setLevel(level)
logging.getLogger("socketcli").setLevel(level)
logging.getLogger("socketcli").setLevel(level)

# Also update urllib3 and git loggers when debug mode changes
urllib3_level = logging.DEBUG if enable else logging.WARNING
logging.getLogger("urllib3").setLevel(urllib3_level)
logging.getLogger("git").setLevel(urllib3_level)
Loading