-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
64 lines (52 loc) · 2.09 KB
/
Copy pathmain.py
File metadata and controls
64 lines (52 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/env python3
"""
CodeConverter - Ein Tool zur Übersetzung von Code zwischen verschiedenen Programmiersprachen
"""
import argparse
import os
import sys
from typing import List
from converter.core import CodeConverter
def main():
"""Hauptfunktion des CodeConverter-Tools"""
parser = argparse.ArgumentParser(
description="Übersetzt ein Git-Repository von einer Programmiersprache in eine andere"
)
parser.add_argument("source_repo", help="Pfad zum Quell-Repository")
parser.add_argument("target_language", help="Zielsprache für die Übersetzung")
parser.add_argument(
"-o", "--output", help="Ausgabepfad für das übersetzte Repository", default=None
)
args = parser.parse_args()
# Validierung der Eingabeparameter
# Überprüfe nicht, ob der Pfad existiert, wenn es sich um eine URL handelt
if not args.source_repo.startswith("http") and not os.path.exists(args.source_repo):
print(f"Fehler: Das Quell-Repository '{args.source_repo}' existiert nicht.")
sys.exit(1)
# Initialisiere den CodeConverter
converter = CodeConverter()
# Führe die Übersetzung durch
success = converter.translate_repository(
source_path=args.source_repo,
target_language=args.target_language,
output_path=args.output,
)
if success:
# Verwende den Standardausgabepfad, wenn keine Ausgabe angegeben wurde
if args.output:
output_path = args.output
elif args.source_repo.startswith("http"):
# Für URLs verwenden wir den Standardausgabepfad aus dem CodeConverter
# Da wir den tatsächlichen Pfad nicht kennen, verwenden wir eine allgemeine Meldung
output_path = f"./translated_repos/[repo_name]_{args.target_language}"
else:
output_path = f"{args.source_repo}_{args.target_language}"
print(
f"Übersetzung erfolgreich abgeschlossen. Ausgabeverzeichnis: {output_path}"
)
sys.exit(0)
else:
print("Übersetzung fehlgeschlagen.")
sys.exit(1)
if __name__ == "__main__":
main()