mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 09:18:08 +00:00
More specific path checks (file vs directory).
This commit is contained in:
parent
8020c2e99c
commit
96231e3f7f
@ -45,7 +45,7 @@ class FileUploadHandler(tornado.web.RequestHandler):
|
||||
# default projects directory is "~/Documents/GNS3/images"
|
||||
self._upload_dir = os.path.expandvars(os.path.expanduser(server_config.get("upload_directory", "~/Documents/GNS3/images")))
|
||||
|
||||
if not os.path.exists(self._upload_dir):
|
||||
if not os.path.isdir(self._upload_dir):
|
||||
try:
|
||||
os.makedirs(self._upload_dir)
|
||||
log.info("upload directory '{}' created".format(self._upload_dir))
|
||||
|
@ -198,14 +198,14 @@ class Dynamips(IModule):
|
||||
"""
|
||||
|
||||
# check if Dynamips path exists
|
||||
if not os.path.exists(self._dynamips):
|
||||
if not os.path.isfile(self._dynamips):
|
||||
raise DynamipsError("Dynamips executable {} doesn't exist".format(self._dynamips))
|
||||
|
||||
# check if Dynamips is executable
|
||||
if not os.access(self._dynamips, os.X_OK):
|
||||
raise DynamipsError("Dynamips {} is not executable".format(self._dynamips))
|
||||
|
||||
if not os.path.exists(self._working_dir):
|
||||
if not os.path.isdir(self._working_dir):
|
||||
try:
|
||||
os.makedirs(self._working_dir)
|
||||
except OSError as e:
|
||||
@ -407,7 +407,7 @@ class Dynamips(IModule):
|
||||
config = "!\n" + config.replace("\r", "")
|
||||
config = config.replace('%h', router.name)
|
||||
config_dir = os.path.join(router.hypervisor.working_dir, "configs")
|
||||
if not os.path.exists(config_dir):
|
||||
if not os.path.isdir(config_dir):
|
||||
try:
|
||||
os.makedirs(config_dir)
|
||||
except OSError as e:
|
||||
|
@ -455,7 +455,7 @@ class HypervisorManager(object):
|
||||
|
||||
port = self.allocate_tcp_port()
|
||||
# working_dir = os.path.join(self._working_dir, "instance-{}".format(port))
|
||||
# if not os.path.exists(working_dir):
|
||||
# if not os.path.isdir(working_dir):
|
||||
# try:
|
||||
# os.makedirs(working_dir)
|
||||
# except OSError as e:
|
||||
|
@ -54,9 +54,9 @@ class IOU(IModule):
|
||||
config = Config.instance()
|
||||
iou_config = config.get_section_config(name.upper())
|
||||
self._iouyap = iou_config.get("iouyap")
|
||||
if not self._iouyap or not os.path.exists(self._iouyap):
|
||||
if not self._iouyap or not os.path.isfile(self._iouyap):
|
||||
iouyap_in_cwd = os.path.join(os.getcwd(), "iouyap")
|
||||
if os.path.exists(iouyap_in_cwd):
|
||||
if os.path.isfile(iouyap_in_cwd):
|
||||
self._iouyap = iouyap_in_cwd
|
||||
else:
|
||||
# look for iouyap if none is defined or accessible
|
||||
@ -153,7 +153,7 @@ class IOU(IModule):
|
||||
self._current_console_port = self._console_start_port_range
|
||||
self._current_udp_port = self._udp_start_port_range
|
||||
|
||||
if self._iourc and os.path.exists(self._iourc):
|
||||
if self._iourc and os.path.isfile(self._iourc):
|
||||
try:
|
||||
log.info("deleting iourc file {}".format(self._iourc))
|
||||
os.remove(self._iourc)
|
||||
@ -246,7 +246,7 @@ class IOU(IModule):
|
||||
iou_path = request["path"]
|
||||
|
||||
try:
|
||||
if not os.path.exists(self._working_dir):
|
||||
if not os.path.isdir(self._working_dir):
|
||||
try:
|
||||
os.makedirs(self._working_dir)
|
||||
except OSError as e:
|
||||
|
@ -246,7 +246,7 @@ class IOUDevice(object):
|
||||
|
||||
# create our own working directory
|
||||
working_dir = os.path.join(working_dir, "device-{}".format(self._id))
|
||||
if not os.path.exists(working_dir):
|
||||
if not os.path.isdir(working_dir):
|
||||
try:
|
||||
os.makedirs(working_dir)
|
||||
except OSError as e:
|
||||
@ -413,13 +413,13 @@ class IOUDevice(object):
|
||||
|
||||
if not self.is_running():
|
||||
|
||||
if not os.path.exists(self._path):
|
||||
if not os.path.isfile(self._path):
|
||||
raise IOUError("IOU '{}' is not accessible".format(self._path))
|
||||
|
||||
if not self._iourc or not os.path.exists(self._iourc):
|
||||
if not self._iourc or not os.path.isfile(self._iourc):
|
||||
raise IOUError("A iourc file is necessary to start IOU")
|
||||
|
||||
if not self._iouyap or not os.path.exists(self._iouyap):
|
||||
if not self._iouyap or not os.path.isfile(self._iouyap):
|
||||
raise IOUError("iouyap is necessary to start IOU")
|
||||
|
||||
self._create_netmap_config()
|
||||
|
@ -77,7 +77,7 @@ class Server(object):
|
||||
self._projects_dir = os.path.expandvars(os.path.expanduser(server_config.get("projects_directory", "~/Documents/GNS3/projects")))
|
||||
self._temp_dir = server_config.get("temporary_directory", tempfile.gettempdir())
|
||||
|
||||
if not os.path.exists(self._projects_dir):
|
||||
if not os.path.isdir(self._projects_dir):
|
||||
try:
|
||||
os.makedirs(self._projects_dir)
|
||||
log.info("projects directory '{}' created".format(self._projects_dir))
|
||||
|
@ -23,5 +23,5 @@
|
||||
# or negative for a release candidate or beta (after the base version
|
||||
# number has been incremented)
|
||||
|
||||
__version__ = "1.0a2.dev2"
|
||||
__version__ = "1.0a2.dev3"
|
||||
__version_info__ = (1, 0, 0, -99)
|
||||
|
@ -25,6 +25,6 @@ def image(request):
|
||||
|
||||
cwd = os.path.dirname(os.path.abspath(__file__))
|
||||
image_path = os.path.join(cwd, "c3725.image")
|
||||
if not os.path.exists(image_path):
|
||||
if not os.path.isfile(image_path):
|
||||
return None
|
||||
return image_path
|
||||
|
Loading…
Reference in New Issue
Block a user