public static void HandleFile(string filename, GRBGenericHeader header) { string dir = Path.GetDirectoryName(filename); string ofilename = header.filename ?? Path.GetFileName(filename); if (Tools.IsXML(filename)) { ofilename = ofilename.Replace(".grb", ".xml"); } string productFolder = Products.GetFolderByAPID(header.apid); string f = Path.Combine(FileHandler.FinalFileFolder, productFolder); try { Directory.CreateDirectory(f); } catch (IOException e) { UIConsole.Error($"Cannot create directory {f}: {e}"); } f = Path.Combine(f, ofilename); if (File.Exists(f)) { string timestamp = DateTime.Now.ToString("yyyyMMddHHmmssffff"); string ext = Path.GetExtension(f); string append = $"--dup-{timestamp}{ext}"; f = f.Replace(ext, append); } try { File.Move(filename, f); } catch (IOException e) { UIConsole.Error($"Error moving file {filename} to {f}: {e}"); } }
/// <summary> /// Stores plain data /// </summary> /// <param name="filename">Filename.</param> /// <param name="header">Header.</param> public void ParseData(string filename, GRBGenericHeader header) { lock (syncLock) { try { Data = File.ReadAllBytes(filename); } catch (Exception e) { UIConsole.Error($"Error parsing data file {filename}: {e.Message}"); UIConsole.Debug($"{e}"); } } }
void HandleGeneric(string filename, GRBGenericHeader header) { GRBFileHandler.HandleFile(filename, header); }