private static HArticleModel ConvertTo(HitomiIndexMetadata metadata, string url, string magic) { var article = new HArticleModel(); article.Magic = magic; article.ArticleType = HArticleType.Hitomi; article.URL = url; if (metadata.Artists != null) { article.artist = metadata.Artists.Select(x => HitomiIndex.Instance.index.Artists[x]).ToArray(); } if (metadata.Groups != null) { article.group = metadata.Groups.Select(x => HitomiIndex.Instance.index.Artists[x]).ToArray(); } if (metadata.Parodies != null) { article.parody = metadata.Parodies.Select(x => HitomiIndex.Instance.index.Artists[x]).ToArray(); } if (metadata.Tags != null) { article.misc = metadata.Tags.Select(x => HitomiIndex.Instance.index.Artists[x]).ToArray(); } if (metadata.Characters != null) { article.character = metadata.Characters.Select(x => HitomiIndex.Instance.index.Artists[x]).ToArray(); } article.Language = HitomiIndex.Instance.index.Languages[metadata.Language]; article.Title = metadata.Name; article.Type = HitomiIndex.Instance.index.Types[metadata.Type]; article.Magic = metadata.ID.ToString(); return(article); }
private void LoadThumbnail(HitomiIndexMetadata md) { Application.Current.Dispatcher.Invoke(new Action( delegate { // Put code that needs to run on the UI thread here var se = new SearchSimpleElements(HitomiLegalize.MetadataToArticle(md)); ArticlePanel.Children.Add(se); Koromo_Copy.Monitor.Instance.Push("[AddSearchElements] Hitomi Metadata " + md.ID); })); }
private string MakeDownloadDirectory(string source, string artists, HitomiIndexMetadata metadata, string extension) { string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()); string title = metadata.Name ?? ""; string type = metadata.Type < 0 ? "" : HitomiIndex.Instance.index.Types[metadata.Type]; string series = ""; //if (HitomiSetting.Instance.GetModel().ReplaceArtistsWithTitle) //{ // TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; // artists = textInfo.ToTitleCase(artists); //} if (metadata.Parodies != null) { series = HitomiIndex.Instance.index.Series[metadata.Parodies[0]]; } if (title != null) { foreach (char c in invalid) { title = title.Replace(c.ToString(), ""); } } if (artists != null) { foreach (char c in invalid) { artists = artists.Replace(c.ToString(), ""); } } if (series != null) { foreach (char c in invalid) { series = series.Replace(c.ToString(), ""); } } if (artists.StartsWith("group:")) { artists = artists.Substring("group:".Length); } string path = source; path = Regex.Replace(path, "{Title}", title, RegexOptions.IgnoreCase); path = Regex.Replace(path, "{Artists}", artists, RegexOptions.IgnoreCase); path = Regex.Replace(path, "{Id}", metadata.ID.ToString(), RegexOptions.IgnoreCase); path = Regex.Replace(path, "{Type}", type, RegexOptions.IgnoreCase); path = Regex.Replace(path, "{Date}", DateTime.Now.ToString(), RegexOptions.IgnoreCase); path = Regex.Replace(path, "{Series}", series, RegexOptions.IgnoreCase); path += extension; return(path); }
private void LoadThumbnail(HitomiIndexMetadata md) { Application.Current.Dispatcher.Invoke(new Action( delegate { // Put code that needs to run on the UI thread here if (!Settings.Instance.UXSetting.UsingThumbnailSearchElements) { var se = new SearchElements(HitomiLegalize.MetadataToArticle(md)); SearchPanel.Children.Add(se); SearchPanel.Children.Add(new Separator()); } else { var sme = new SearchMaterialElements(HitomiLegalize.MetadataToArticle(md)); SearchMaterialPanel.Children.Add(sme); Koromo_Copy.Monitor.Instance.Push("[AddSearchElements] Hitomi Metadata " + md.ID); } })); }