def show(self, attrs=[], cols=None, fformat='raw', limit=0): if not cols: cols = self.COLUMNS cidx = col_idx(self.COLIDXS, cols) if not attrs: attrs=[None] rows = [] for attr in attrs: cnd, err = cond(name=attr) rows += self.db.select(self.TABLE, self.COLUMNS, cnd, limit) if limit > 0: rows = rows[:limit] new_rows = [] for row in rows: row[self.FLAGIDX] = cv_flags(fformat, row[self.FLAGIDX]) new_row = [] for i in cidx: new_row.append(row[i]) new_rows.append(new_row) desc = self.db.describe(self.TABLE) desc = [ desc[i] for i in cols ] return new_rows, desc
def _show(self, cnd, err, cols, fformat, limit): if not cols: cols = self.COLUMNS cidx = col_idx(self.COLIDXS, cols) rows = self.db.select(self.TABLE, self.COLUMNS, cnd, limit) new_rows = [] for row in rows: row[self.FLAGIDX] = cv_flags(fformat, row[self.FLAGIDX]) new_row = [] for i in cidx: new_row.append(row[i]) new_rows.append(new_row) desc = self.db.describe(self.TABLE) desc = [ desc[i] for i in cols ] return new_rows, desc
def show_uid(self, uid, cols=None, fformat='raw', limit=0): if not cols: cols = self.COLUMNS cidx = col_idx(self.COLIDXS, cols) cnd, err = cond(uid=uid) rows = self.db.select(self.TABLE, self.COLUMNS, cnd, limit) new_rows = [] for row in rows: row[self.FLAGIDX] = cv_flags(fformat, row[self.FLAGIDX]) new_row = [] for i in cidx: new_row.append(row[i]) new_rows.append(new_row) desc = self.db.describe(self.TABLE) desc = [ desc[i] for i in cols ] return new_rows, desc
def show_all(opts): cols, fformat, limit, rsep, lsep, astab = show_opts(opts) COLS = ['name', 'type', 'value', 'flags'] if not cols: cols = ['did', 'uid'] + COLS CIDX = idx_dict(['did', 'uid'] + COLS) cidx = col_idx(CIDX, cols) lst = [] a = User_attrs(opts['DB_URI']) ulist, desc = a.show(None, ['uid']+COLS, fformat, limit) for l in ulist: lst.append([''] + l) a = Domain_attrs(opts['DB_URI']) dlist, desc = a.show(None, ['did']+COLS, fformat, limit) for l in dlist: lst.append([l[0], ''] + l[1:]) a = Global_attrs(opts['DB_URI']) glist, desc = a.show(None, COLS, fformat, limit) for l in glist: lst.append(['GLOBAL', 'GLOBAL'] + l) alist = [] for row in lst: nr = [] for i in cidx: nr.append(row[i]) alist.append(nr) desc = [('did', ), ('uid', )] + list(desc) dsc = [] for i in cidx: dsc.append(desc[i]) tabprint(alist, dsc, rsep, lsep, astab)