void Duplicati_OperationProgress(Interface caller, DuplicatiOperation operation, DuplicatiOperationMode specificmode, int progress, int subprogress, string message, string submessage) { m_lastPGOperation = operation; m_lastPGMode = specificmode; m_lastPGProgress = progress; m_lastPGSubprogress = subprogress; m_lastPGmessage = message; m_lastPGSubmessage = submessage; //If there are extra operations, reserve some space for it by reducing the displayed progress if (m_extraOperations > 0 && progress > 0) { progress = (int)((m_lastPGProgress / 100.0) * (100 - (m_extraOperations * PERCENT_PR_EXTRA_OPERATION))); } if (ProgressEvent != null) { try { ProgressEvent(operation, RunnerState.Running, message, submessage, progress, subprogress); } catch { } } }
private static Duplicati.Library.Utility.IFilter ApplyFilter(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode, Duplicati.Library.Utility.IFilter filter) { var f2 = backup.Filters; if (f2 != null && f2.Length > 0) { var nf = (from n in f2 let exp = n.Expression.StartsWith("[") && n.Expression.EndsWith("]") ? SpecialFolders.ExpandEnvironmentVariablesRegexp(n.Expression) : SpecialFolders.ExpandEnvironmentVariables(n.Expression) orderby n.Order select(Duplicati.Library.Utility.IFilter)(new Duplicati.Library.Utility.FilterExpression(exp, n.Include))) .Aggregate((a, b) => Duplicati.Library.Utility.FilterExpression.Combine(a, b)); return(Duplicati.Library.Utility.FilterExpression.Combine(filter, nf)); } else { return(filter); } }
private static Dictionary <string, string> ApplyOptions(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode, Dictionary <string, string> options) { options["backup-name"] = backup.Name; options["dbpath"] = backup.DBPath; // Apply normal options foreach (var o in backup.Settings) { if (!o.Name.StartsWith("--") && TestIfOptionApplies(backup, mode, o.Filter)) { options[o.Name] = o.Value; } } // Apply override options foreach (var o in backup.Settings) { if (o.Name.StartsWith("--") && TestIfOptionApplies(backup, mode, o.Filter)) { options[o.Name.Substring(2)] = o.Value; } } // The server hangs if the module is enabled as there is no console attached DisableModule("console-password-input", options); return(options); }
private static bool TestIfOptionApplies(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode, string filter) { //TODO: Implement to avoid warnings return(true); }
private static Duplicati.Library.Utility.IFilter GetCommonFilter(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode) { var filters = Program.DataConnection.Filters; if (filters == null || filters.Length == 0) { return(null); } return ((from n in filters orderby n.Order let exp = Library.Utility.Utility.ExpandEnvironmentVariables(n.Expression) select(Duplicati.Library.Utility.IFilter)(new Duplicati.Library.Utility.FilterExpression(exp, n.Include))) .Aggregate((a, b) => Duplicati.Library.Utility.FilterExpression.Combine(a, b))); }
private static Dictionary <string, string> GetCommonOptions(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode) { return ((from n in Program.DataConnection.Settings where TestIfOptionApplies(backup, mode, n.Filter) select n).ToDictionary(k => k.Name.StartsWith("--", StringComparison.Ordinal) ? k.Name.Substring(2) : k.Name, k => k.Value)); }
void Duplicati_OperationProgress(Interface caller, DuplicatiOperation operation, DuplicatiOperationMode specificmode, int progress, int subprogress, string message, string submessage) { m_lastPGOperation = operation; m_lastPGMode = specificmode; m_lastPGProgress = progress; m_lastPGSubprogress = subprogress; m_lastPGmessage = message; m_lastPGSubmessage = submessage; //If there are extra operations, reserve some space for it by reducing the displayed progress if (m_extraOperations > 0 && progress > 0) progress = (int)((m_lastPGProgress / 100.0) * (100 - (m_extraOperations * PERCENT_PR_EXTRA_OPERATION))); if (ProgressEvent != null) try { ProgressEvent(operation, RunnerState.Running, message, submessage, progress, subprogress); } catch { } }
private static bool TestIfOptionApplies(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode, string filter) { //TODO: Implement to avoid warnings return true; }
private static Dictionary<string, string> GetCommonOptions(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode) { return (from n in Program.DataConnection.Settings where TestIfOptionApplies(backup, mode, n.Filter) select n).ToDictionary(k => k.Name.StartsWith("--") ? k.Name.Substring(2) : k.Name, k => k.Value); }
private static Duplicati.Library.Utility.IFilter GetCommonFilter(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode) { var filters = Program.DataConnection.Filters; if (filters == null || filters.Length == 0) return null; return (from n in filters orderby n.Order let exp = Library.Utility.Utility.ExpandEnvironmentVariables(n.Expression) select (Duplicati.Library.Utility.IFilter)(new Duplicati.Library.Utility.FilterExpression(exp, n.Include))) .Aggregate((a, b) => Duplicati.Library.Utility.FilterExpression.Combine(a, b)); }
private static Dictionary<string, string> ApplyOptions(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode, Dictionary<string, string> options) { options["backup-name"] = backup.Name; options["dbpath"] = backup.DBPath; // Apply normal options foreach(var o in backup.Settings) if (!o.Name.StartsWith("--") && TestIfOptionApplies(backup, mode, o.Filter)) options[o.Name] = o.Value; // Apply override options foreach(var o in backup.Settings) if (o.Name.StartsWith("--") && TestIfOptionApplies(backup, mode, o.Filter)) options[o.Name.Substring(2)] = o.Value; // The server hangs if the module is enabled as there is no console attached DisableModule("console-password-input", options); return options; }
private static Duplicati.Library.Utility.IFilter ApplyFilter(Duplicati.Server.Serialization.Interface.IBackup backup, DuplicatiOperation mode, Duplicati.Library.Utility.IFilter filter) { var f2 = backup.Filters; if (f2 != null && f2.Length > 0) { var nf = (from n in f2 let exp = n.Expression.StartsWith("[") && n.Expression.EndsWith("]") ? SpecialFolders.ExpandEnvironmentVariablesRegexp(n.Expression) : SpecialFolders.ExpandEnvironmentVariables(n.Expression) orderby n.Order select (Duplicati.Library.Utility.IFilter)(new Duplicati.Library.Utility.FilterExpression(exp, n.Include))) .Aggregate((a, b) => Duplicati.Library.Utility.FilterExpression.Combine(a, b)); return Duplicati.Library.Utility.FilterExpression.Combine(filter, nf); } else return filter; }
private static Library.Utility.IFilter ApplyFilter(Serialization.Interface.IBackup backup, DuplicatiOperation mode, Library.Utility.IFilter filter, IEnumerable <Library.Utility.IFilter> defaultFilters) { var f2 = backup.Filters; if (f2 != null && f2.Length > 0) { var nf = (from n in f2 let exp = n.Expression.StartsWith("[", StringComparison.Ordinal) && n.Expression.EndsWith("]", StringComparison.Ordinal) ? SpecialFolders.ExpandEnvironmentVariablesRegexp(n.Expression) : SpecialFolders.ExpandEnvironmentVariables(n.Expression) orderby n.Order select(Library.Utility.IFilter)(new Library.Utility.FilterExpression(exp, n.Include))) .Aggregate((a, b) => Library.Utility.FilterExpression.Combine(a, b)); filter = Library.Utility.FilterExpression.Combine(filter, nf); } if (defaultFilters != null && defaultFilters.Any()) { filter = Library.Utility.FilterExpression.Combine(filter, defaultFilters.Aggregate((a, b) => Library.Utility.FilterExpression.Combine(a, b))); } return(filter); }
/// <summary> /// Event handler for the OperationProgres, used to store the last status message /// </summary> private void Interface_OperationProgress(Interface caller, DuplicatiOperation operation, DuplicatiOperationMode specificoperation, int progress, int subprogress, string message, string submessage) { m_lastProgressMessage = message; }