示例#1
0
        public List <HitomiTagdata> GetCharacterList(string startswith, bool constains = false)
        {
            List <HitomiTagdata> result = new List <HitomiTagdata>();

            if (!constains)
            {
                foreach (var tagdata in tagdata_collection.character)
                {
                    if (tagdata.Tag.ToLower().Replace(' ', '_').StartsWith(startswith.ToLower()))
                    {
                        HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                    }
                }
            }
            else
            {
                foreach (var tagdata in tagdata_collection.character)
                {
                    if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(startswith.ToLower()))
                    {
                        HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                    }
                }
            }
            return(result);
        }
示例#2
0
        public List <HitomiTagdata> GetTagList(string startswith, bool constains = false)
        {
            List <HitomiTagdata> target = new List <HitomiTagdata>();

            target.AddRange(tagdata_collection.female);
            target.AddRange(tagdata_collection.male);
            target.AddRange(tagdata_collection.tag);
            target.Sort((a, b) => b.Count.CompareTo(a.Count));
            List <HitomiTagdata> result = new List <HitomiTagdata>();

            if (!constains)
            {
                foreach (var tagdata in target)
                {
                    if (tagdata.Tag.ToLower().Replace(' ', '_').StartsWith(startswith.ToLower()))
                    {
                        HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                    }
                }
            }
            else
            {
                foreach (var tagdata in target)
                {
                    if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(startswith))
                    {
                        HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                    }
                }
            }
            return(result);
        }
示例#3
0
        public List <HitomiTagdata> GetTypeList(string startswith)
        {
            List <HitomiTagdata> result = new List <HitomiTagdata>();

            foreach (var tagdata in tagdata_collection.type)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').StartsWith(startswith.ToLower()))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            return(result);
        }
示例#4
0
        public List <HitomiTagdata> GetTotalListFuzzy(string search)
        {
            List <HitomiTagdata> result = new List <HitomiTagdata>();
            List <HitomiTagdata> target = new List <HitomiTagdata>();

            target.AddRange(tagdata_collection.female);
            target.AddRange(tagdata_collection.male);
            search = search.ToLower();
            foreach (var tagdata in tagdata_collection.artist)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = "artist:" + tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            foreach (var tagdata in tagdata_collection.group)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = "group:" + tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            foreach (var tagdata in tagdata_collection.series)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = "series:" + tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            foreach (var tagdata in tagdata_collection.character)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = "character:" + tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            foreach (var tagdata in tagdata_collection.type)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = "type:" + tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            foreach (var tagdata in target)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            foreach (var tagdata in tagdata_collection.tag)
            {
                HitomiTagdata data = new HitomiTagdata(); data.Tag = "tag:" + tagdata.Tag.ToLower().Replace(' ', '_');
                data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data);
            }
            result.Sort((a, b) => b.Count.CompareTo(a.Count));
            return(result);
        }
示例#5
0
        /// <summary>
        /// AutoComplete에 보여줄 모든 관련 검색어를 가져옵니다. 단, 제목은 포함되지 않습니다.
        /// </summary>
        /// <param name="contains"></param>
        /// <returns></returns>
        public List <HitomiTagdata> GetTotalList(string contains)
        {
            if (Settings.Instance.GetModel().UsingFuzzy)
            {
                return(GetTotalListFuzzy(contains));
            }
            List <HitomiTagdata> result = new List <HitomiTagdata>();
            List <HitomiTagdata> target = new List <HitomiTagdata>();

            target.AddRange(tagdata_collection.female);
            target.AddRange(tagdata_collection.male);
            contains = contains.ToLower();
            foreach (var tagdata in tagdata_collection.artist)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = "artist:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            foreach (var tagdata in tagdata_collection.group)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = "group:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            foreach (var tagdata in tagdata_collection.series)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = "series:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            foreach (var tagdata in tagdata_collection.character)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = "character:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            foreach (var tagdata in tagdata_collection.type)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = "type:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            foreach (var tagdata in target)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            foreach (var tagdata in tagdata_collection.tag)
            {
                if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains))
                {
                    HitomiTagdata data = new HitomiTagdata(); data.Tag = "tag:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data);
                }
            }
            result.Sort((a, b) => b.Count.CompareTo(a.Count));
            return(result);
        }