internal void AppendFile(TextWriter append) { if (errors.Count == 0) { return; } lock (ExportCommand.fileWriterLock) { if (!ImportCommand.MissingLLSD(ObjectID)) { var ptc = ImportCommand.Importing.GetOldPrim(ObjectID); append.WriteLine("OBJ: " + ptc + " " + Obj); append.WriteLine("LOC: " + ptc.SimPosition); } else { var o = Obj; if (o != null) { append.WriteLine("OBJ: " + o); append.WriteLine("LOC: " + o.SimPosition); } } foreach (string error in errors) { append.WriteLine(" " + error); } } }
public ImportCommand(BotClient testClient) : base(testClient) { Name = "simimport"; Description = "Import prims from an exported xml file. Usage: import inputfile.xml [usegroup]"; Category = CommandCategory.Objects; Client.Assets.AssetUploaded += new EventHandler <AssetUploadEventArgs>(Assets_AssetUploaded); Client.Objects.ObjectPropertiesFamily += OnObjectPropertiesFamily; Client.Objects.ObjectUpdate += OnObjectPropertiesNewesh; Client.Objects.ObjectProperties += OnObjectPropertiesNewesh1; Client.Network.EventQueueRunning += logged_in; ImportPTCFiles(new ImportSettings(), true, false); Importing = this; }
static public string IsComplete(UUID uuid, bool includeLink, bool includeTask, ImportSettings settings) { string whynotCOmplete = ""; if (ImportCommand.MissingLLSD(uuid)) { return("!llsd"); } if (includeLink && ImportCommand.MissingLINK(uuid)) { whynotCOmplete += "!link"; } if (ImportCommand.MissingTASK(uuid)) { return(whynotCOmplete += "!task"); } whynotCOmplete += PerfectTaskOSD(uuid, settings, true); return(whynotCOmplete); }
private static bool IsIncluded(UUID id, uint lid) { ImportCommand importing = ImportCommand.Importing; if (!CogbotHelpers.IsNullOrZero(id)) { if (Exporting.TasksRezed.ContainsKey(id) || importing.MustExport.Contains(id)) { return(true); } } if (lid != 0) { if (importing.MustExportUINT.Contains(lid) || importing.GetOldPrim(lid) != null) { return(true); } } return(false); }
public static bool IsSkippedPTC(ImportCommand.PrimToCreate P) { if (IsIncluded(P.OldID, P.OldLocalID)) return false; if (IsIncluded(P.ParentUUID, P.ParentID)) return false; Primitive pp = P.Prim; uint pid = pp.ParentID; if (IsSkippedName(pp.Properties.Name)) { return true; } return false; }
public ImportCommand(BotClient testClient) : base(testClient) { Name = "simimport"; Description = "Import prims from an exported xml file. Usage: import inputfile.xml [usegroup]"; Category = CommandCategory.Objects; Client.Assets.AssetUploaded += new EventHandler<AssetUploadEventArgs>(Assets_AssetUploaded); Client.Objects.ObjectPropertiesFamily += OnObjectPropertiesFamily; Client.Objects.ObjectUpdate += OnObjectPropertiesNewesh; Client.Objects.ObjectProperties += OnObjectPropertiesNewesh1; Client.Network.EventQueueRunning += logged_in; ImportPTCFiles(new ImportSettings(), true, false); Importing = this; }
private static ICollection<InventoryBase> GetTaskInv(ImportCommand.PrimToCreate primitive) { //todo return primitive.SourceTaskInventory(true); }
public void ChildAdd(ImportCommand.PrimToCreate create) { if (!Children.Contains(create)) Children.Add(create); }
public static void WriteTaskInventory(Primitive sop, XmlTextWriter writer, ICollection <InventoryBase> tinv, ImportSettings options) { if (tinv == null) { return; } int ObjectNum = -1; if (tinv.Count > 0) // otherwise skip this { writer.WriteStartElement("TaskInventory"); foreach (InventoryBase item2c in tinv) { InventoryItem item = item2c as InventoryItem; if (item == null) { continue; } string itemName = item.Name; bool obj = (item.AssetType == AssetType.Object); UUID itemAssetUUID = obj ? item.RezzID : item.AssetUUID; if (obj) { ObjectNum++; if (CogbotHelpers.IsNullOrZero(itemAssetUUID)) { string rtiStatus = ExportCommand.dumpDir + sop.ID + "." + ObjectNum + ".rti"; lock (ExportCommand.fileWriterLock) { if (File.Exists(rtiStatus)) { string[] conts = File.ReadAllText(rtiStatus).Split(','); if (conts.Length > 2) { itemAssetUUID = UUID.Parse(conts[0]); } } } } if (CogbotHelpers.IsNullOrZero(itemAssetUUID)) { ExportCommand.LogError(sop.ID, "AssetZERO: " + item); if (!options.ContainsKey("keepmissing")) { continue; } if (options.ContainsKey("use404")) { itemAssetUUID = ImportCommand.GetMissingFiller(item.AssetType); } if (options.ContainsKey("error404") && !itemName.Contains("ERROR404")) { itemName += "ERROR404"; } ImportCommand.Importing.Failure("Zero AssetID " + item.Name); } } else { if (CogbotHelpers.IsNullOrZero(itemAssetUUID)) { itemAssetUUID = item.RezzID; } if (CogbotHelpers.IsNullOrZero(itemAssetUUID)) { ExportCommand.LogError(sop.ID, "AssetZERO: " + item); if (!options.ContainsKey("keepmissing")) { continue; } if (options.ContainsKey("use404")) { itemAssetUUID = ImportCommand.GetMissingFiller(item.AssetType); } if (options.ContainsKey("error404") && !itemName.Contains("ERROR404")) { itemName += "ERROR404"; } ImportCommand.Importing.Failure("Zero AssetID " + item.Name); } } writer.WriteStartElement("TaskInventoryItem"); Permissions perms = item.Permissions; if (!options.Contains("sameperm")) { perms = Permissions.FullPermissions; } if (CogbotHelpers.IsNullOrZero(itemAssetUUID)) { continue; } WriteUUID(writer, "AssetID", itemAssetUUID, options); WriteEnum(writer, "BasePermissions", perms.BaseMask); WriteDate(writer, "CreationDate", item.CreationDate); WriteUUID(writer, "CreatorID", item.CreatorID, options); /* * //todo if (item.CreatorData != null && item.CreatorData != string.Empty) * WES(writer,"CreatorData", item.CreatorData); * else if (options.ContainsKey("home")) * { * if (m_UserManagement == null) * m_UserManagement = scene.RequestModuleInterface<IUserManagement>(); * string name = m_UserManagement.GetUserName(item.CreatorID); * WES(writer,"CreatorData", (string)options["home"] + ";" + name); * } */ WriteValue(writer, "Description", item.Description); WriteEnum(writer, "EveryonePermissions", Reperm(perms.EveryoneMask, options)); WriteUInt(writer, "Flags", item.Flags); WriteUUID(writer, "GroupID", item.GroupID, options); WriteEnum(writer, "GroupPermissions", Reperm(perms.GroupMask, options)); WriteEnum(writer, "InvType", item.InventoryType); WriteUUID(writer, "ItemID", item.UUID, options); //todo WriteUUID(writer, "OldItemID", item.OldItemID, options); UUID lastOwnerID = options.ContainsKey("wipe-owners") ? UUID.Zero : item.LastOwnerID; WriteUserUUID(writer, "LastOwnerID", lastOwnerID, options); WriteValue(writer, "Name", itemName); WriteEnum(writer, "NextPermissions", Reperm(perms.NextOwnerMask, options)); UUID ownerID = options.ContainsKey("wipe-owners") ? UUID.Zero : item.OwnerID; WriteUUID(writer, "OwnerID", ownerID, options); WriteEnum(writer, "CurrentPermissions", Reperm(perms.OwnerMask, options)); WriteUUID(writer, "ParentID", item.ParentUUID, options); /*todo * WriteUUID(writer, "ParentPartID", item.ParentPartID, options); * WriteUUID(writer, "PermsGranter", item.PermsGranter, options); */ // todo what is this? WriteEnum(writer, "PermsMask", PermissionMask.All);// perms.BaseMask);//item.PermsMask); WriteEnum(writer, "Type", item.AssetType); //todo WES(writer,"OwnerChanged", item.OwnerChanged.ToString().ToLower()); writer.WriteEndElement(); // TaskInventoryItem } writer.WriteEndElement(); // TaskInventory } }