Skip to content

Commit d7a1013

Browse files
committed
Fix flake8 issues: Add missing newlines and fix some line lengths
- Added missing newlines at end of files - Fixed long lines in deepagent.py, mermaid_parser.py, skills/parser_tool.py - Fixed block comment and inline comment spacing issues - Still working on remaining long line issues in database models/utils
1 parent 75752f7 commit d7a1013

File tree

15 files changed

+122
-60
lines changed

15 files changed

+122
-60
lines changed

src/agents/base_agent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
##add the file##
1+
# add the file

src/agents/deepagent.py

Lines changed: 42 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ async def _arun(self, query: str):
5050

5151
class FlexibleAgent:
5252
"""
53-
Flexible agent supporting multiple LLM providers (Gemini, OpenAI, Ollama, etc.)
54-
for unstructuredDataHandler.
53+
Flexible agent supporting multiple LLM providers (Gemini, OpenAI,
54+
Ollama, etc.) for unstructuredDataHandler.
5555
"""
5656
def __init__(
5757
self,
@@ -78,12 +78,15 @@ def __init__(
7878
# Normalize provider and validate
7979
provider = (provider or config.get('default_provider') or "").lower()
8080
if not provider:
81-
raise ValueError("Provider not specified and no default_provider found in config.")
81+
raise ValueError(
82+
"Provider not specified and no default_provider found in "
83+
"config."
84+
)
8285

8386
self.dry_run = bool(dry_run)
8487
self.llm: Any = None
8588
self.agent: Any = None
86-
self.store = {} # In-memory session store
89+
self.store = {} # In-memory session store
8790

8891
if self.dry_run:
8992
self.tools = tools or [EchoTool()]
@@ -99,16 +102,24 @@ def __init__(
99102
model = model or provider_config.get('default_model')
100103

101104
try:
102-
if provider == "gemini" or provider == "google":
103-
self.llm = GoogleGenerativeAI(google_api_key=api_key, model=model, **kwargs)
104-
elif provider == "openai":
105-
self.llm = OpenAI(openai_api_key=api_key, model=model, **kwargs)
105+
if provider == 'gemini':
106+
self.llm = GoogleGenerativeAI(
107+
google_api_key=api_key, model=model, **kwargs
108+
)
109+
elif provider == 'openai':
110+
self.llm = OpenAI(
111+
openai_api_key=api_key, model=model, **kwargs
112+
)
106113
elif provider == "ollama" and Ollama is not None:
107114
self.llm = Ollama(model=model, **kwargs)
108115
else:
109-
raise ValueError(f"Unsupported or unavailable provider: {provider}")
116+
raise ValueError(
117+
f"Unsupported or unavailable provider: {provider}"
118+
)
110119
except Exception as e:
111-
raise RuntimeError(f"Failed to initialize LLM provider '{provider}': {e}") from e
120+
raise RuntimeError(
121+
f"Failed to initialize LLM provider '{provider}': {e}"
122+
) from e
112123

113124
self.tools = tools or [EchoTool()]
114125

@@ -122,7 +133,9 @@ def __init__(
122133
)
123134

124135
agent = create_tool_calling_agent(self.llm, self.tools, prompt)
125-
agent_executor = AgentExecutor(agent=agent, tools=self.tools, verbose=verbose)
136+
agent_executor = AgentExecutor(
137+
agent=agent, tools=self.tools, verbose=verbose
138+
)
126139

127140
def get_session_history(session_id: str) -> ChatMessageHistory:
128141
if session_id not in self.store:
@@ -136,15 +149,15 @@ def get_session_history(session_id: str) -> ChatMessageHistory:
136149
history_messages_key="chat_history",
137150
)
138151

139-
140152
def run(self, input_data: str, session_id: str = "default"):
141153
"""
142154
Run the agent on the provided input data (prompt).
143155
"""
144-
return self.agent.invoke(
156+
result = self.agent.invoke(
145157
{"input": input_data},
146-
config={"configurable": {"session_id": session_id}},
158+
config={"configurable": {"session_id": session_id}}
147159
)
160+
return result["output"]
148161

149162

150163
class MockAgent:
@@ -178,19 +191,30 @@ def main():
178191
def load_dotenv(*_args, **_kwargs): # type: ignore
179192
return False
180193
parser = argparse.ArgumentParser()
181-
parser.add_argument("--dry-run", action="store_true", help="Run agent in dry-run mode")
194+
parser.add_argument(
195+
"--dry-run", action="store_true", help="Run agent in dry-run mode"
196+
)
182197
parser.add_argument("--provider", help="LLM provider to use")
183198
parser.add_argument("--model", help="Model name to use")
184-
parser.add_argument("--prompt", default="What is the capital of France?", help="The prompt to run")
185-
parser.add_argument("--session-id", default="default", help="The session ID for the conversation")
199+
parser.add_argument(
200+
"--prompt", default="What is the capital of France?",
201+
help="The prompt to run"
202+
)
203+
parser.add_argument(
204+
"--session-id", default="default",
205+
help="The session ID for the conversation"
206+
)
186207
args = parser.parse_args()
187208

188209
# Load environment variables from .env file
189210
load_dotenv(os.path.join(os.path.dirname(__file__), ".env"))
190211

191212
api_key = None
192213
if not args.dry_run:
193-
if args.provider and (args.provider.lower() == "gemini" or args.provider.lower() == "google"):
214+
if args.provider and (
215+
args.provider.lower() == "gemini" or
216+
args.provider.lower() == "google"
217+
):
194218
api_key = os.getenv("GOOGLE_GEMINI_API_KEY")
195219
elif args.provider and args.provider.lower() == "openai":
196220
api_key = os.getenv("OPENAI_API_KEY")

src/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
app = FastAPI()
44

5+
56
@app.get("/")
67
def read_root():
78
return {"Hello": "World"}

src/fallback/fallback_router.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""
2-
Fallback router module (renamed from router.py to avoid duplicate-module name with llm/router.py).
2+
Fallback router module (renamed from router.py to avoid duplicate-module
3+
name with llm/router.py).
34
45
This placeholder keeps a clear name for fallback routing logic.
56
"""

src/llm/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
"""
22
LLM Integration Module
33
4-
Provides interfaces and implementations for various Large Language Model providers.
4+
Provides interfaces and implementations for various Large Language
5+
Model providers.
56
"""
67

78
from .base import BaseLLMClient, MockLLMClient
89

910
__all__ = [
1011
'BaseLLMClient',
1112
'MockLLMClient'
12-
]
13+
]

src/parsers/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
'PlantUMLParser',
2222
'MermaidParser',
2323
'DrawIOParser'
24-
]
24+
]

src/parsers/base_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,4 @@ def validate_extension(self, file_path: str) -> bool:
118118

119119
class ParseError(Exception):
120120
"""Exception raised when diagram parsing fails."""
121-
pass
121+
pass

src/parsers/database/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@
3838
'get_element_dependencies',
3939
'merge_diagrams',
4040
'validate_diagram_integrity'
41-
]
41+
]

src/parsers/database/models.py

Lines changed: 45 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,18 @@ def _init_database(self):
103103
''')
104104

105105
# Create indexes for better query performance
106-
conn.execute('CREATE INDEX IF NOT EXISTS idx_elements_diagram_id ON elements (diagram_id)')
107-
conn.execute('CREATE INDEX IF NOT EXISTS idx_elements_type ON elements (element_type)')
108-
conn.execute('CREATE INDEX IF NOT EXISTS idx_relationships_diagram_id ON relationships (diagram_id)')
109-
conn.execute('CREATE INDEX IF NOT EXISTS idx_relationships_type ON relationships (relationship_type)')
110-
conn.execute('CREATE INDEX IF NOT EXISTS idx_relationships_source ON relationships (source_element_id)')
111-
conn.execute('CREATE INDEX IF NOT EXISTS idx_relationships_target ON relationships (target_element_id)')
106+
conn.execute(
107+
'CREATE INDEX IF NOT EXISTS idx_elements_diagram_id ON elements (diagram_id)')
108+
conn.execute(
109+
'CREATE INDEX IF NOT EXISTS idx_elements_type ON elements (element_type)')
110+
conn.execute(
111+
'CREATE INDEX IF NOT EXISTS idx_relationships_diagram_id ON relationships (diagram_id)')
112+
conn.execute(
113+
'CREATE INDEX IF NOT EXISTS idx_relationships_type ON relationships (relationship_type)')
114+
conn.execute(
115+
'CREATE INDEX IF NOT EXISTS idx_relationships_source ON relationships (source_element_id)')
116+
conn.execute(
117+
'CREATE INDEX IF NOT EXISTS idx_relationships_target ON relationships (target_element_id)')
112118

113119
def store_diagram(self, parsed_diagram) -> int:
114120
"""
@@ -186,9 +192,12 @@ def get_diagram(self, diagram_id: int) -> Optional[DiagramRecord]:
186192
id=row['id'],
187193
source_file=row['source_file'],
188194
diagram_type=row['diagram_type'],
189-
created_at=datetime.fromisoformat(row['created_at']) if row['created_at'] else None,
190-
updated_at=datetime.fromisoformat(row['updated_at']) if row['updated_at'] else None,
191-
metadata=json.loads(row['metadata']) if row['metadata'] else {},
195+
created_at=datetime.fromisoformat(
196+
row['created_at']) if row['created_at'] else None,
197+
updated_at=datetime.fromisoformat(
198+
row['updated_at']) if row['updated_at'] else None,
199+
metadata=json.loads(
200+
row['metadata']) if row['metadata'] else {},
192201
tags=json.loads(row['tags']) if row['tags'] else []
193202
)
194203
return None
@@ -209,8 +218,10 @@ def get_elements(self, diagram_id: int) -> List[ElementRecord]:
209218
element_id=row['element_id'],
210219
element_type=row['element_type'],
211220
name=row['name'],
212-
properties=json.loads(row['properties']) if row['properties'] else {},
213-
position=json.loads(row['position']) if row['position'] else None,
221+
properties=json.loads(
222+
row['properties']) if row['properties'] else {},
223+
position=json.loads(
224+
row['position']) if row['position'] else None,
214225
tags=json.loads(row['tags']) if row['tags'] else []
215226
))
216227

