2017-05-22 3 views
0

Ich versuche, mein erstes Programm zu machen, indem ich die git push/clone-Prozesse mit GUI-Eingaben automatisiere.Subprozess für Sequenz von Terminalbefehlen verwenden

"""GUI GIT Program""" 
#Import Statements 
from tkinter import * 
from tkinter import simpledialog 
from tkinter import messagebox 
import subprocess 
from time import sleep 

# set up the GUI 
root = Tk() 
w = Label(root, text="Git Handler") 
w.pack() 

# Welcome the User 
messagebox.showinfo("Welcome","This is a program to automate your Git stuff!") 

# solicit input 
user_name = simpledialog.askstring("Username:","What is your username?") 
password = simpledialog.askstring("Password","What is your password?",show="*") 
message_for_push = simpledialog.askstring("Push Message","What's your push message?") 

# do stuff with the data 
# call(["git","push"]) 
# sleep (2) 
# call([user_name]) 
# sleep (2) 
# call([password]) 
commands = ''' 
git push''' 
user_name 
password 


process = subprocess.Popen('/bin/bash', stdin=subprocess.PIPE, stdout=subprocess.PIPE) 
out, err = process.communicate(commands.encode('utf-8')) 
print(out.decode('utf-8')) 

Das Problem im ist mit, dass die git Push-Befehl ausgeführt wird, aber der nächste Schritt Benutzernamen doesnt eingeben, und alle nachfolgenden Befehle als auch ... irgendwelche Ideen?

Antwort

0

Ich stieß auf ähnliche Ausgabe lange Zeit zurück und konnte mit unten Code-Snippet umgehen.

git-clone() { 
    print "Bitbucket checkout enter bitbucket user/pass." 
    echo -n "Bitbucket username:" 
    read bit_user 
    #echo "Bitbucket pass:" 
    read -s -p "Bitbucket Password:" bit_pass 
    su -c "cd /home/latlongo; git clone https://$bit_user:[email protected]/xyz.git -b your_branch" -m $1 
} 
+0

so ... Entschuldigung der Noob ich bin, ist dies nur für den Klonprozess? und auch, was bitbucket? – scoobz1234

+0

ja dies ist für das Klonen, aber Sie können 'Git Clone' Befehl mit einem anderen Git-Befehl ersetzen. Bitbucket kann man als kommerziellen Git von Atlassian betrachten. –

+0

einige Fehler bekommen, die geschweiften Klammern nicht mögen? Ich sollte im mit Python 3 hinzufügen – scoobz1234

Verwandte Themen