@@ -857,12 +857,11 @@ def _generate_schema(self):
857857 sdata2 = data ['databases' ][i ]['tables' ][j ]['columns' ][k ]
858858 sdata2_id = sdata2 ['id' ]
859859 sstr3 = '{}' .format (sdata2 ['name' ])
860- self .db_dict [sstr ]['tables' ][sstr2 ]['columns' ][sstr3 ] = {}
861860
862- self .db_dict [sstr ]['tables' ][sstr2 ]['columns' ][sstr3 ]['id' ] = sdata2_id
863861 sdesc3 = sdata2 ['description' ]
864- self .db_dict [sstr ]['tables' ][sstr2 ]['columns' ][sstr3 ]['description' ] = sdesc3
865-
862+ self .db_dict [sstr ]['tables' ][sstr2 ]['columns' ][sstr3 ] = {
863+ 'id' : sdata2_id ,
864+ 'description' : sdesc3 }
866865 return response
867866
868867 def explore_db (self , db = None , table = None , col = None ):
@@ -1008,53 +1007,59 @@ def explore_db(self, db=None, table=None, col=None):
10081007 ['columns' ].keys ())
10091008 reordered = (['{}' .format (col )] +
10101009 [i for i in col_dict if i != col ])
1010+
1011+ temp_columns = []
1012+
1013+ columns = self .db_dict [db ]['tables' ][table ]['columns' ]
1014+ for i in reordered :
1015+ c = columns [i ]
1016+ if isinstance (c , dict ) and i == col :
1017+ temp_columns .append ('--> @ {}:' .format (i ))
1018+ elif not isinstance (c , dict ) and i == col :
1019+ temp_columns .append ('--> {}:' .format (i ))
1020+ elif isinstance (c , dict ) and i != col :
1021+ temp_columns .append ('@ {}' .format (i ))
1022+ else :
1023+ temp_columns .append ('{}' .format (i ))
1024+
10111025 if len (col_dict ) < size2 :
1012- t ['Columns' ] = ['--> @ {}:' .format (i )
1013- if isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i == col
1014- else '--> {}:' .format (i )
1015- if not isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i == col
1016- else '{}' .format (i )
1017- if not isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i != col
1018- else '@ {}' .format (i )
1019- if isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i != col
1020- else '{}' .format (i )
1021- for i in reordered ] + ['' for j in range (size2 - len (col_dict ))]
1022- colinfo_dict = col_dict = self .db_dict [db ]['tables' ][table ]['columns' ][col ]
1026+ size_diff = size2 - len (col_dict )
1027+ t ['Columns' ] = (temp_columns +
1028+ ['' for j in range (size_diff )])
1029+
1030+ colinfo_dict = col_dict = columns [col ]
10231031 t ['Col. Info' ] = (
10241032 ['{} : {}' .format (i , colinfo_dict [i ])
10251033 for i in colinfo_dict .keys ()] +
10261034 ['' for j in range (size2 - len (colinfo_dict ))])
10271035 else :
1028- t ['Columns' ] = ['--> @ {}:' .format (i )
1029- if isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i == col
1030- else '--> {}:' .format (i )
1031- if not isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i == col
1032- else '{}' .format (i )
1033- if not isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i != col
1034- else '@ {}' .format (i )
1035- if isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict ) and i != col
1036- else '{}' .format (i )
1037- for i in reordered ]
1036+ t ['Columns' ] = temp_columns
1037+
10381038 # if column has not been specified
10391039 else :
10401040 tblcols_dict = self .db_dict [db ]['tables' ][table ].keys ()
10411041 col_dict = (
10421042 self .db_dict [db ]['tables' ][table ]['columns' ].keys ())
10431043 reordered = sorted (col_dict , key = len )
10441044 if len (tblcols_dict ) < size2 :
1045- t ['Table Items' ] = ['@ {}' .format (i )
1046- if isinstance (self .db_dict [db ]['tables' ][table ][i ], dict )
1047- else '{}:' .format (i )
1048- for i in tblcols_dict ] + ['' for i in range (size2 - len (tblcols_dict ))]
1049- t ['Table Info' ] = ['{}' .format (self .db_dict [db ]['tables' ][table ][i ])
1050- if not isinstance (self .db_dict [db ]['tables' ][table ][i ], dict )
1051- else ""
1052- for i in tblcols_dict ] + ['' for i in range (size2 - len (tblcols_dict ))]
1045+ size_diff = size2 - len (tblcols_dict )
1046+ tmp_table = self .db_dict [db ]['tables' ][table ]
1047+ t ['Table Items' ] = (
1048+ ['@ {}' .format (i ) if isinstance (tmp_table [i ], dict )
1049+ else '{}:' .format (i ) for i in tblcols_dict ] +
1050+ ['' for i in range (size_diff )])
1051+ t ['Table Info' ] = (
1052+ ['{}' .format (tmp_table [i ])
1053+ if not isinstance (tmp_table [i ], dict )
1054+ else '' for i in tblcols_dict ] +
1055+ ['' for i in range (size_diff )])
10531056 if len (col_dict ) < size2 :
1054- t ['Columns' ] = ['@ {}' .format (i )
1055- if isinstance (self .db_dict [db ]['tables' ][table ]['columns' ][i ], dict )
1056- else '{}' .format (i )
1057- for i in reordered ] + ['' for i in range (size2 - len (col_dict ))]
1057+ t ['Columns' ] = (
1058+ ['@ {}' .format (i )
1059+ if isinstance (tmp_table ['columns' ][i ], dict )
1060+ else '{}' .format (i )
1061+ for i in reordered ] +
1062+ ['' for i in range (size2 - len (col_dict ))])
10581063 else :
10591064 t ['Columns' ] = reordered
10601065 else :
0 commit comments