mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 14:01:15 +02:00
Support for auto open project
This commit is contained in:
4 files changed
+72
-3
No files matched your search
@@ -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
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user