Browse Source

Pass config instead of args

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

+ 10 - 13
bin/nova

@@ -14,6 +14,7 @@ class Config(object):
         self.root = os.path.abspath('.nova')
         args = vars(args)
 
+        self.name = args.get('name', None)
         self.token = args.get('token', None)
         self.remote = args.get('remote', None)
         self.id = args.get('id', None) or dataset_id
@@ -54,8 +55,7 @@ class Config(object):
         return '<Config remote={}, token={}, id={}>'.format(self.remote, self.token, self.id)
 
 
-def push(args):
-    config = Config(args)
+def push(config):
     params = dict(token=config.token)
     f = memtar.create_tar(os.path.abspath('.'))
     f.seek(0L)
@@ -64,15 +64,14 @@ def push(args):
     print r.status_code
 
 
-def clone(args):
-    config = Config(args)
+def clone(config):
     params = dict(token=config.token)
 
-    if not args.name:
+    if not config.name:
         r = requests.get(config.url('/api/datasets/') + config.id, params=params)
         name = r.json()['name']
     else:
-        name = args.name
+        name = config.name
 
     url = config.url('/clone/' + config.id)
     r = requests.get(url, params=params)
@@ -83,13 +82,12 @@ def clone(args):
     config.write()
 
 
-def init(args):
-    name = args.name if args.name else os.path.basename(os.path.abspath(os.curdir))
-    config = Config(args)
+def init(config):
+    name = config.name if config.name else os.path.basename(os.path.abspath(os.curdir))
 
     # create dataset on remote
     data = dict(name=name)
-    params = dict(token=args.token)
+    params = dict(token=config.token)
     r = requests.post(config.url('/api/datasets'), params=params, data=data)
     result = r.json()
 
@@ -98,8 +96,7 @@ def init(args):
     config.write()
 
 
-def list_datasets(args):
-    config = Config(args)
+def list_datasets(config):
     params = dict(token=config.token)
     r = requests.get(config.url('/api/datasets'), params=params)
 
@@ -135,4 +132,4 @@ if __name__ == '__main__':
     clone_parser.set_defaults(run=clone)
 
     args = parser.parse_args()
-    args.run(args)
+    args.run(Config(args))