Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
     }));
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 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);
         }
     }));
 }