Add --skip-sync cli option to sort already-downloaded files without downloading new ones

This commit is contained in:
2013-10-03 18:08:16 +01:00
parent 8aa10a0746
commit e4fb0b7866
2 changed files with 24 additions and 17 deletions

View File

@@ -4,7 +4,7 @@ define('DD_File', 'dispatcher');
$options = array();
if (isset($_SERVER['argv'])) {
$options = getopt('c:', array('config:'));
$options = getopt('c:', array('config:','skip-sync'));
}
if (isset($options['config'])) {
@@ -26,6 +26,10 @@ try {
$main = DownloadDispatcher_Main::instance();
DownloadDispatcher_LogEntry::setLocalProgname('download-dispatcher');
if (isset($options['skip-sync'])) {
$main->config()->set('sync.skip', true, false);
}
// Download Dispatcher entry point
DownloadDispatcher_Processor::run();
@@ -34,4 +38,4 @@ try {
}
?>
?>

View File

@@ -12,23 +12,26 @@ class DownloadDispatcher_Processor {
$main = DownloadDispatcher_Main::instance();
$config = $main->config();
$log = $main->log();
// Find the list of available Sync plugins
$sync_plugins = $config->get('sync');
foreach ($sync_plugins as $plugin_name) {
// Get a list of all the instances of this plugin to be used
$instances = $config->get("sync.{$plugin_name}");
foreach ($instances as $instance) {
try {
$plugin = DownloadDispatcher_Sync_PluginFactory::create($plugin_name, $config, $log, $instance);
$plugin->run();
} catch(SihnonFramework_Exception_PluginException $e) {
SihnonFramework_LogEntry::warning($log, $e->getMessage());
if (! $config->get('sync.skip', false)) {
// Find the list of available Sync plugins
$sync_plugins = $config->get('sync');
foreach ($sync_plugins as $plugin_name) {
// Get a list of all the instances of this plugin to be used
$instances = $config->get("sync.{$plugin_name}");
foreach ($instances as $instance) {
try {
$plugin = DownloadDispatcher_Sync_PluginFactory::create($plugin_name, $config, $log, $instance);
$plugin->run();
} catch(SihnonFramework_Exception_PluginException $e) {
SihnonFramework_LogEntry::warning($log, $e->getMessage());
}
}
}
}
// Find the list of available source plugins
DownloadDispatcher_Source_PluginFactory::scan();
$source_plugins = $config->get('sources');
@@ -45,4 +48,4 @@ class DownloadDispatcher_Processor {
}
?>
?>