diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs index bf3b124..abf3713 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs | |||
@@ -32,6 +32,8 @@ using System.Reflection; | |||
32 | using log4net; | 32 | using log4net; |
33 | using NDesk.Options; | 33 | using NDesk.Options; |
34 | using Nini.Config; | 34 | using Nini.Config; |
35 | using OpenSim.Framework; | ||
36 | using OpenSim.Framework.Console; | ||
35 | using OpenSim.Region.Framework.Interfaces; | 37 | using OpenSim.Region.Framework.Interfaces; |
36 | using OpenSim.Region.Framework.Scenes; | 38 | using OpenSim.Region.Framework.Scenes; |
37 | 39 | ||
@@ -117,7 +119,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
117 | // | 119 | // |
118 | // foreach (string param in mainParams) | 120 | // foreach (string param in mainParams) |
119 | // m_log.DebugFormat("GOT PARAM [{0}]", param); | 121 | // m_log.DebugFormat("GOT PARAM [{0}]", param); |
120 | 122 | ||
121 | if (mainParams.Count > 2) | 123 | if (mainParams.Count > 2) |
122 | { | 124 | { |
123 | DearchiveRegion(mainParams[2], mergeOar, skipAssets, Guid.Empty); | 125 | DearchiveRegion(mainParams[2], mergeOar, skipAssets, Guid.Empty); |
@@ -146,17 +148,22 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
146 | ops.Add("noassets", delegate(string v) { options["noassets"] = v != null; }); | 148 | ops.Add("noassets", delegate(string v) { options["noassets"] = v != null; }); |
147 | ops.Add("publish", v => options["wipe-owners"] = v != null); | 149 | ops.Add("publish", v => options["wipe-owners"] = v != null); |
148 | ops.Add("perm=", delegate(string v) { options["checkPermissions"] = v; }); | 150 | ops.Add("perm=", delegate(string v) { options["checkPermissions"] = v; }); |
151 | ops.Add("all", delegate(string v) { options["all"] = v != null; }); | ||
149 | 152 | ||
150 | List<string> mainParams = ops.Parse(cmdparams); | 153 | List<string> mainParams = ops.Parse(cmdparams); |
151 | 154 | ||
155 | string path; | ||
152 | if (mainParams.Count > 2) | 156 | if (mainParams.Count > 2) |
153 | { | 157 | path = mainParams[2]; |
154 | ArchiveRegion(mainParams[2], options); | ||
155 | } | ||
156 | else | 158 | else |
157 | { | 159 | path = DEFAULT_OAR_BACKUP_FILENAME; |
158 | ArchiveRegion(DEFAULT_OAR_BACKUP_FILENAME, options); | 160 | |
159 | } | 161 | // Not doing this right now as this causes some problems with auto-backup systems. Maybe a force flag is |
162 | // needed | ||
163 | // if (!ConsoleUtil.CheckFileDoesNotExist(MainConsole.Instance, path)) | ||
164 | // return; | ||
165 | |||
166 | ArchiveRegion(path, options); | ||
160 | } | 167 | } |
161 | 168 | ||
162 | public void ArchiveRegion(string savePath, Dictionary<string, object> options) | 169 | public void ArchiveRegion(string savePath, Dictionary<string, object> options) |
@@ -169,7 +176,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
169 | m_log.InfoFormat( | 176 | m_log.InfoFormat( |
170 | "[ARCHIVER]: Writing archive for region {0} to {1}", Scene.RegionInfo.RegionName, savePath); | 177 | "[ARCHIVER]: Writing archive for region {0} to {1}", Scene.RegionInfo.RegionName, savePath); |
171 | 178 | ||
172 | new ArchiveWriteRequestPreparation(this, savePath, requestId).ArchiveRegion(options); | 179 | new ArchiveWriteRequest(Scene, savePath, requestId).ArchiveRegion(options); |
173 | } | 180 | } |
174 | 181 | ||
175 | public void ArchiveRegion(Stream saveStream) | 182 | public void ArchiveRegion(Stream saveStream) |
@@ -184,7 +191,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
184 | 191 | ||
185 | public void ArchiveRegion(Stream saveStream, Guid requestId, Dictionary<string, object> options) | 192 | public void ArchiveRegion(Stream saveStream, Guid requestId, Dictionary<string, object> options) |
186 | { | 193 | { |
187 | new ArchiveWriteRequestPreparation(this, saveStream, requestId).ArchiveRegion(options); | 194 | new ArchiveWriteRequest(Scene, saveStream, requestId).ArchiveRegion(options); |
188 | } | 195 | } |
189 | 196 | ||
190 | public void DearchiveRegion(string loadPath) | 197 | public void DearchiveRegion(string loadPath) |