@@ -233,13 +244,15 @@ def get_relationships(self, diagram_id: int) -> List[RelationshipRecord]:
233244
source_element_id=row['source_element_id'],
234245
target_element_id=row['target_element_id'],
235246
relationship_type=row['relationship_type'],
236-
properties=json.loads(row['properties']) if row['properties'] else {},
247+
properties=json.loads(
248+
row['properties']) if row['properties'] else {},
237249
tags=json.loads(row['tags']) if row['tags'] else []
238250
))
239251

240252
return relationships
241253

242-
def search_elements_by_type(self, element_type: str) -> List[ElementRecord]:
254+
def search_elements_by_type(
255+
self, element_type: str) -> List[ElementRecord]:
243256
"""Search elements by type across all diagrams."""
244257
with sqlite3.connect(self.db_path) as conn:
245258
conn.row_factory = sqlite3.Row
@@ -255,8 +268,10 @@ def search_elements_by_type(self, element_type: str) -> List[ElementRecord]:
255268
element_id=row['element_id'],
256269
element_type=row['element_type'],
257270
name=row['name'],
258-
properties=json.loads(row['properties']) if row['properties'] else {},
259-
position=json.loads(row['position']) if row['position'] else None,
271+
properties=json.loads(
272+
row['properties']) if row['properties'] else {},
273+
position=json.loads(
274+
row['position']) if row['position'] else None,
260275
tags=json.loads(row['tags']) if row['tags'] else []
261276
))
262277

