Add "json" option
[shpub.git] / src / shpub / Command / Note.php
index a60422a..c7683f3 100644 (file)
@@ -1,21 +1,12 @@
 <?php
 namespace shpub;
 
-class Command_Note
+class Command_Note extends Command_AbstractProps
 {
-    /**
-     * @var Config
-     */
-    protected $cfg;
-
-    public function __construct($cfg)
-    {
-        $this->cfg = $cfg;
-    }
-
     public static function opts(\Console_CommandLine $optParser)
     {
         $cmd = $optParser->addCommand('note');
+        static::optsGeneric($cmd);
         $cmd->addArgument(
             'text',
             [
@@ -26,20 +17,17 @@ class Command_Note
         );
     }
 
-    public function run($command)
+    public function run(\Console_CommandLine_Result $cmdRes)
     {
-        $data = [
-            'h'       => 'entry',
-            'content' => $command->args['text'],
-        ];
-
-        $body = http_build_query($data);
-
         $req = new Request($this->cfg->host, $this->cfg);
-        $res = $req->send($body);
+        $req->setType('entry');
+        $req->addProperty('content', $cmdRes->args['text']);
+        $this->handleGenericOptions($cmdRes, $req);
+
+        $res = $req->send();
         $postUrl = $res->getHeader('Location');
-        echo "Post created at server\n";
-        echo $postUrl . "\n";
+        Log::info('Post created at server');
+        Log::msg($postUrl);
     }
 }
 ?>