Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- # -*- coding: utf-8 -*-
- import sys
- import io
- import codecs
- from itertools import izip
- import json
- import os
- import psycopg2 as db
- reload(sys)
- sys.setdefaultencoding("utf-8")
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- class RsWindow(QMainWindow):
- def __init__(self):
- super(QMainWindow, self).__init__()
- with open(os.path.abspath("config/db.json")) as ds:
- db_data = json.load(ds)
- 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'))
- cur = self.speaker.cursor()
- cur.execute('''
- select datname from pg_database
- ''')
- self.lst_dict = cur.fetchall()
- self.setWindowTitle("RsWindow")
- self.resize(400, 240)
- self.create_import_view()
- self.setCentralWidget(self.xl_widget)
- def create_import_view(self):
- self.dis_combox = QComboBox()
- for dic in self.lst_dict:
- self.dis_combox.addItem(dic[0])
- self.create_import_button = QPushButton(u"Выбрать БД", self)
- self.import_box_layout = QVBoxLayout()
- #self.button_box_layout = QVBoxLayout()
- self.import_box_layout.addStretch(1)
- self.import_view_grid = QGridLayout()
- self.import_box_layout.addWidget(self.dis_combox)
- self.import_box_layout.addWidget(self.create_import_button)
- self.import_view_grid.addLayout(self.import_box_layout,0,0)
- self.xl_widget = QWidget()
- self.dis_combox.activated.connect(self.dis_lst_click)
- self.create_import_button.clicked.connect(self.add_db)
- self.xl_widget.setLayout(self.import_view_grid)
- def dis_lst_click(self,strD):
- self.db_name = self.lst_dict[strD][0]
- def add_db(self):
- with open(os.path.abspath("config/command_db.json"), "w") as dt:
- self.dictWYC = json.dump({"db": self.db_name}, dt)
- QMessageBox.about(self, u"БД",u"БД успешно изменена")
- def main():
- simulator = QApplication(sys.argv)
- rs_window = RsWindow()
- rs_window.show()
- rs_window.raise_()
- simulator.exec_()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement