Browse Source

Add "info" command to nova control script

Matthias Vogelgesang 7 years ago
parent
commit
8badc4fdf2
1 changed files with 13 additions and 1 deletions
  1. 13 1
      bin/nova

+ 13 - 1
bin/nova

@@ -3,6 +3,7 @@
 import os
 import io
 import sys
+import json
 import argparse
 import requests
 import ConfigParser
@@ -118,7 +119,7 @@ def clone(config):
 
 def close(config):
     params = dict(token=config.token)
-    data = dict( id=config.id, closed=True)
+    data = dict(id=config.id, closed=True)
     r = requests.put(config.dataset_url, params=params, data=data)
 
     if r.status_code != 200:
@@ -139,6 +140,12 @@ def init(config):
     config.write()
 
 
+def info(config):
+    params = dict(token=config.token)
+    r = requests.get(config.url('/api/datasets/{}'.format(config.id)), params=params)
+    print json.dumps(r.json(), indent=2)
+
+
 def list_datasets(config):
     params = dict(token=config.token)
     r = requests.get(config.url('/api/datasets'), params=params)
@@ -183,6 +190,11 @@ if __name__ == '__main__':
     close_parser.set_defaults(run=close)
     add_remote_and_token_args(close_parser)
 
+    info_parser = cmd_parsers.add_parser('info', help="Gather information about dataset")
+    info_parser.add_argument('id', type=int, help="Dataset identifier")
+    info_parser.set_defaults(run=info)
+    add_remote_and_token_args(info_parser)
+
     args = parser.parse_args()
 
     global_conf = Config(root=xdg.BaseDirectory.load_first_config('nova'))