private List <ArticlePDF> getBookMark(string sBookmarkFilePath) { List <ArticlePDF> lista = new List <ArticlePDF>(); string bookmarksString = File.ReadAllText(sBookmarkFilePath); NetscapeBookmarksReader reader = new NetscapeBookmarksReader(); BookmarkFolder bookmarksAll = reader.Read(bookmarksString); string rootFolder = "Doktorat"; IBookmarkFolder bookmarksDoc = getDoktoratFolder(bookmarksAll, rootFolder); //pobierz wszystkie z bookmark Doktorat getArticleFromFolder(lista, "", bookmarksDoc); return(lista); }
private IBookmarkFolder getDoktoratFolder(BookmarkFolder bookmarksAll, string findPattern) { IBookmarkFolder result = null; foreach (var item in bookmarksAll.AllFolders) { if (item.Title == findPattern) { result = item; break; } } return(result); }
private IEnumerable <T> GetAllItems <T>(IBookmarkFolder folder) where T : class, IBookmarkItem { foreach (var item in folder) { var returnItem = item as T; if (returnItem != null) { yield return((T)item); } var innerFolder = item as IBookmarkFolder; if (innerFolder != null) { foreach (var innerItem in GetAllItems <T>(innerFolder)) { yield return(innerItem); } } } }
private void getArticleFromFolder(List <ArticlePDF> lista, string rootDirecory, IBookmarkFolder bookmarks) { rootDirecory += string.Format("{0}\\", bookmarks.Title); foreach (var item in bookmarks) { if (item is BookmarkLink) { BookmarkLink link = item as BookmarkLink; string extansion = link.Url.Substring(link.Url.Length - 4, 4); //if (extansion.ToLower() == ".pdf") lista.Add(new ArticlePDF(link.Title, rootDirecory, link.Url)); } else if (item is BookmarkFolder) { getArticleFromFolder(lista, rootDirecory, (IBookmarkFolder)item); } } return; }