How to use wtf_wikipedia - 10 common examples

To help you get started, we’ve selected a few wtf_wikipedia examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github xyfir / illuminsight / __tests__ / components / reader / Insights.spec.tsx View on Github external
test('<Insights>', () => {
  expect(true).toBe(true);

  const store = createStore(reducer, {
    insights: {
      definitions: testDefinitions,
      searches: [
        {
          name: 'Google',
          url: 'https://www.google.com/search?q=Blood%20Meridian',
        },
      ],
      wikis: [
        {
          recipe: defaultRecipe.wikis[0],
          doc: wtf(testWikitext),
        },
      ],
      text: 'Blood Meridian',
    },
    recipe: defaultRecipe,
    pub: testPub,
    ast: [],
  });
  const { getAllByText, getByTitle, getByText } = render(
    <Provider store={store}>
      <Insights />
    </Provider>,
  );

  // Expect insight to have opened definitions
  getAllByText('noun');
github xyfir / illuminsight / __tests__ / components / reader / WikiInsight.spec.tsx View on Github external
test('<WikiInsight>', async () => {
  const { getByLabelText, getAllByText, getByText } = render(
    <WikiInsight
      insight={{ recipe: defaultRecipe.wikis[0], doc: wtf(testWikitext) }}
    />,
  );

  // Validate only main section was rendered
  getByText("McCarthy's fifth book", { exact: false });
  // in second section:
  expect(() =>
    getByText('The novel follows an adolescent runaway', { exact: false }),
  ).toThrow();
  // in infobox:
  expect(() => getByText('historical novel')).toThrow();

  // Validate attribution
  let el = getByText('Source: Wikipedia:');
  el = el.querySelector('a')!;
  expect(el.textContent).toBe(
github xyfir / illuminsight / __tests__ / components / reader / WikiInsight.spec.tsx View on Github external
expect(els[1].tagName).toBe('H1');

  // Trigger section change from breadcrumbs to main "Blood Meridian or The Evening Redness in the West"
  fireEvent.click(
    getByText('Blood Meridian or The Evening Redness in the West'),
  );

  // Validate we're back to main section
  getByText('Source: Wikipedia:');
  getByText("McCarthy's fifth book", { exact: false });
  getByText('Continue Reading');
  getByText('Show Statistics');

  // Mock wtf_wikipedia.fetch()
  const mockFetch = ((wtf as any).fetch = jest.fn());
  mockFetch.mockResolvedValueOnce(wtf(alternateTestWikitext));

  // Click "Cormac McCarthy" link
  fireEvent.click(getByText('Cormac McCarthy'));

  // Validate new article was loaded
  expect(mockFetch).toHaveBeenCalledTimes(1);
  expect(mockFetch.mock.calls[0][0]).toBe('Cormac_McCarthy');
  await waitForDomChange();
  getByText('American novelist, playwright, and', { exact: false });

  // Click back button to main "Blood Meridian" article
  fireEvent.click(getByLabelText('Go back to previous article'));

  // Validate we're back to main article
  getByText("McCarthy's fifth book", { exact: false });
});
github KorySchneider / wikit / index.js View on Github external
function printWikiSummary(queryText) {
  let spinner = ora({ text: 'Searching...', spinner: 'dots4' }).start();

  queryText = queryText.replace(/_/g, ' ');

  wiki.fetch(queryText, _lang, (err, doc) => {
    spinner.stop();

    if (err) {
      console.log('Error:', err);
    }

    if (doc) {
      let summary = doc.sections()[0].text();

      // Handle ambiguous results
      if (_disambig || isDisambiguationPage(doc) || summary.includes('may refer to:')) {
        handleAmbiguousResults(doc, queryText);
        return;
      }

      // Output
github populr-app / populr / server / workers / wikipedia.js View on Github external
function parseJob(markup) {

  // gets the first sentence in Wikipedia markup
  var sentence = WikipediaApi.plaintext(markup).split(/\. [A-Z]/)[0];

  // split after name and DOB
  var arr = sentence.split(' is ');
  arr.splice(0, 1);

  // get their job
  var job = arr.join(' is ').replace(/^a /, '').replace(/^an /, '').replace(/^the /, '');
  job = job.split(' who')[0];
  job = job.split(', where')[0];
  job = job.split(' from')[0];
  job = job.split('; ')[0];
  job = job.replace(/[,.:;!@#$%^&*()+ ]+$/, '');

  // if job description is over 90 characters, is probably bad.
  return job.length > 90 ? '' : job;
};
github therebelrobot / countryjs / build / countryjs.build.js View on Github external
return new Promise((resolve, reject) => {
    wtf_wikipedia.from_api(country.name.common, 'en', function (markup) {
      console.log(markup)
      var wiki = wtf_wikipedia.parse(markup)
      if (wiki.type === 'disambiguation') {
        console.log(country.name.common, 'disambiguation. fetching flag from +(country)')
        return wtf_wikipedia.from_api(country.name.common + ' (country)', 'en', function (markup) {
          var wiki = wtf_wikipedia.parse(markup)
          console.log(country.name.common, '(country) wiki', wiki)
          console.log(country.name.common, '(country) infobox', wiki.infobox)
          if (wiki.infobox && wiki.infobox.image_flag && wiki.infobox.image_flag.text) {
            console.log(country.name.common, '(country) flag', wiki.infobox.image_flag.text)
          }
          resolve(wiki.infobox)
        })
      }
      console.log(country.name.common, 'infobox', wiki.infobox)
      if (wiki.infobox && wiki.infobox.image_flag && wiki.infobox.image_flag.text) {
github therebelrobot / countryjs / build / countryjs.build.js View on Github external
wtf_wikipedia.from_api(country.name.common, 'en', function (markup) {
      console.log(markup)
      var wiki = wtf_wikipedia.parse(markup)
      if (wiki.type === 'disambiguation') {
        console.log(country.name.common, 'disambiguation. fetching flag from +(country)')
        return wtf_wikipedia.from_api(country.name.common + ' (country)', 'en', function (markup) {
          var wiki = wtf_wikipedia.parse(markup)
          console.log(country.name.common, '(country) wiki', wiki)
          console.log(country.name.common, '(country) infobox', wiki.infobox)
          if (wiki.infobox && wiki.infobox.image_flag && wiki.infobox.image_flag.text) {
            console.log(country.name.common, '(country) flag', wiki.infobox.image_flag.text)
          }
          resolve(wiki.infobox)
        })
      }
      console.log(country.name.common, 'infobox', wiki.infobox)
      if (wiki.infobox && wiki.infobox.image_flag && wiki.infobox.image_flag.text) {
        console.log(country.name.common, 'flag', wiki.infobox.image_flag.text)
        country.flag = 'https://en.m.wikipedia.org/wiki/File:' + wiki.infobox.image_flag.text
      }
      resolve(wiki.infobox)
    })
github nlp-compromise / nlp-corpus / wikipedia / build.js View on Github external
const fetch_page = function (title, cb) {
    wtf_wikipedia.from_api(title, lang, function (markup) {
      let text = wtf_wikipedia.plaintext(markup) || '';
      let filename = __dirname + '/corpus/' + title + '.txt';
      fs.writeFileSync(filename, text, 'utf8')
      let mb = (fs.statSync(filename).size || 0) / 1000000.0;
      console.log(title + '  -  ' + mb.toFixed(2) + 'mb');
      cb(null, '');
    });
  };
github ava-ia / core / src / actions / action.wikipedia.js View on Github external
return new Promise(resolve => {
    if (state.debug) {
      console.log('ActionWikipedia'.bold.yellow, `concept: ${concept}`);
    }

    if (!concept) resolve(state);

    wikipedia.from_api(concept, 'en', (response) => {
      const document = wikipedia.parse(response);
      if (document.type === 'page' && document.categories.length > 0) {
        const summary = document.text.Intro.map(sentence => sentence.text).join(' ');

        state.action = {
          ms: (new Date() - ms),
          engine: 'wikipedia',
          entity: entities.knowledge,
          image: `http://en.wikipedia.org/wiki/${document.images[0]}`,
          title: document.infobox.name ? document.infobox.name.text : concept,
          value: summary,
          related: extract(document.infobox),
        };

        resolve(state);
      }
github populr-app / populr / server / workers / wikipedia.js View on Github external
names.forEach(function(name) {

    WikipediaApi.from_api(name, 'en', function(markup) {
      if(!markup){ console.log(name); return;}
      var id = wikis[name][0];
      var fullName = name;
      var occupation = parseJob(markup);
      var extract = parseExtract(markup);
      var url = 'http://en.wikipedia.org/wiki/' + encodeURIComponent(fullName);

      var update = {
        'id': id,
        'wikipedia': {
          'fullName': fullName,
          'occupation': occupation,
          'extract': extract,
          'url': url
        }
      };

wtf_wikipedia

parse wikiscript into json

MIT
Latest version published 2 months ago

Package Health Score

81 / 100
Full package analysis