fix bookmarklet on firefox
[stapibas.git] / src / stapibas / Cli.php
index 52c7143761bf1031081513b6d4c9fdb8af7d9ad8..88a8cc5644f639be1ac64563ab121563ad608719 100644 (file)
@@ -63,10 +63,12 @@ class Cli
         $mg = new Feed_Manage($deps);
         if ($command->command_name == 'add') {
             $mg->addFeed($command->command->args['feed']);
-        } else if ($command->command_name ==  'remove') {
+        } else if ($command->command_name == 'remove') {
             $mg->removeFeed($command->command->args['feed']);
-        } else {
+        } else if ($command->command_name == 'list') {
             $mg->listAll();
+        } else {
+            $this->cliParser->commands['feed']->displayUsage(1);
         }
     }
 
@@ -75,6 +77,15 @@ class Cli
     ) {
         $tasks = array_flip(explode(',', $result->command->options['tasks']));
 
+        //if an ID/url is given, only execute the matching task
+        if (isset($result->command->options['feed'])) {
+            $tasks = array('feeds' => 1);
+        } else if (isset($result->command->options['entry'])) {
+            $tasks = array('entries' => 1);
+        } else if (isset($result->command->options['entryurl'])) {
+            $tasks = array('urls' => 1);
+        }
+
         if (isset($tasks['feeds'])) {
             $this->runFeedUpdateFeeds($deps);
         }
@@ -181,6 +192,13 @@ class Cli
         );
         $add->addArgument('feed', array('description' => 'URL of feed'));
 
+        $feed->addCommand(
+            'list',
+            array(
+                'description' => 'List all feeds',
+            )
+        );
+
         $remove = $feed->addCommand(
             'remove',
             array(