#!/usr/bin/python
import Tkinter
import subprocess
import os.path
# Define input retrieve function for application input
def retrieve_text():
global volume
global mounted
if mounted is 0:
afp_ip = afp_host.get()
username = user_name.get()
volume = volume_in.get()
password = pass_word.get()
if os.path.exists('\"/tmp/'+volume+"\"") != 1:
output_string = "mkdir \"/tmp/" + volume + "\""
retcode = subprocess.Popen(output_string, shell=True)
output_string = "mount_afp \"afp://" + username + ":" + password + "@" + afp_ip + "/" + volume + "\" \"/tmp/" + volume + "\"\n nautilus \"/tmp/" + volume + "\""
retcode = subprocess.Popen(output_string, shell=True)
mounted = 1
def unmount():
global mounted
if mounted is 1:
retcode = subprocess.Popen("afp_client unmount \"/tmp/" + volume + "\"", shell=True)
mounted = 0
if __name__ == "__main__":
volume = 0
mounted = 0
# Create Window Object or Window Form
app_win = Tkinter.Tk()
# Create label object
labeltitle = Tkinter.Label(app_win,text="Connect to AFP Server\n")
labeltitle.pack()
# Create label object
label1 = Tkinter.Label(app_win,text="Host IP")
label1.pack()
# Create User Input Object
afp_host = Tkinter.Entry(app_win)
afp_host.pack()
# Create label object
label2 = Tkinter.Label(app_win,text="Username")
label2.pack()
# Create User Input Object
user_name = Tkinter.Entry(app_win)
user_name.pack()
# Create label object
label2a = Tkinter.Label(app_win,text="Password")
label2a.pack()
# Create User Input Object
pass_word = Tkinter.Entry(app_win)
pass_word.pack()
# Create label object
label3 = Tkinter.Label(app_win,text="Volume")
label3.pack()
# Create User Input Object
volume_in = Tkinter.Entry(app_win)
volume_in.pack()
# Create Button Object
app_button = Tkinter.Button(app_win,text="Connect",command=retrieve_text)
app_button.pack()
# Create Button Object
unmount_button = Tkinter.Button(app_win,text="Unmount",command=unmount)
unmount_button.pack()
# Initialize Graphical Loop
app_win.mainloop()
If you copy that into an empty text document, save it as "afp.py", open a terminal, type "python " and then drag the "afp.py" file into the terminal, you can run it. Of course, you'll have to download afpfs-ng first. Your command line should look something like this:
dustin@dustin:~$ python '/home/dustin/afp.py'
I'm still working on adding some more features and packaging this in an easier to use manner.