public Mobi ReadWithoutText() { if (this._disposed) { throw new ObjectDisposedException("stream"); } var structure = this.ReadStructure(); var result = new Mobi { Structure = structure, Title = structure.FullName, }; if (structure.ExthHeader != null) { var exthHeader = structure.ExthHeader; result.Creator = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Author)?.DataAsString(); result.Publisher = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Publisher)?.DataAsString(); result.Description = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Description)?.DataAsString(); result.Subject = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Subject)?.DataAsString(); result.Date = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.PublishingDate)?.DataAsString(); result.Contributor = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Contributor)?.DataAsString(); result.Rights = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Rights)?.DataAsString(); result.Type = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Type)?.DataAsString(); result.Source = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Source)?.DataAsString(); result.Language = exthHeader.RecordList.FirstOrDefault(p => p.Type == ExthRecordType.Language)?.DataAsString(); } this.RefreshPalmDBRecordList(structure.PalmDB.RecordInfoList); result.Cover = this.ReadCover(structure); return(result); }
public bool TryRead(out Mobi mobi) { bool result; try { mobi = this.Read(); result = true; } catch (Exception) { mobi = null; result = false; } return(result); }