Generate unique key for error pattern.
(self, error_type: str, error_message: str)
| 179 | warning(f"Failed to save error database: {e}") |
| 180 | |
| 181 | def _generate_key(self, error_type: str, error_message: str) -> str: |
| 182 | """Generate unique key for error pattern.""" |
| 183 | # Normalize error message (remove specific paths, line numbers) |
| 184 | normalized = re.sub(r'line \d+', 'line N', error_message.lower()) |
| 185 | normalized = re.sub(r'file "[^"]+"', 'file "..."', normalized) |
| 186 | normalized = re.sub(r'/[a-zA-Z0-9_/.-]+', '/...', normalized) |
| 187 | |
| 188 | content = f"{error_type}:{normalized}" |
| 189 | return hashlib.sha256(content.encode()).hexdigest()[:16] |
| 190 | |
| 191 | def record_error(self, error_type: str, error_message: str, |
| 192 | context: Dict = None) -> str: |