mdiss

📚 Dokumentacja API

Ten dokument zawiera szczegółowy opis interfejsu programistycznego (API) biblioteki mdiss.

Spis treści

MarkdownParser

Klasa odpowiedzialna za parsowanie plików markdown i wyodrębnianie nieudanych poleceń.

from mdiss.parser import MarkdownParser

# Inicjalizacja parsera
parser = MarkdownParser()

Metody

parse_file(file_path: str) -> List[CommandData]

Parsuje plik markdown i zwraca listę znalezionych poleceń.

Parametry:

Zwraca:

Przykład:

commands = parser.parse_file("failures.md")
for cmd in commands:
    print(f"Komenda: {cmd.command}")
    print(f"Status: {cmd.status}")
    print(f"Kod błędu: {cmd.return_code}")

parse_content(content: str) -> List[Dict[str, str]]

Parsuje zawartość markdown przekazaną jako ciąg znaków.

Parametry:

Zwraca:

Przykład:

content = """
```bash
echo "Test"

””” blocks = parser.parse_content(content)


## ErrorAnalyzer

Klasa analizująca błędy w nieudanych poleceniach i sugerująca rozwiązania.

```python
from mdiss.analyzer import ErrorAnalyzer

# Inicjalizacja analizatora
analyzer = ErrorAnalyzer()

Metody

analyze(command: CommandData) -> ErrorAnalysis

Analizuje pojedyncze nieudane polecenie.

Parametry:

Zwraca:

Przykład:

analysis = analyzer.analyze(failed_command)
print(f"Kategoria błędu: {analysis.category}")
print(f"Prawdopodobieństwo: {analysis.confidence}")
print(f"Sugerowane rozwiązanie: {analysis.suggested_solution}")

get_statistics(commands: List[CommandData]) -> Dict[str, Any]

Generuje statystyki na podstawie listy poleceń.

Parametry:

Zwraca:

Przykład:

stats = analyzer.get_statistics(commands)
print(f"Liczba błędów: {stats['failed_commands']}")
print(f"Wskaźnik powodzenia: {stats['success_rate']:.1%}")

GitHubClient

Klasa do komunikacji z API GitHub w celu tworzenia i zarządzania zgłoszeniami.

from mdiss.github import GitHubClient, GitHubConfig

# Konfiguracja klienta
config = GitHubConfig(
    token="your_github_token",
    owner="repo_owner",
    repo="repo_name"
)
client = GitHubClient(config)

Metody

create_issue(title: str, body: str, labels: List[str] = None) -> Dict

Tworzy nowe zgłoszenie (issue) na GitHubie.

Parametry:

Zwraca:

Przykład:

issue = client.create_issue(
    title="Naprawić błąd w module X",
    body="Opis błędu...",
    labels=["bug", "high-priority"]
)

Modele danych

CommandData

Klasa reprezentująca pojedyncze polecenie wyodrębnione z pliku markdown.

Atrybuty:

ErrorAnalysis

Wynik analizy błędu.

Atrybuty:

Wyjątki

ParserError

Wyjątek zgłaszany w przypadku błędu podczas parsowania pliku markdown.

Atrybuty:

GitHubAPIError

Wyjątek zgłaszany w przypadku błędu podczas komunikacji z API GitHub.

Atrybuty:


GitHubClient

Klasa do integracji z API GitHub do zarządzania zgłoszeniami.

Metody

__init__(self, config: GitHubConfig)

Inicjalizuje klienta GitHub.

Parametry:

create_issue(self, command: FailedCommand) -> Optional[Dict]

Tworzy nowe zgłoszenie na GitHubie na podstawie nieudanego polecenia.

Parametry:

Zwraca:

Przykład:

from mdiss import GitHubClient, GitHubConfig

config = GitHubConfig(
    token="your_github_token",
    owner="wronai",
    repo="mdiss"
)
client = GitHubClient(config)
issue = client.create_issue(failed_command)

test_connection(self) -> bool

Testuje połączenie z GitHub API.

Zwraca:


Modele danych

FailedCommand

Reprezentuje nieudane polecenie wyodrębnione z pliku markdown.

Atrybuty:

ErrorAnalysis

Wynik analizy błędu.

Atrybuty:

GitHubConfig

Konfiguracja połączenia z GitHub.

Atrybuty: