Advertisement
Guest User

Untitled

a guest
Aug 15th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.19 KB | None | 0 0
  1. '''
  2. Created on 06.04.2011
  3.  
  4. @author: jwh
  5. '''
  6.  
  7. from PySide.QtCore import *
  8. from PySide.QtGui import *
  9.  
  10.  
  11. class DatabaseLogic(object):
  12.     '''
  13.    classdoc
  14.    '''
  15.  
  16.  
  17.     def __init__(self,db):
  18.        
  19.         self.db=db
  20.         self.db.host = "localhost"
  21.         self.db.user = "postgres"
  22.         self.db.password = "kingkong1"
  23.         self.db.database = "vfs1"
  24.         self.db.connect()
  25.         self.cur = self.db.connection.cursor()
  26.        
  27.     def fillLocTable(self):
  28.         self.cur.execute('''select * from "config"."Location" ;''')
  29.         locs_table = QTableWidget()
  30.         locs_table.setRowCount(self.cur.rowcount)
  31.         locs_table.setColumnCount(5)
  32.         for j in range(self.cur.rowcount):
  33.             b=self.cur.fetchone()
  34.             for i in range(len(b)):
  35.                 newItem = QTableWidgetItem(str(b[i]))
  36.                 locs_table.setItem(j,i, newItem)
  37.        
  38.         locs_table.setColumnCount(len(b))      
  39.        
  40.         self.cur.execute('''select attname from pg_attribute,pg_class where attrelid = pg_class.oid and relname = 'Location' and attnum>0;''')
  41.                
  42.         header_temp=self.cur.fetchall()
  43.         header_items=[]
  44.        
  45.         for i in range(len(header_temp)):
  46.             header_items.append("".join(header_temp[i]))
  47.    
  48.         for i in range(len(header_items)):
  49.             newItem = QTableWidgetItem(str(header_items[i]))
  50.             locs_table.setHorizontalHeaderItem(i,newItem)
  51.         #self.cur.close()
  52.         print "test"        
  53.         return locs_table
  54.    
  55.     def fillVfsTable(self):
  56.         self.cur.execute('''select "VFSID", "UID", "Name", "Description", "RootFolderID", "SchemaName" from "config"."VirtualFS" ;''')
  57.         vfs_table=QTableWidget();
  58.         vfs_table.setRowCount(self.cur.rowcount)
  59.         vfs_table.setColumnCount(5)
  60.        
  61.         for j in range(self.cur.rowcount):
  62.             b=self.cur.fetchone()
  63.             for i in range(len(b)):
  64.                 newItem = QTableWidgetItem(str(b[i]))
  65.                 vfs_table.setItem(j,i, newItem)
  66.    
  67.         self.cur.execute('''select attname from pg_attribute,pg_class where attrelid = pg_class.oid and relname = 'VirtualFS' and attnum>0 and attname not like '%Type%';''')
  68.         #Die Encryption-IDs entfernen
  69.    
  70.        
  71.         #Columnnames in eine Liste fetchen
  72.        
  73.         vfs_temp=self.cur.fetchall()
  74.         vfs_items=[]
  75.        
  76.         for i in range(len(vfs_temp)):
  77.                 vfs_items.append("".join(vfs_temp[i]))
  78.            
  79.        
  80.        
  81.         for i in range(len(vfs_items)):
  82.             newItem = QTableWidgetItem(str(vfs_items[i]))
  83.             vfs_table.setHorizontalHeaderItem(i,newItem)
  84.        
  85.         return vfs_table
  86.  
  87.    
  88.     def fillUserTree(self):
  89.         users_tree=QTreeWidget()
  90.         self.cur.execute("select usename from pg_user;")
  91.    
  92.         top_temp=self.cur.fetchall()
  93.         top_items=[]
  94.    
  95.         for i in range(len(top_temp)):
  96.             top_items.append("".join(top_temp[i]))
  97.             #top_items[i]=top_items[i].join(top_temp[i])
  98.    
  99.            
  100.    
  101.         items = []
  102.         for i in range(len(top_items)):
  103.             items.append(QTreeWidgetItem(users_tree))
  104.             items[-1].setText(0,top_items[i])
  105.        
  106.         users_tree.insertTopLevelItems(0,items)
  107.        
  108.         return users_tree
  109.    
  110.     def fillGroupTree(self):
  111.         groups_tree=QTreeWidget()
  112.         self.cur.execute("select groname from pg_group;")
  113.    
  114.    
  115.         top_temp=self.cur.fetchall()
  116.         top_items=[]
  117.        
  118.         for i in range(len(top_temp)):
  119.             top_items.append("".join(top_temp[i]))
  120.        
  121.        
  122.         items = []
  123.         for i in range(len(top_items)):
  124.             items.append(QTreeWidgetItem(groups_tree))
  125.             items[-1].setText(0,top_items[i])
  126.            
  127.         groups_tree.insertTopLevelItems(0,items)
  128.        
  129.         grp_tmp=[]
  130.        
  131.         for i in range(len(top_items)):
  132.             self.cur.execute("select grolist from pg_group where groname = '"+top_items[i]+"' ;")
  133.             #for j in range(self.cur.)
  134.             grp_tmp.append(self.cur.fetchall())
  135.            
  136.         #print grp_tmp
  137.         #print len(grp_tmp)
  138.         #print grp_tmp[0][0][0]
  139.         #print len(grp_tmp[0][0][0])
  140.         #print grp_tmp[0][0][0][1]
  141.         #print grp_tmp[1][0][0]
  142.    
  143.    
  144.         grp_list=[]
  145.         tmp=[]
  146.        
  147.         for i in range(len(grp_tmp)):
  148.             for j in range(len(grp_tmp[i][0][0])):
  149.                 tmp.append(int(grp_tmp[i][0][0][j]))
  150.             grp_list.append(tmp)
  151.             tmp=[]
  152.        
  153.         print grp_list
  154.                
  155.                
  156.        
  157.        
  158.         tmp=[]
  159.         str=""
  160.         str_list=[]
  161.        
  162.         for i in range(len(grp_list)):
  163.             for j in range(len(grp_list[i])):
  164.                 self.cur.execute("select usename from pg_user where usesysid = %s ;",(grp_list[i][j],))
  165.                 str=self.cur.fetchall()
  166.                 tmp.append(str)
  167.             str_list.append(tmp)
  168.             tmp=[]
  169.        
  170.         print str_list
  171.        
  172.         #self.cur.execute("select usename from pg_user, pg_group where grolist @> array[usesysid];")
  173.         #grp_temp=self.cur.fetchall()
  174.         grp_temp=str_list
  175.         grp_items=[]
  176.        
  177.         for i in range(len(grp_temp)):
  178.             for j in range(len(grp_temp[i])):
  179.                 tmp.append("".join(grp_temp[i][j][0]))
  180.             grp_items.append(tmp)
  181.             tmp=[]
  182.        
  183.         print grp_items
  184.         print len(grp_items)
  185.        
  186.        
  187.         items = []
  188.         for i in range(len(grp_items)):
  189.             for j in range(len(grp_items[i])):
  190.                 groups_tree.itemAt(0,i).addChild(QTreeWidgetItem(groups_tree.itemAt(0,i)).setText(0,grp_items[i][j]))
  191.                 #items.append(QTreeWidgetItem(groups_tree.itemAt(0,i)))
  192.                 #items[-1].setText(0,grp_items[i][j])
  193.             #items=[]
  194.        
  195.         #groups_tree.insertTopLevelItems(0,items)
  196.            
  197.         return groups_tree
  198.              
  199.     def refresh_usr_tree(self):
  200.         self.fillUserTree()
  201.        
  202.     def refresh_grp_tree(self):
  203.         self.fillGroupTree()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement