Пример #1
0
        private void btnTest_Click(object sender, EventArgs e)
        {
            WikibaseApi api = new WikibaseApi("https://test.wikidata.org", "TambonBot");

            var entityProvider = new EntityProvider(api);
            var item           = entityProvider.getEntityFromId(new EntityId("Q42")) as Item;
        }
Пример #2
0
        private static WikibaseApi OpenConnection()
        {
            WikibaseApi api = new WikibaseApi("https://www.wikidata.org", "TambonBot");
            // Login with user name and password
            var username = ConfigurationManager.AppSettings["WikiDataUsername"];
            var password = ConfigurationManager.AppSettings["WikiDataPassword"];

            api.login(username, password);
            api.botEdits  = true;
            api.editlimit = true;
            api.editLaps  = 1000; // one edit per second
            return(api);
        }
Пример #3
0
        private Dictionary <Entity, String> RetrieveWikpediaLinks(IEnumerable <Entity> entities, Language language)
        {
            var result = new Dictionary <Entity, String>();

            if (_api == null)
            {
                _api    = new WikibaseApi("https://www.wikidata.org", "TambonBot");
                _helper = new WikiDataHelper(_api);
            }
            var actualEntities = entities.Select(x => x.CurrentEntity(_country));

            foreach (var entity in actualEntities.Where(x => x.wiki != null && !String.IsNullOrEmpty(x.wiki.wikidata)))
            {
                var item = _helper.GetWikiDataItemForEntity(entity);
                if (item != null)
                {
                    var    links = item.getSitelinks();
                    String languageLink;
                    String wikiIdentifier = String.Empty;
                    switch (language)
                    {
                    case Language.German:
                        wikiIdentifier = WikiBase.SiteLinkGermanWikipedia;
                        break;

                    case Language.English:
                        wikiIdentifier = WikiBase.SiteLinkEnglishWikipedia;
                        break;

                    case Language.Thai:
                        wikiIdentifier = WikiBase.SiteLinkThaiWikipedia;
                        break;
                    }
                    if (item.getSitelinks().TryGetValue(wikiIdentifier, out languageLink))
                    {
                        result[entity] = languageLink;
                    }
                }
            }
            return(result);
        }