private async Task <IBlog> CheckIfBlogIsHiddenTumblrBlogAsync(IBlog blog) { if (blog.GetType() == typeof(TumblrBlog) && await _tumblrBlogDetector.IsHiddenTumblrBlogAsync(blog.Url)) { RemoveBlog(new[] { blog }); blog = TumblrHiddenBlog.Create("https://www.tumblr.com/dashboard/blog/" + blog.Name, Path.Combine(_shellService.Settings.DownloadLocation, "Index")); } return(blog); }
private async Task <IBlog> CheckIfBlogIsHiddenTumblrBlogAsync(IBlog blog) { if (blog.GetType() == typeof(TumblrBlog) && await _tumblrBlogDetector.IsHiddenTumblrBlogAsync(blog.Url)) { RemoveBlog(new[] { blog }, false); blog = TumblrHiddenBlog.Create("https://www.tumblr.com/dashboard/blog/" + blog.Name, GetIndexFolderPath(_shellService.Settings.ActiveCollectionId), _shellService.Settings.FilenameTemplate); } return(blog); }
private IBlog PromoteTumblrBlogToHiddenBlog(IBlog blog) { RemoveBlog(new[] { blog }); blog = TumblrHiddenBlog.Create("https://www.tumblr.com/dashboard/blog/" + blog.Name, Path.Combine(shellService.Settings.DownloadLocation, "Index")); return(blog); }
private IReadOnlyList <IBlog> GetIBlogsCore(string directory) { Logger.Verbose("ManagerController:GetIBlogsCore Start"); var blogs = new List <IBlog>(); var failedToLoadBlogs = new List <string>(); string[] supportedFileTypes = Enum.GetNames(typeof(BlogTypes)).ToArray(); int[] validCollectionIds = _shellService.Settings.Collections.Select(s => s.Id).ToArray(); foreach (string filename in Directory.GetFiles(directory, "*").Where( fileName => supportedFileTypes.Any(fileName.Contains) && !fileName.Contains("_files"))) { //TODO: Refactor try { IBlog blog = null; if (filename.EndsWith(BlogTypes.tumblr.ToString())) { blog = new TumblrBlog().Load(filename); } if (filename.EndsWith(BlogTypes.tmblrpriv.ToString())) { blog = new TumblrHiddenBlog().Load(filename); } if (filename.EndsWith(BlogTypes.tlb.ToString())) { blog = new TumblrLikedByBlog().Load(filename); } if (filename.EndsWith(BlogTypes.tumblrsearch.ToString())) { blog = new TumblrSearchBlog().Load(filename); } if (filename.EndsWith(BlogTypes.tumblrtagsearch.ToString())) { blog = new TumblrTagSearchBlog().Load(filename); } if (filename.EndsWith(BlogTypes.twitter.ToString())) { blog = new TwitterBlog().Load(filename); } if (blog != null) { if (!validCollectionIds.Contains(blog.CollectionId)) { blog.CollectionId = 0; } blogs.Add(blog); } } catch (SerializationException ex) { failedToLoadBlogs.Add(ex.Data["Filename"].ToString()); } } if (failedToLoadBlogs.Any()) { string failedBlogNames = failedToLoadBlogs.Aggregate((a, b) => a + ", " + b); Logger.Verbose("ManagerController:GetIBlogsCore: {0}", failedBlogNames); _shellService.ShowError(new SerializationException(), Resources.CouldNotLoadLibrary, failedBlogNames); } Logger.Verbose("ManagerController.GetIBlogsCore End"); return(blogs); }
private IBlog PromoteTumblrBlogToHiddenBlog(IBlog blog) { RemoveBlog(new[] { blog }); blog = TumblrHiddenBlog.Create(blog.Url, Path.Combine(shellService.Settings.DownloadLocation, "Index")); return(blog); }