@@ -10,29 +10,7 @@ def __init__(self, api_url, api_token: str = None, bearer_token: str = None):
1010 self .BEARER_TOKEN = bearer_token
1111
1212 def send_file_for_docstring_generation (self , file_name , content , line_numbers , repo_details = None ):
13- """Send file content and modified lines to the API and return modified
14- content.
15-
16- This function constructs a payload containing the file path, content,
17- and modified line numbers, and sends it to a specified API endpoint for
18- processing. It handles the response from the API, returning the modified
19- content if the request is successful. If the request fails, it logs the
20- error details and returns the original content.
21-
22- Args:
23- file_name (str): The path to the file being sent.
24- content (str): The content of the file to be processed.
25- line_numbers (list): A list of line numbers that have been modified.
26- repo_details (str?): Additional repository details if applicable. Defaults to None.
27-
28- Returns:
29- str: The modified content returned by the API, or the original content if the
30- request fails.
31-
32- Raises:
33- Exception: If there is an error in processing the file and no specific error
34- message is provided.
35- """
13+ """Send file content and modified lines to the API and return modified content."""
3614 payload = {
3715 'file_path' : file_name ,
3816 'content' : content ,
@@ -53,25 +31,22 @@ def send_file_for_docstring_generation(self, file_name, content, line_numbers, r
5331 raise Exception (f"API Error: { error_message } " )
5432
5533 def generate_commit_summary (self , git_diff , instruction : str = "" , repo_details = None , jira_context : dict = None ):
56- """Generate a commit summary by sending a POST request to the API endpoint.
57-
58- This function constructs a payload containing the git diff and any
59- additional instructions provided. It then sends this payload to a
60- specified API endpoint to generate a summary of the commit. If the
61- request is successful, it returns the response from the API; otherwise,
62- it returns None .
63-
34+ """Generates a commit summary by sending a POST request to the API endpoint.
35+
36+ This function constructs a payload containing the git diff and any additional
37+ instructions provided. It then sends this payload to a specified API endpoint
38+ to generate a summary of the commit. If the request is successful, it returns
39+ the response from the API; otherwise, it returns None. The function also
40+ handles optional repository details and JIRA context if they are provided .
41+
6442 Args:
6543 git_diff (str): The git diff of the commit.
66- instruction (str?? ): Additional instruction for the commit. Defaults to "".
67- repo_details (dict?? ): Details of the git repository. Defaults to None.
68- jira_context (dict?? ): JIRA issue details to enhance the commit summary. Defaults to None.
69-
44+ instruction (str): Additional instruction for the commit. Defaults to "".
45+ repo_details (dict): Details of the git repository. Defaults to None.
46+ jira_context (dict): JIRA issue details to enhance the commit summary. Defaults to None.
47+
7048 Returns:
7149 dict: The response from the API if the request is successful, None otherwise.
72-
73- Raises:
74- Exception: If there is an error during the API request.
7550 """
7651 payload = {
7752 'git_diff' : git_diff ,
@@ -100,18 +75,8 @@ def generate_commit_summary(self, git_diff, instruction: str = "", repo_details
10075 return None
10176
10277 def get_supported_file_types (self ) -> list [str ]:
103- """Retrieve the supported file types from the API.
104-
105- This function sends a request to the API endpoint
106- `/v1/file/supported_languages` to obtain a list of supported file types.
107- If the API call is successful (status code 200), it parses the JSON
108- response and returns the list of supported file types. If the API call
109- fails, it returns a default list of common file types.
110-
111- Returns:
112- list[str]: A list of supported file types, either from the API or a default set.
113- """
11478
79+ """Retrieve supported file types from the API or return a default list."""
11580 url = self .api_url + "/v1/cli/supported_languages"
11681 response = requests .get (url )
11782 if response .status_code == 200 :
@@ -121,21 +86,8 @@ def get_supported_file_types(self) -> list[str]:
12186 return ["py" , "js" , "ts" , "java" , "kt" , "cs" , "c" ]
12287
12388 def generate_commit_summary_with_llm (self , diff , message , generate_description : bool , repo_details , llm_client : LLMClient , jira_context = None ):
124- """Generates a commit summary using a local LLM client. If an error occurs
125- during the generation process,
126- it falls back to using the API.
127-
128- Args:
129- diff (str): The Git diff of changes.
130- message (str): User-provided commit message or instructions.
131- generate_description (bool): Flag indicating whether to generate a description for the commit.
132- repo_details (dict): Details about the repository.
133- llm_client (LLMClient): An instance of LLMClient used to generate the summary.
134- jira_context (JIRAContext?): Optional JIRA issue context to enhance the summary.
135-
136- Returns:
137- dict: A dictionary containing the title and description for the commit.
138- """
89+ """Generates a commit summary using a local LLM client; falls back to API on
90+ error."""
13991 try :
14092 return llm_client .generate_commit_summary (diff , message , generate_description , repo_details , jira_context )
14193 except Exception as e :
@@ -144,17 +96,9 @@ def generate_commit_summary_with_llm(self, diff, message, generate_description:
14496 return self .generate_commit_summary (diff , message , repo_details , jira_context )
14597
14698 def get_api_key (self ):
147- """Fetch an API key from a specified URL.
148-
149- This function sends a GET request to retrieve an API token using a
150- Bearer token in the headers. It handles the response and returns the API
151- key if the request is successful, or `None` otherwise.
152-
153- Returns:
154- str: The API key if the request is successful, `None` otherwise.
155- """
15699
157100
101+ """Fetch an API key from a specified URL using a Bearer token."""
158102 url = self .api_url + "/v1/apiToken/get"
159103 response = requests .get (url , headers = {"Authorization" : f"Bearer { self .BEARER_TOKEN } " }, timeout = 60 * 10 )
160104 if response .status_code == 200 :
0 commit comments