Support for auto open project

This commit is contained in:
Julien Duponchelle committed 2016-08-15 20:51:59 +02:00
1 parent e710eff22e
commit 0613efa297
4 files changed
+72 -3

No files matched your search

+1 -1
View File
@@ -299,7 +299,7 @@ class Controller:
self.remove_project(self._projects[topo_data["project_id"]])
project = yield from self.add_project(path=os.path.dirname(path), status="closed", filename=os.path.basename(path), **topo_data)
if load:
if load or project.auto_open:
yield from project.open()
return project
+33 -1
View File
@@ -67,6 +67,8 @@ class Project:
assert name is not None
self._name = name
self._auto_start = False
self._auto_close = False
self._auto_open = False
self._status = status
# Disallow overwrite of existing project
@@ -139,8 +141,35 @@ class Project:
@property
def auto_start(self):
"""
Should project auto start when opened
"""
return self._auto_start
@auto_start.setter
def auto_start(self, val):
self._auto_start = val
@property
def auto_close(self):
"""
Should project automaticaly closed when client
stop listening for notification
"""
return self._auto_close
@auto_close.setter
def auto_close(self, val):
self._auto_close = val
@property
def auto_open(self):
return self._auto_open
@auto_open.setter
def auto_open(self, val):
self._auto_open = val
@property
def controller(self):
return self._controller
@@ -604,7 +633,10 @@ class Project:
"project_id": self._id,
"path": self._path,
"filename": self._filename,
"status": self._status
"status": self._status,
"auto_start": self._auto_start,
"auto_close": self._auto_close,
"auto_open": self._auto_open
}
def __repr__(self):
+28
View File
@@ -31,6 +31,10 @@ PROJECT_CREATE_SCHEMA = {
"type": ["string", "null"],
"minLength": 1
},
"auto_close": {
"description": "Project auto close",
"type": "boolean"
},
"project_id": {
"description": "Project UUID",
"type": ["string", "null"],
@@ -56,6 +60,18 @@ PROJECT_UPDATE_SCHEMA = {
"description": "Path of the project on the server (work only with --local)",
"type": ["string", "null"]
},
"auto_close": {
"description": "Project auto close when client cut off the notifications feed",
"type": "boolean"
},
"auto_open": {
"description": "Project open when GNS3 start",
"type": "boolean"
},
"auto_start": {
"description": "Project start when opened",
"type": "boolean"
}
},
"additionalProperties": False,
}
@@ -90,6 +106,18 @@ PROJECT_OBJECT_SCHEMA = {
"status": {
"description": "Project status Read only",
"enum": ["opened", "closed"]
},
"auto_close": {
"description": "Project auto close when client cut off the notifications feed",
"type": "boolean"
},
"auto_open": {
"description": "Project open when GNS3 start",
"type": "boolean"
},
"auto_start": {
"description": "Project start when opened",
"type": "boolean"
}
},
"additionalProperties": False,