def is_app_exists(self, name, app_path) -> bool: """ Check is app exists :param name: site name :param app_path: virtual path """ ah_write = self.get_iis_object() section = ah_write.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST") collection = section.Collection for i in range(collection.Count): site = collection[i] prop = site.Properties site_name = prop["name"].Value if site_name != name: continue app_collection = site.Collection for ii in range(app_collection.Count): app_prop = app_collection[ii].Properties if remove_starting_backward_slash( app_prop["path"].Value ) == remove_starting_backward_slash(app_path): # found! return True return False
def is_app_exists(self, name, app_path) -> bool: """ Check is app exists :param name: site name :param app_path: virtual path """ ah_write = self.get_iis_object() section = ah_write.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST") collection = section.Collection for i in range(collection.Count): site = collection[i] prop = site.Properties site_name = prop["name"].Value if site_name != name: continue app_collection = site.Collection for ii in range(app_collection.Count): app_prop = app_collection[ii].Properties if remove_starting_backward_slash(app_prop["path"].Value) == remove_starting_backward_slash(app_path): # found! return True return False
def application_create_from_dict(self, parameters: dict): """ Creates web app from paramters """ # check is exists if self.is_app_exists(parameters[KnownParameters.SITE_NAME.value], parameters[KnownParameters.APP_NAME.value]): return site_name = parameters[KnownParameters.SITE_NAME.value] app_virtual_path = parameters[KnownParameters.APP_NAME.value] physical_path = parameters.get(KnownParameters.PHYSICAL_PATH.value) if not physical_path: app_folder = app_virtual_path.replace('/', '\\') app_folder = remove_starting_backward_slash(app_folder) physical_path = self.create_physical_path_for_virtual_path(os.path.join(site_name, app_folder)) # use default app pool by default pool = parameters.get(KnownParameters.POOL_NAME.value, None) self.app_create(site_name, app_virtual_path, physical_path, pool)
def application_create_from_dict(self, parameters: dict): """ Creates web app from paramters """ # check is exists if self.is_app_exists(parameters[KnownParameters.SITE_NAME.value], parameters[KnownParameters.APP_NAME.value]): return site_name = parameters[KnownParameters.SITE_NAME.value] app_virtual_path = parameters[KnownParameters.APP_NAME.value] physical_path = parameters.get(KnownParameters.PHYSICAL_PATH.value) if not physical_path: app_folder = app_virtual_path.replace('/', '\\') app_folder = remove_starting_backward_slash(app_folder) physical_path = self.create_physical_path_for_virtual_path( os.path.join(site_name, app_folder)) # use default app pool by default pool = parameters.get(KnownParameters.POOL_NAME.value, None) self.app_create(site_name, app_virtual_path, physical_path, pool)