Пример #1
0
        private System.Diagnostics.ProcessStartInfo SetupEnv(IDuplicityTask task)
        {
            task.BeginTime = DateTime.Now;
            List <string> args = new List <string>();

            System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();

            StringDictionary env = psi.EnvironmentVariables;

            foreach (string key in m_environment.Keys)
            {
                env[key] = m_environment[key];
            }

            env["PATH"] = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.NcFTPPath) + System.IO.Path.PathSeparator + env["PATH"];
            env["PATH"] = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.PuttyPath) + System.IO.Path.PathSeparator + env["PATH"];
            env["PATH"] = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.PGPPath) + System.IO.Path.PathSeparator + env["PATH"];

            args.Add("\"" + System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.DuplicityPath) + "\"");

            task.GetArguments(args);

            if (string.IsNullOrEmpty(task.Task.Encryptionkey))
            {
                args.Add("--no-encryption");
            }
            else
            {
                env["PASSPHRASE"] = task.Task.Encryptionkey;
            }


            task.Task.GetExtraSettings(args, env);

            psi.CreateNoWindow         = true;
            psi.WindowStyle            = System.Diagnostics.ProcessWindowStyle.Hidden;
            psi.FileName               = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.PythonPath);
            psi.RedirectStandardError  = true;
            psi.RedirectStandardOutput = true;
            psi.RedirectStandardInput  = false;
            psi.UseShellExecute        = false;
            psi.WorkingDirectory       = System.IO.Path.GetDirectoryName(psi.FileName);


            psi.Arguments = string.Join(" ", args.ToArray());
            return(psi);
        }
Пример #2
0
        private System.Diagnostics.ProcessStartInfo SetupEnv(IDuplicityTask task)
        {
            task.BeginTime = DateTime.Now;
            List<string> args = new List<string>();
            System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();

            StringDictionary env = psi.EnvironmentVariables;

            foreach (string key in m_environment.Keys)
                env[key] = m_environment[key];

            env["PATH"] = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.NcFTPPath) + System.IO.Path.PathSeparator + env["PATH"];
            env["PATH"] = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.PuttyPath) + System.IO.Path.PathSeparator + env["PATH"];
            env["PATH"] = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.PGPPath) + System.IO.Path.PathSeparator + env["PATH"];

            args.Add("\"" + System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.DuplicityPath) + "\"");

            task.GetArguments(args);

            if (string.IsNullOrEmpty(task.Task.Encryptionkey))
                args.Add("--no-encryption");
            else
                env["PASSPHRASE"] = task.Task.Encryptionkey;

            task.Task.GetExtraSettings(args, env);

            psi.CreateNoWindow = true;
            psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            psi.FileName = System.Environment.ExpandEnvironmentVariables(Program.ApplicationSettings.PythonPath);
            psi.RedirectStandardError = true;
            psi.RedirectStandardOutput = true;
            psi.RedirectStandardInput = false;
            psi.UseShellExecute = false;
            psi.WorkingDirectory = System.IO.Path.GetDirectoryName(psi.FileName);

            psi.Arguments = string.Join(" ", args.ToArray());
            return psi;
        }