Пример #1
0
        /// <summary>
        /// Return the JSON string of the entities
        /// </summary>
        /// <param name="Site">Mediawiki site (ex. itwiki)</param>
        /// <param name="Pages">List of pages separated by |</param>
        /// <param name="Type">What retrieve</param>
        /// <returns>JSON string</returns>
        public string LoadWD(string Site, string Pages, LoadTypeWD Type = LoadTypeWD.All)
        {
            string Titles = "&sites=" + HttpUtility.UrlEncode(Site) + "&titles=" + HttpUtility.UrlEncode(Pages);
            string post   = "";

            switch (Type)
            {
            case LoadTypeWD.All:
                post = "action=wbgetentities&format=json" + Titles + "&redirects=yes";
                break;

            case LoadTypeWD.Label:
                post = "action=wbgetentities&format=json" + Titles + "&redirects=yes&props=labels";
                break;

            case LoadTypeWD.Description:
                post = "action=wbgetentities&format=json=" + Titles + "&redirects=yes&props=descriptions";
                break;

            case LoadTypeWD.LabelDescriptionSitelink:
                post = "action=wbgetentities&format=json" + Titles + "&redirects=yes&props=labels|descriptions|sitelinks";
                break;

            default:
                break;
            }
            return(PostRequest(this._URL + this._API, post));
        }
Пример #2
0
        /// <summary>Return the JSON string of the entities using Qnumber</summary>
        /// <param name="entities">List of entities separated by | (ex. Q1|Q2)</param>
        /// <param name="type">What retrieve, default is LoadTypeWD.All (ex. LoadTypeWD.Label)</param>
        /// <returns>JSON string of the items</returns>
        /// /// <remarks>See also https://www.mediawiki.org/wiki/Wikibase/API/it#wbgetentities </remarks>
        public string LoadWD(string entities, LoadTypeWD type = LoadTypeWD.All)
        {
            string post = "";

            switch (type)
            {
            case LoadTypeWD.All:
                post = string.Format("format=json&redirects=yes&ids={0}", entities);
                break;

            case LoadTypeWD.Label:
                post = string.Format("format=json&redirects=yes&ids={0}&props=labels", entities);
                break;

            case LoadTypeWD.Description:
                post = string.Format("format=json&redirects=yes&ids={0}&props=descriptions", entities);
                break;

            case LoadTypeWD.LabelDescriptionSitelink:
                post = string.Format("format=json&redirects=yes&ids={0}&props=labels|descriptions|sitelinks", entities);
                break;

            case LoadTypeWD.LabelSitelink:
                post = string.Format("format=json&redirects=yes&ids={0}&props=labels|sitelinks", entities);
                break;

            default:
                break;
            }
            return(PostRequest(_url + _api + "?action=wbgetentities", post));
        }
Пример #3
0
        /// <summary>
        /// Return the JSON string of the entities
        /// </summary>
        /// <param name="Entities">List of entities separated by |</param>
        /// <param name="Type">What retrieve</param>
        /// <returns>JSON string</returns>
        public string LoadWD(string Entities, LoadTypeWD Type = LoadTypeWD.All)
        {
            string post = "";

            switch (Type)
            {
            case LoadTypeWD.All:
                post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes";
                break;

            case LoadTypeWD.Label:
                post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes&props=labels";
                break;

            case LoadTypeWD.Description:
                post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes&props=descriptions";
                break;

            case LoadTypeWD.LabelDescriptionSitelink:
                post = "action=wbgetentities&format=json&ids=" + Entities + "&redirects=yes&props=labels|descriptions|sitelinks";
                break;

            default:
                break;
            }
            return(PostRequest(this._URL + this._API, post));
        }
Пример #4
0
        /// <summary>Return the JSON string of the entities using title + wiki</summary>
        /// <param name="langSite">Mediawiki site (ex. itwiki)</param>
        /// <param name="pages">List of pages separated by | (ex. Page1|Page2)</param>
        /// <param name="type">What retrieve, ex. LoadTypeWD.Label. Default is LoadTypeWD.All</param>
        /// <returns>JSON string of the items</returns>
        /// <remarks>See also https://www.mediawiki.org/wiki/Wikibase/API/it#wbgetentities </remarks>
        public string LoadWD(string langSite, string pages, LoadTypeWD type = LoadTypeWD.All)
        {
            string post = "";

            switch (type)
            {
            case LoadTypeWD.All:
                post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages));
                break;

            case LoadTypeWD.Label:
                post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}&props=labels", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages));
                break;

            case LoadTypeWD.Description:
                post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}&props=descriptions", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages));
                break;

            case LoadTypeWD.LabelDescriptionSitelink:
                post = string.Format("action=wbgetentities&format=json&redirects=yes&sites={0}&titles={1}&props=labels|descriptions|sitelinks", WebUtility.UrlEncode(langSite), WebUtility.UrlEncode(pages));
                break;

            default:
                break;
            }
            return(PostRequest(_url + _api, post));
        }