Skip to content

Instantly share code, notes, and snippets.

@lqc
Created July 17, 2011 18:49
Show Gist options
  • Save lqc/1087921 to your computer and use it in GitHub Desktop.
Save lqc/1087921 to your computer and use it in GitHub Desktop.
Some random program from pl.python.org I'm reviewing ;)
# Klient FTP
# Napisany przez Sherifa, na licencji Open Source
# importuje biblioteke
import ftplib
# Chyba widac...
print "=======================\n"
print "====== FTP Klient =====\n"
print "=======================\n"
# definiuje zmienne, i wprowadzam dane z zewnatrz do zmiennych
a = raw_input("Podaj adres serwera ftp:\n")
b = raw_input("Podaj nazwe uzytkownika:\n")
c = raw_input("Podaj haslo:\n")
d = 1
# definiuje polaczenie, z danym hostem.
conn = ftplib.FTP(a)
# definiuje polaczenie z okreslonym uzytkownikiem i haslem, oraz wykonuje polaczenie.
conn.login(b, c)
#Pyta czy wlaczyc debuga
debug = raw_input("Czy chcesz wlaczyc debug ? -Debuger pozwala na podglad wysylanych komend do serwera, Wpisz tak lub nie:\n")
if debug == 'tak':
conn.set_debuglevel(1)
elif debug == 'nie':
conn.set_debuglevel(0)
else:
print "Popelniles blad, powinienes wpisac tak lub nie. Debug nie zostanie wlaczony.\n"
# Funkcja przejscia do katalogu, funkcja 4
def dirr():
g = raw_input("Wpisz do jakiego katalogu przejsc:\n")
conn.dir(g)
# Funkcja zmiany nazwy pliku/katalogu, funkcja 5
def nazwa():
h = raw_input("Wpisz nazwe pliku/katalogu ktorego nazwe chcesz zmienic:\n")
i = raw_input("Wpisz nazwe na jaka plik/katalog ma byc zmieniony\n")
conn.rename(h, i)
# Funkcja wysylania komend, Funkcja 3
def komendy():
f = raw_input("Wpisz komende ktora zostanie wyslana do serwera ftp: ")
conn.sendcmd(f)
# Funkcja usuwania, Funkcja 6
def usuwanie():
j = raw_input("Wpisz nazwe pliku/katalogu do usuniecia:\n")
conn.delete(j)
# Funkcja otwierania pliku, Funkcja 7
def otwieranie():
k = raw_input("Wpisz nazwe pliku do otwarcia:\n")
conn.retrbinary(k, open(k, 'wb').write)
# Pomoc programu, Funkcja 0
def pomoc():
print "0 - Pomoc Programu\n"
print "1 - Zamkniecie Programu\n"
print "2 - Wyswietlenie listy katalogow\n"
print "3 - Wysylanie komendy do serwera\n"
print "4 - Przejscie do katalogu\n"
print "5 - Zmiana nazwy pliku/katalogu\n"
print "6 - Usuwanie pliku/katalogu\n"
print "7 - Otwieranie pliku\n"
#instrukcja.
print "Instrukcja:\n"
print "Teraz wpisuj cyfry od 1 do x, aby zainicjowac dzialanie\n"
print "Spis cyfer odpowiedzialnych za dane funkcje masz pod cyfra 0\n"
#petla, zeby program sie nie zakonczyl. W petli sa komendy.
while d == 1:
e = raw_input()
if e == '0':
print pomoc()
if e == '1':
d = 0
if e == '2':
conn.retrlines('LIST')
if e == '3':
print komendy()
if e == '4':
print dirr()
if e == '5':
print nazwa()
if e == '6':
print usuwanie()
if e == '7':
print otwieranie()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment