From ab16e715c988c0ac27c3872640796adb0e81848f Mon Sep 17 00:00:00 2001 From: Silvio Date: Wed, 17 Nov 2010 18:31:22 -0200 Subject: Adding isis:info task --- lib/sfIsisImporterManager.class.php | 34 +++++++++++++++++++++++++++++- lib/task/isisInfoTask.class.php | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 lib/task/isisInfoTask.class.php diff --git a/lib/sfIsisImporterManager.class.php b/lib/sfIsisImporterManager.class.php index c08545a..b7c4608 100644 --- a/lib/sfIsisImporterManager.class.php +++ b/lib/sfIsisImporterManager.class.php @@ -104,6 +104,38 @@ class sfIsisImporterManager extends IsisConnector return $databases; } + /** + * Show database information. + * + * @param mixed $databases Optional database names + */ + public function info($caller, $section = 'info', $databases = null) + { + // Additional logging settings. + $this->logger->setCaller($caller); + $this->logger->setSection($section); + + if ($databases == null) + { + $databases = $this->databases(); + } + elseif (!is_array($databases)) + { + $databases = array($databases); + } + + foreach ($databases as $database) + { + // Open database. + $importer = $this->newImporter($database); + + if ($importer) + { + $this->log("Database $database: ". $importer->isis->entries .' rows.'); + } + } + } + /** * After import procedure. */ @@ -130,7 +162,7 @@ class sfIsisImporterManager extends IsisConnector * @param string $section Caller section (whether an action or task) * @param int $entries Number of entries to import (defaults to all) */ - public function massImport($caller, $section, $entries = NULL, $offset = 0) + public function massImport($caller, $section, $entries = null, $offset = 0) { // Additional logging settings. $this->logger->setCaller($caller); diff --git a/lib/task/isisInfoTask.class.php b/lib/task/isisInfoTask.class.php new file mode 100644 index 0000000..da4836c --- /dev/null +++ b/lib/task/isisInfoTask.class.php @@ -0,0 +1,41 @@ +addOptions(array( + new sfCommandOption('application', null, sfCommandOption::PARAMETER_REQUIRED, 'The application name'), + new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'dev'), + new sfCommandOption('connection', null, sfCommandOption::PARAMETER_REQUIRED, 'The connection name', 'doctrine'), + new sfCommandOption('loglevel', 'l', sfCommandOption::PARAMETER_REQUIRED, 'Log level', 'info'), + )); + + $this->namespace = 'isis'; + $this->name = 'info'; + $this->briefDescription = 'List information of ISIS databases'; + $this->detailedDescription = <<logSection('isis', 'Error opening ISIS database.'); + return FALSE; + } + + // Database information. + $isis->info($this, 'task'); + } +} -- cgit v1.2.3