--- lib/python/parallels/core/actions/content/web/copy_unix_content_base.py.orig 2015-11-26 21:16:12.896920513 +0600 +++ lib/python/parallels/core/actions/content/web/copy_unix_content_base.py 2015-11-26 21:19:37.487344565 +0600 @@ -213,13 +213,10 @@ server.vhosts_dir, 'system', convert_wildcard_to_path(path.site.name.encode('idna')) ) - site_wwwroot_path = posixpath.join( - server.vhosts_dir, path.webspace.name.encode('idna'), path.site.www_root - ) if isinstance(path, web_paths.SiteDocumentRoot): - return site_wwwroot_path + return self._get_site_wwwroot_path(path, server) elif isinstance(path, web_paths.SiteCGIBin): - return posixpath.join(site_wwwroot_path, 'cgi-bin') + return posixpath.join(self._get_site_wwwroot_path(path, server), 'cgi-bin') elif isinstance(path, web_paths.SiteStatistics): return posixpath.join(site_system_path, 'statistics') elif isinstance(path, web_paths.SiteLogs): @@ -231,6 +228,17 @@ else: assert False, messages.UNSUPPORTED_TARGET_WEB_PATH_TYPE + @staticmethod + def _get_site_wwwroot_path(path, server): + """ + :type path: parallels.core.utils.web_paths.SitePath + :type server: parallels.core.connections.plesk_server.PleskServer + :rtype: str | unicode + """ + return posixpath.join( + server.vhosts_dir, path.webspace.name.encode('idna'), path.site.www_root + ) + def _expand_webspace_template(self, path, server): """ :type path: parallels.core.utils.web_paths.WebspacePathTemplate