#67 tables and columns (issue #5)

병합
carlos.garcia stefan.schmidt/list_tables_final 에서 SPIN/master 로 1 commits 를 머지했습니다 6 년 전
1개의 변경된 파일9개의 추가작업 그리고 0개의 파일을 삭제
  1. 9 0
      code/Core/Controller.py

+ 9 - 0
code/Core/Controller.py

@@ -145,6 +145,8 @@ class Controller:
             print()
             print("Miscellaneous:")
             print("\tlabels            -> List all attacks listed in the label file, if any")
+            print("\ttables            -> List all tables from database")
+            print("\tcolumns TABLE     -> List column names and types from specified table")
             print()
             print("Additional information is available with 'help [KEYWORD];'")
             print("To get a list of examples, type 'help examples;'")
@@ -254,6 +256,13 @@ class Controller:
                             print("End timestamp:   " + str(label.timestamp_end))
                             print()
                     print()
+                elif buffer.lower().strip() == 'tables;':
+                    self.statisticsDB.process_db_query("SELECT name FROM sqlite_master WHERE type='table';", True)
+                elif buffer.lower().strip().startswith('columns '):
+                    self.statisticsDB.process_db_query("SELECT * FROM " + buffer.lower()[8:], False)
+                    columns = self.statisticsDB.get_field_types(buffer.lower()[8:].strip(";"))
+                    for column in columns:
+                        print(column + ": " + columns[column])
                 else:
                     try:
                         self.statisticsDB.process_db_query(buffer, True)