Advertisement
Guest User

Untitled

a guest
Mar 1st, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.25 KB | None | 0 0
  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import sys
  5. import io
  6. import codecs
  7. from itertools import izip
  8. import json
  9. import os
  10. import psycopg2 as db
  11.  
  12. reload(sys)
  13. sys.setdefaultencoding("utf-8")
  14.  
  15. from PyQt4.QtCore import *
  16. from PyQt4.QtGui import *
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. class RsWindow(QMainWindow):
  24.   def __init__(self):
  25.     super(QMainWindow, self).__init__()
  26.     with open(os.path.abspath("config/db.json")) as ds:
  27.       db_data = json.load(ds)
  28.     self.speaker = db.connect(host=db_data.get('host'), user=db_data.get('user'),password=db_data.get('pass'), dbname=db_data.get('irs_db'))
  29.    
  30.     cur = self.speaker.cursor()
  31.    
  32.     cur.execute('''
  33.      select datname from pg_database
  34.    ''')
  35.    
  36.     self.lst_dict = cur.fetchall()
  37.    
  38.     self.setWindowTitle("RsWindow")
  39.     self.resize(400, 240)
  40.     self.create_import_view()
  41.    
  42.  
  43.     self.setCentralWidget(self.xl_widget)
  44.  
  45.   def create_import_view(self):
  46.    
  47.    
  48.    
  49.     self.dis_combox = QComboBox()
  50.    
  51.     for dic in self.lst_dict:
  52.      
  53.       self.dis_combox.addItem(dic[0])
  54.    
  55.  
  56.     self.create_import_button = QPushButton(u"Выбрать БД", self)
  57.  
  58.    
  59.     self.import_box_layout = QVBoxLayout()
  60.     #self.button_box_layout = QVBoxLayout()
  61.     self.import_box_layout.addStretch(1)
  62.     self.import_view_grid = QGridLayout()
  63.    
  64.  
  65.    
  66.     self.import_box_layout.addWidget(self.dis_combox)
  67.     self.import_box_layout.addWidget(self.create_import_button)
  68.    
  69.     self.import_view_grid.addLayout(self.import_box_layout,0,0)
  70.    
  71.     self.xl_widget = QWidget()
  72.    
  73.  
  74.  
  75.    
  76.     self.dis_combox.activated.connect(self.dis_lst_click)
  77.     self.create_import_button.clicked.connect(self.add_db)
  78.    
  79.     self.xl_widget.setLayout(self.import_view_grid)
  80.  
  81.   def dis_lst_click(self,strD):
  82.  
  83.     self.db_name = self.lst_dict[strD][0]
  84.  
  85.   def add_db(self):
  86.     with open(os.path.abspath("config/command_db.json"), "w") as dt:
  87.       self.dictWYC = json.dump({"db": self.db_name}, dt)
  88.      
  89.     QMessageBox.about(self, u"БД",u"БД успешно изменена")
  90.    
  91. def main():
  92.   simulator = QApplication(sys.argv)
  93.   rs_window = RsWindow()
  94.  
  95.   rs_window.show()
  96.   rs_window.raise_()
  97.   simulator.exec_()
  98.  
  99.  
  100. if __name__ == "__main__":
  101.   main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement