private static bool TryReadMetaData(string path, out BookMetaData result) { result = null; if (!File.Exists(path)) { return(false); } try { result = FromString(File.ReadAllText(path)); return(true); } catch (Exception e) { Console.WriteLine("DEBUG: failed to read meta.json file - {0}", e.Message); return(false); } }
private void GetBookInformationFromBookFolders(IEnumerable <string> bookDirs, out Dictionary <string, string> instanceIdToTitle, out Dictionary <string, XmlDocument> instanceIdToOpds, out Dictionary <string, string> instanceIdToFolder) { instanceIdToTitle = new Dictionary <string, string>(); instanceIdToOpds = new Dictionary <string, XmlDocument>(); instanceIdToFolder = new Dictionary <string, string>(); foreach (var dir in bookDirs) { if (!IsValidFolder(dir)) { continue; } var meta = BookMetaData.FromFolder(dir); instanceIdToTitle.Add(meta.Id, meta.Title); instanceIdToFolder.Add(meta.Id, dir); var opdsEntry = GetOpdsEntryFromFolder(dir); if (opdsEntry != null) { instanceIdToOpds.Add(meta.Id, opdsEntry); } } }