Add --skip-sync cli option to sort already-downloaded files without downloading new ones
This commit is contained in:
@@ -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 {
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user