@@ -483,14 +483,6 @@ def dumpAll(self):
483483 logger .info (infoMsg )
484484
485485 def dumpFoundColumn (self , dbs , foundCols , colConsider ):
486- if not dbs :
487- warnMsg = "no databases have tables containing any of the "
488- warnMsg += "provided columns"
489- logger .warn (warnMsg )
490- return
491-
492- conf .dumper .dbColumns (foundCols , colConsider , dbs )
493-
494486 message = "do you want to dump entries? [Y/n] "
495487 output = readInput (message , default = "Y" )
496488
@@ -552,3 +544,64 @@ def dumpFoundColumn(self, dbs, foundCols, colConsider):
552544
553545 if data :
554546 conf .dumper .dbTableValues (data )
547+
548+ def dumpFoundTables (self , tables ):
549+ print "tables:" , tables
550+
551+ message = "do you want to dump tables' entries? [Y/n] "
552+ output = readInput (message , default = "Y" )
553+
554+ if output and output [0 ].lower () != "y" :
555+ return
556+
557+ dumpFromDbs = []
558+ message = "which database(s)?\n [a]ll (default)\n "
559+
560+ for db , tablesList in tables .items ():
561+ if tablesList :
562+ message += "[%s]\n " % db
563+
564+ message += "[q]uit"
565+ test = readInput (message , default = "a" )
566+
567+ if not test or test .lower () == "a" :
568+ dumpFromDbs = tables .keys ()
569+ elif test .lower () == "q" :
570+ return
571+ else :
572+ dumpFromDbs = test .replace (" " , "" ).split ("," )
573+
574+ for db , tablesList in tables .items ():
575+ if db not in dumpFromDbs or not tablesList :
576+ continue
577+
578+ conf .db = db
579+ dumpFromTbls = []
580+ message = "which table(s) of database '%s'?\n " % db
581+ message += "[a]ll (default)\n "
582+
583+ for tbl in tablesList :
584+ message += "[%s]\n " % tbl
585+
586+ message += "[s]kip\n "
587+ message += "[q]uit"
588+ test = readInput (message , default = "a" )
589+
590+ if not test or test .lower () == "a" :
591+ dumpFromTbls = tablesList
592+ elif test .lower () == "s" :
593+ continue
594+ elif test .lower () == "q" :
595+ return
596+ else :
597+ dumpFromTbls = test .replace (" " , "" ).split ("," )
598+
599+ for table in dumpFromTbls :
600+ conf .tbl = table
601+ kb .data .cachedColumns = {}
602+ kb .data .dumpedTable = {}
603+
604+ data = self .dumpTable ()
605+
606+ if data :
607+ conf .dumper .dbTableValues (data )
0 commit comments