V1.2.1 -error tracking and intercept illegal chars
This commit is contained in:
parent
67a832062c
commit
9ee348848c
12
README.md
12
README.md
@ -4,7 +4,7 @@ Dies erzeugt ein neues GIT Repository auf ein Asustor NAS (Only GIT installed).
|
||||
|
||||
## Version
|
||||
|
||||
V 1.2
|
||||
V 1.2.1
|
||||
|
||||
## Installation
|
||||
|
||||
@ -12,7 +12,15 @@ Dies erzeugt ein neues GIT Repository auf ein Asustor NAS (Only GIT installed).
|
||||
|
||||
## Changelog
|
||||
|
||||
### V 1.1 **(WIP)**
|
||||
### V 1.2.1 **(WIP)**
|
||||
- `main.py`
|
||||
- Added " " zu "_" und Illigale Zeichen abfangen
|
||||
- Ackknowlege vom User bekommen
|
||||
- Added Try-Except block um SSH Ausführung
|
||||
- **TODO:** User abfangen wenn Remote nicht erkennt.
|
||||
- **TODO:** History einbauen
|
||||
|
||||
### V 1.2 **(WIP)**
|
||||
- `main.py`
|
||||
- Added Remote Adresse zu ändern (Local & Public)
|
||||
- Added Multiuser
|
||||
|
||||
53
main.py
53
main.py
@ -1,13 +1,25 @@
|
||||
import subprocess
|
||||
import socket
|
||||
|
||||
username = input("Hallo, wie lautet ihr anmelde Namen? (achte auf Groß und Kleinschrift): ")
|
||||
hostname = input(f"Super, {username}. Jetzt bräuchte ich noch die Remote-adresse: ")
|
||||
username = input("Hallo, wie lautet ihr Username? (Achte bitte auf Groß und Kleinschrift): ")
|
||||
hostname = input(f"\nSuper, {username}. Jetzt bräuchte ich noch die Remote-adresse: ")
|
||||
port= "22"
|
||||
port = input(f"Standartport {port} nutzen? (y/j/PORT-Nr) ")
|
||||
if port.lower() in ["ja","j","y"]:
|
||||
port = input(f"\nStandartport {port} nutzen? (y/j/PORT-Nr) ")
|
||||
if port.lower() in ["ja","j","y"] or not port.isdigit():
|
||||
port= "22"
|
||||
|
||||
project_name = input("Perfekt, gibt mir bitte noch den Projektnamen: ")
|
||||
iligal_signs = "/\\\"[]{}%&§=<>|"
|
||||
ili_signs_tab = str.maketrans(iligal_signs,"-" * len(iligal_signs))
|
||||
project_name = input("\nPerfekt, gibt mir bitte noch den Projektnamen (Leerzeichen werden automatisch zu _ ersetzt): ")
|
||||
project_name= project_name.replace(" ","_")
|
||||
project_name= project_name.translate(ili_signs_tab)
|
||||
|
||||
ack = input(f"\nOkay > {username} <, bitte prüfe ob der Name so richtig ist: > {project_name} <\nfür den Host > {hostname} < auf dem Port > {port} < (y/n)? ")
|
||||
if ack.lower() == "y" or ack.lower() == "j":
|
||||
print("\nSuper, ich lege los!")
|
||||
else:
|
||||
exit()
|
||||
|
||||
|
||||
# Befehle für die SSH-Verbindung
|
||||
commands = [
|
||||
@ -31,12 +43,27 @@ commands = [
|
||||
]
|
||||
|
||||
# SSH-Verbindung herstellen und Befehle ausführen
|
||||
command_string = " && ".join(commands)
|
||||
subprocess.run(["ssh", "-p", port, f"{username}@{hostname}", command_string])
|
||||
print("Bitte gehe selber per ssh auf das nas um ein >git push origin master< zu machen um das vollständig ab zu schließen")
|
||||
print(f"cd share/Public/git/{project_name}")
|
||||
print("git push origin master")
|
||||
print(f'git clone "ssh://yannick@192.168.2.106/share/Public/git/{project_name}.git"')
|
||||
try:
|
||||
socket.gethostbyname(hostname)
|
||||
except socket.gaierror as e:
|
||||
print(f"Fehler beim Auflösen des Hostnames: {e}")
|
||||
else:
|
||||
try:
|
||||
# TODO User abfangen wenn nicht existent
|
||||
# command = f"ssh -p {port} {username}@{hostname} echo"
|
||||
# completed_process = subprocess.run(command,shell=True,capture_output=True)
|
||||
# if completed_process.returncode == 0:
|
||||
# pass
|
||||
# else:
|
||||
# print(f"Der Benutzer {username} exsistiert nicht auf dem Server: {hostname}")
|
||||
# exit()
|
||||
|
||||
# Temporäre Datei entfernen (nicht erforderlich, da direkt übergeben)
|
||||
# subprocess.run(["del", "commands.sh"], shell=True)
|
||||
command_string = " && ".join(commands)
|
||||
subprocess.run(["ssh", "-p", port, f"{username}@{hostname}", command_string])
|
||||
print("Bitte gehe nun selber via ssh, etc. zum Git Repos, um ein >git push origin master< zu machen um das vollständig ab zu schließen")
|
||||
print("Hier sind Hilfreiche Befehle:")
|
||||
print(f"\ncd share/Public/git/{project_name}")
|
||||
print("\ngit push origin master")
|
||||
print(f'\ngit clone "ssh://yannick@192.168.2.106/share/Public/git/{project_name}.git"')
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"Leider ist da was Fehlgeschlagen: {e}")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user