Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.33 KB | None | 0 0
  1. class MyThread(QThread):
  2.     mysignal=pyqtSignal(int)
  3.     sheet=""
  4.     def __init__(self,parent=None):
  5.         QThread.__init__(self,parent)
  6.     def sale(self):
  7.             try:
  8.                 conn=getConnection()
  9.                 cursor=conn.cursor()
  10.                 for r in range(1,self.sheet.nrows):
  11.                     uid=self.sheet.cell(r,0).value
  12.                     dis=self.sheet.cell(r,3).value
  13.                     orient=self.sheet.cell(r,5).value if self.sheet.cell(r,5).value!='' else '-----'
  14.                     kol=self.sheet.cell(r,8).value
  15.                     floor=self.sheet.cell(r,9).value+'/'+self.sheet.cell(r,10).value
  16.                     square=self.sheet.cell(r,11).value
  17.                     street=self.sheet.cell(r,4).value  if self.sheet.cell(r,4).value!='' else '-----'
  18.                     sost=self.sheet.cell(r,13).value if self.sheet.cell(r,13).value!='' else '-----'
  19.                     cost=self.sheet.cell(r,6).value+' '+self.sheet.cell(r,7).value
  20.                     phone=self.sheet.cell(r,17).value
  21.                     name=self.sheet.cell(r,16).value if self.sheet.cell(r,16).value!='' else '-----'
  22.                     long="-----"
  23.                     lat="-----"
  24.                     photo="-----"
  25.                     status=0
  26.                     sql=f'INSERT INTO Rielt_sale (uid,district,orient,room_number,floor,furniture,square,street,condition_of_repair,price,telephon_number,name,longitude,latitude,photo,status) VALUES({uid},"{dis}","{orient}",{kol},"{floor}","{obst}",{float(square)},"{street}",{sost}","{cost}","{phone}","{name}","{long}","{lat}","{photo}","{status}");'
  27.                     self.mysignal.emit(r)
  28.                     print(sql)
  29.                     try:
  30.                         cursor.execute(sql)
  31.                         print(sql)
  32.                         #conn.commit()
  33.                     except Exception as e:
  34.                         print(e)
  35.                         continue
  36.                 conn.close()
  37.             except Exception as e:
  38.                 er=Error1(e)
  39.                 er.show()
  40.     def rent(self):
  41.             try:
  42.                     conn=getConnection()
  43.                     cursor=conn.cursor()
  44.                     for r in range(1,self.sheet.nrows):
  45.                         uid=self.sheet.cell(r,15).value
  46.                         dis=self.sheet.cell(r,1).value
  47.                         street=self.sheet.cell(r,2).value
  48.                         orient=self.sheet.cell(r,3).value if self.sheet.cell(r,3).value!='' else '-----'
  49.                         kol=self.sheet.cell(r,5).value
  50.                         floor=self.sheet.cell(r,6).value+'/'+self.sheet.cell(r,7).value
  51.                         square=self.sheet.cell(r,8).value
  52.                         sost=self.sheet.cell(r,9).value if self.sheet.cell(r,9).value!='' else '-----'
  53.                         obst=self.sheet.cell(r,10).value if self.sheet.cell(r,10).value!='' else '-----'
  54.                         cost=self.sheet.cell(r,4).value+' '+self.sheet.cell(r,5).value
  55.                         phone=self.sheet.cell(r,13).value
  56.                         name=self.sheet.cell(r,14).value if self.sheet.cell(r,14).value!='' else '-----'
  57.                         long="-----"
  58.                         lat="-----"
  59.                         photo="-----"
  60.                         status=0            
  61.                         sql=f'INSERT INTO Rielt_rent (uid,district,orient,room_number,floor,square,street,condition_of_repair,furniture,price,telephon_number,name,longitude,latitude,photo,status) VALUES ({uid},"{dis}","{orient}",{kol},"{floor}",{float(square)},"{street}","{sost}","{obst}","{cost}","{phone}","{name}","{long}","{lat}","{photo}",{status})'
  62.                         print(sql)
  63.                         try:
  64.                             cursor.execute(sql)
  65.                             #cursor.commit()
  66.                         except Exception as e:
  67.                             print(e)
  68.                             continue
  69.                         self.mysignal.emit(r)
  70.                     conn.close()
  71.             except Exception as e:
  72.                 er=Error1(e)
  73.                 er.show()
  74.  
  75.  
  76. class Example(QWidget):
  77.  
  78.     def __init__(self):
  79.         super().__init__()
  80.         self.initUI()
  81.     def initUI(self):
  82.         self.vb=QVBoxLayout()
  83.         self.pb=QProgressBar()
  84.         self.rb1=QRadioButton("Продажа")
  85.         self.rb2=QRadioButton("Аренда")
  86.         hb1=QHBoxLayout()
  87.         hb1.addWidget(self.rb1)
  88.         hb1.addWidget(self.rb2)
  89.         hb2=QHBoxLayout()
  90.         self.text_line=QLineEdit()
  91.         b2=QPushButton("Начать выгрузку")
  92.         b=QPushButton("Выбрать")
  93.         hb2.addWidget(self.text_line)
  94.         hb2.addWidget(b)
  95.         self.vb.addLayout(hb2)
  96.         self.vb.addLayout(hb1)
  97.         self.vb.addWidget(b2)
  98.         self.vb.addWidget(self.pb)
  99.         self.setLayout(self.vb)
  100.         self.mythread=MyThread()
  101.         b.clicked.connect(self.opens)
  102.         b2.clicked.connect(self.export)
  103.         self.mythread.started.connect(self.startd)
  104.         self.mythread.mysignal.connect(self.pbar,Qt.QueuedConnection)
  105.         self.setWindowTitle("Передача")
  106.         self.resize(300,120)
  107.     def opens(self):
  108.         self.text_line.setText(QFileDialog.getOpenFileName(self, "Open file")[0])
  109.     def export(self):
  110.         book=xlrd.open_workbook(self.text_line.text())
  111.         self.mythread.sheet=book.sheet_by_name("Worksheet")
  112.         self.pb.setRange(0,self.mythread.sheet.nrows)
  113.         if self.rb1.isChecked():
  114.             self.mythread.sale()
  115.         else:
  116.             self.mythread.rent()
  117.         self.mythread.start()
  118.     def pbar(self,val):
  119.         #print("$$$$$")
  120.         self.pb.setValue(val)
  121.     def startd(self):
  122.         print("!!!!")
  123.            
  124. class Error1(QWidget):
  125.     def __init__(self,er_text):
  126.         super().__init__()
  127.         self.initUI(er_text)
  128.     def initUI(self,err):
  129.         vb=QVBoxLayout()
  130.         lbl=QLabel("Возникла ошибка!!!")
  131.         lbl2=QLabel()
  132.         er_lbl=QLabel()
  133.         er_lbl.setText(str(err))
  134.         vb.addWidget(lbl)
  135.         vb.addWidget(er_lbl)
  136.         vb.addWidget(lbl2)
  137.         self.setLayout(vb)
  138.         self.setWindowTitle("Ошибка")
  139.        
  140.  
  141. if __name__ == "__main__":
  142.  
  143.     app = QApplication(sys.argv)
  144.     ex = Example()
  145.     ex.show()
  146.     sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement