示例#1
0
        public BookmarkCollection Import(string path)
        {
            var bookmarksTxt = TxtToListConverter.Convert(path);

            bookmarksTxt.RemoveAll(x => BadTexts(x));

            var result = new BookmarkCollection
            {
                FullPath  = path,
                Bookmarks = new List <Bookmark>()
            };

            for (int bookmarksTxtIndex = 0; bookmarksTxtIndex < bookmarksTxt.Count - 1; bookmarksTxtIndex += 2)
            {
                var bookmarkTxt = bookmarksTxt[bookmarksTxtIndex];
                if (!IsMetadataLine(bookmarkTxt))
                {
                    throw new InvalidOperationException($"{bookmarkTxt} wasn't metadata.");
                }

                BookmarkMetadata metadata = VoiceBookmarkMetadataConverter.Convert(bookmarkTxt);

                bookmarkTxt = bookmarksTxt[bookmarksTxtIndex + 1];
                result.Bookmarks.Add(new Bookmark
                {
                    Text     = bookmarkTxt,
                    Metadata = metadata
                });
            }

            return(result);
        }
示例#2
0
 public VoiceBookmarksImporter(VoiceBookmarkMetadataConverter voiceBookmarkMetadataConverter, TxtToListConverter txtToListConverter)
 {
     VoiceBookmarkMetadataConverter = voiceBookmarkMetadataConverter;
     TxtToListConverter             = txtToListConverter;
 }