@@ -276,7 +291,8 @@ def search_by_tags(self, tags: List[str]) -> List[Dict[str, Any]]:
276291
''', (f'%{tag}%',))
277292

278293
for row in cursor.fetchall():
279-
diagram_tags = json.loads(row['tags']) if row['tags'] else []
294+
diagram_tags = json.loads(
295+
row['tags']) if row['tags'] else []
280296
if tag in diagram_tags:
281297
results['diagrams'].append({
282298
'id': row['id'],
@@ -292,7 +308,8 @@ def search_by_tags(self, tags: List[str]) -> List[Dict[str, Any]]:
292308
''', (f'%{tag}%',))
293309

294310
for row in cursor.fetchall():
295-
element_tags = json.loads(row['tags']) if row['tags'] else []
311+
element_tags = json.loads(
312+
row['tags']) if row['tags'] else []
296313
if tag in element_tags:
297314
results['elements'].append({
298315
'id': row['id'],
@@ -326,17 +343,21 @@ def get_all_diagrams(self) -> List[DiagramRecord]:
326343
"""Retrieve all diagram records."""
327344
with sqlite3.connect(self.db_path) as conn:
328345
conn.row_factory = sqlite3.Row
329-
cursor = conn.execute('SELECT * FROM diagrams ORDER BY created_at DESC')
346+
cursor = conn.execute(
347+
'SELECT * FROM diagrams ORDER BY created_at DESC')
330348

331349
diagrams = []
332350
for row in cursor.fetchall():
333351
diagrams.append(DiagramRecord(
334352
id=row['id'],
335353
source_file=row['source_file'],
336354
diagram_type=row['diagram_type'],
337-
created_at=datetime.fromisoformat(row['created_at']) if row['created_at'] else None,
338-
updated_at=datetime.fromisoformat(row['updated_at']) if row['updated_at'] else None,
339-
metadata=json.loads(row['metadata']) if row['metadata'] else {},
355+
created_at=datetime.fromisoformat(
356+
row['created_at']) if row['created_at'] else None,
357+
updated_at=datetime.fromisoformat(
358+
row['updated_at']) if row['updated_at'] else None,
359+
metadata=json.loads(
360+
row['metadata']) if row['metadata'] else {},
340361
tags=json.loads(row['tags']) if row['tags'] else []
341362
))
342363

@@ -346,6 +367,7 @@ def delete_diagram(self, diagram_id: int) -> bool:
346367
"""Delete a diagram and all its related records."""
347368
with sqlite3.connect(self.db_path) as conn:
348369
conn.execute("PRAGMA foreign_keys = ON")
349-
cursor = conn.execute('DELETE FROM diagrams WHERE id = ?', (diagram_id,))
370+
cursor = conn.execute(
371+
'DELETE FROM diagrams WHERE id = ?', (diagram_id,))
350372
conn.commit()
351-
return cursor.rowcount > 0
373+
return cursor.rowcount > 0

src/parsers/database/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,4 +339,4 @@ def validate_diagram_integrity(db: DiagramDatabase, diagram_id: int) -> Dict[str
339339
'issue': 'self_reference'
340340
})
341341

342-
return issues
342+
return issues

0 commit comments

Comments
 (0)