class UpdateForm(QtGui.QDialog): def __init__(self,cd,parent=None): super(UpdateForm, self).__init__(parent) self.ui = Ui_Dialog() self.ui.setupUi(self) self.Commondata = cd self.setWindowTitle(u"Обновление Calmanager. Текущая версия "+self.Commondata.version) self.connect(self.ui.CheckpushButton, QtCore.SIGNAL("clicked(bool)"), self.CheckUpdatesButton) self.connect(self.ui.addpushButton, QtCore.SIGNAL("clicked(bool)"), self.AddButton) self.connect(self.ui.deletepushButton, QtCore.SIGNAL("clicked(bool)"), self.DeleteButton) self.connect(self.ui.LoadpushButton, QtCore.SIGNAL("clicked(bool)"), self.LoadButton) def CheckInet(self): try: socket.gethostbyaddr('www.yandex.ru') except socket.gaierror: return False return True def LoadButton(self): #print "Load" c = self.ui.listWidget2.count() #Проверка наличия выбранных элементов для загрузки if c==0: self.ui.Statuslabel.setText(u"Ничего не выбрано для загрузкиs") return #Проверка наличия инета if self.CheckInet()==False: self.ui.Statuslabel.setText(u"Нет соединения с интернет. Установите соединение и повторите попытку") return #Загрузка файлов #Формирование списка fn=[] for i in range(c): #item - filename in ftp-server item=self.ui.listWidget2.item(i).data(1) iname=item.encode("utf8","latin-1") #print "item=",item,"basename=",os.path.basename(item),"iname=",iname fn.append((iname,os.path.basename(item))) #fn[0] - filename in ftp-server #fn[1] - only filename without path server = "ims-nv.ru" try: ftp = ftplib.FTP(server,timeout=30) ftp.login() except ftplib.all_errors, err: self.ui.Statuslabel.setText(u"Ошибка проверки: "+str(err).decode("utf-8")) try: for fni in fn: #print "Get file ", fni[0] ftp.retrbinary("RETR "+fni[0], open(fni[1], "wb+").write) self.ui.Statuslabel.setText(u"Выбранные обновления загружены") except ftplib.all_errors, err: self.ui.Statuslabel.setText(u"Ошибка проверки: "+str(err).decode("utf-8"))
def __init__(self,cd,parent=None): super(UpdateForm, self).__init__(parent) self.ui = Ui_Dialog() self.ui.setupUi(self) self.Commondata = cd self.setWindowTitle(u"Обновление Calmanager. Текущая версия "+self.Commondata.version) self.connect(self.ui.CheckpushButton, QtCore.SIGNAL("clicked(bool)"), self.CheckUpdatesButton) self.connect(self.ui.addpushButton, QtCore.SIGNAL("clicked(bool)"), self.AddButton) self.connect(self.ui.deletepushButton, QtCore.SIGNAL("clicked(bool)"), self.DeleteButton) self.connect(self.ui.LoadpushButton, QtCore.SIGNAL("clicked(bool)"), self.LoadButton)