public void AddFilesFromXml(string s, ListWriteMode mode = ListWriteMode.Append) { XmlDocument xml = new XmlDocument(); xml.LoadXml(s); XmlElement root = xml.DocumentElement; List <MdpFileInfo> filesInfo = new List <MdpFileInfo>(); foreach (XmlNode fileNode in root.ChildNodes) { string fileRelativePath = fileNode.Attributes[MdpApi.FileList.Xml.FileNameAttributeName].Value; string fileHash = fileNode.Attributes[MdpApi.FileList.Xml.FileHashAttributeName].Value; byte[] hash = ConvertHexStringToByteArray(fileHash); MdpFileInfo fileInfo; if (fileNode.Name == MdpApi.FileList.Xml.DirectoryTagName) { fileInfo = new MdpDirectoryInfo(fileRelativePath, hash); } else { fileInfo = new MdpFileInfo(fileRelativePath, hash); } filesInfo.Add(fileInfo); } AddFiles(filesInfo, mode); }
public void AddFiles(IEnumerable <MdpFileInfo> filesInfo, ListWriteMode mode = ListWriteMode.Append) { if (mode == ListWriteMode.Overwrite) { files.Clear(); } files.AddRange(filesInfo); UpdateFiles(); }
public void AddFiles(string s, ListSource source, ListFormatType format, ListWriteMode mode = ListWriteMode.Append) { switch (source) { case ListSource.RemoteServer: AddFilesFromRemote(s, format, mode); break; case ListSource.Local: AddFilesFromLocal(s, format, mode); break; case ListSource.Text: AddFilesFromText(s, format, mode); break; default: break; } }
public void AddFilesFromJson(string s, ListWriteMode mode = ListWriteMode.Append) { MdpFileList mdpFileList = JsonConvert.DeserializeObject <MdpFileList>(s); List <MdpFileInfo> filesInfos = new List <MdpFileInfo>(); foreach (MdpFileInfo fileInfo in mdpFileList.Files) { string fileRelativePath = fileInfo.Name; MdpFileInfo file; if (fileRelativePath.EndsWith("/")) { file = new MdpDirectoryInfo(fileRelativePath, fileInfo.Hash); } else { file = new MdpFileInfo(fileRelativePath, fileInfo.Hash); } filesInfos.Add(file); } AddFiles(filesInfos, mode); }
public void AddFiles(MdpDirectoryInfo directoryInfo, ListWriteMode mode = ListWriteMode.Append) { AddFiles(new MdpFileInfo[] { directoryInfo }, mode); }
public void AddFilesFromText(string text, ListFormatType format = ListFormatType.Json, ListWriteMode mode = ListWriteMode.Append) { switch (format) { case ListFormatType.Xml: AddFilesFromXml(text, mode); break; case ListFormatType.Json: AddFilesFromJson(text, mode); break; } }
public void AddFilesFromLocal(string path, ListFormatType format = ListFormatType.Json, ListWriteMode mode = ListWriteMode.Append) { string fileContent = File.ReadAllText(path); AddFilesFromText(fileContent, format, mode); }
public void AddFilesFromRemote(string host, ListFormatType format = ListFormatType.Json, ListWriteMode mode = ListWriteMode.Append) { MdpRemoteServer mdpRemote = new MdpRemoteServer(); string result = mdpRemote.GetFilesList(host, ""); AddFilesFromText(result, format, mode); }