Skip to content

Commit b4e35b2

Browse files
committed
fixed logging and create repo handling
1 parent a5c98de commit b4e35b2

File tree

2 files changed

+34
-11
lines changed

2 files changed

+34
-11
lines changed

socketsecurity/core/__init__.py

+17-9
Original file line numberDiff line numberDiff line change
@@ -397,15 +397,23 @@ def get_repo_info(self, repo_slug: str, default_branch: str = "socket-default-br
397397
# raise Exception(f"Failed to get repository info: {response.status}, message: {response.message}")
398398
except APIFailure:
399399
log.warning(f"Failed to get repository {repo_slug}, attempting to create it")
400-
create_response = self.sdk.repos.post(self.config.org_slug, name=repo_slug, default_branch=default_branch, use_types=True)
401-
if not create_response.success:
402-
log.error(f"Failed to create repository: {create_response.status}")
403-
log.error(create_response.message)
404-
raise Exception(
405-
f"Failed to create repository: {create_response.status}, message: {create_response.message}"
406-
)
407-
else:
408-
return create_response.data
400+
try:
401+
# Remove use_types=True since post() doesn't support it
402+
create_response = self.sdk.repos.post(self.config.org_slug, name=repo_slug, default_branch=default_branch)
403+
404+
# Check if the response is empty (failure) or has content (success)
405+
if not create_response:
406+
log.error("Failed to create repository: empty response")
407+
raise Exception("Failed to create repository: empty response")
408+
else:
409+
# If we got here, create_response is a dictionary with the repository data
410+
return create_response # This is already the repository data
411+
412+
except APIFailure as e:
413+
# Handle API failures from the post request
414+
log.error(f"API failure while creating repository: {e}")
415+
sys.exit(2) # Exit here with code 2. Code 1 indicates a successfully-detected security issue.
416+
409417
return response.data
410418

411419
def get_head_scan_for_repo(self, repo_slug: str) -> str:

socketsecurity/core/logging.py

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
22

3+
34
def initialize_logging(
45
level: int = logging.INFO,
56
format: str = "%(asctime)s: %(message)s",
@@ -23,10 +24,24 @@ def initialize_logging(
2324
cli_logger = logging.getLogger(cli_logger_name)
2425
cli_logger.setLevel(level)
2526

27+
# Explicitly set urllib3 logger to WARNING to prevent debug messages
28+
# when not in debug mode
29+
urllib3_logger = logging.getLogger("urllib3")
30+
urllib3_logger.setLevel(logging.WARNING)
31+
32+
# Also set git logger to WARNING
33+
git_logger = logging.getLogger("git")
34+
git_logger.setLevel(logging.WARNING)
35+
2636
return socket_logger, cli_logger
2737

28-
def set_debug_mode(enable: bool = True) -> None:
38+
def set_debug_mode(enable: bool = False) -> None:
2939
"""Toggle debug logging across all loggers"""
3040
level = logging.DEBUG if enable else logging.INFO
3141
logging.getLogger("socketdev").setLevel(level)
32-
logging.getLogger("socketcli").setLevel(level)
42+
logging.getLogger("socketcli").setLevel(level)
43+
44+
# Also update urllib3 and git loggers when debug mode changes
45+
urllib3_level = logging.DEBUG if enable else logging.WARNING
46+
logging.getLogger("urllib3").setLevel(urllib3_level)
47+
logging.getLogger("git").setLevel(urllib3_level)

0 commit comments

Comments
 (0)