Как я компилирую линзу Википедии и установку?

Я прочитал учебное руководство о том, как скомпилировать и установить линзу Википедии, но это не работало.

Учебное руководство звучит легким - я просто скопировал и вставил в файл, который был, предполагают для редактирования.

Я попробовал несколько раз и здесь являюсь 2 редактированиями

редактирование 1:

import logging
import optparse

import gettext
from gettext import gettext as _
gettext.textdomain('wikipedia')

from singlet.lens import SingleScopeLens, IconViewCategory, ListViewCategory

from wikipedia import wikipediaconfig
import urllib2
import simplejson

class WikipediaLens(SingleScopeLens):

wiki = "http://en.wikipedia.org"
def wikipedia_query(self,search):
    try:
        search = search.replace(" ", "|")
        url = ("%s/w/api.php?action=opensearch&limit=25&format=json&search=%s" % (self.wiki, search))
        results = simplejson.loads(urllib2.urlopen(url).read())
        print "Searching Wikipedia"
        return results[1]
    except (IOError, KeyError, urllib2.URLError, urllib2.HTTPError, simplejson.JSONDecodeError):
        print "Error : Unable to search Wikipedia"
        return []

   class Meta:
    name = 'Wikipedia'
    description = 'Wikipedia Lens'
    search_hint = 'Search Wikipedia'
    icon = 'wikipedia.svg'
    search_on_blank=True

    # TODO: Add your categories
   articles_category = ListViewCategory("Articles", "dialog-information-symbolic")

  def search(self, search, results):
    for article in self.wikipedia_query(search):
        results.append("%s/wiki/%s" % (self.wiki, article),
                    "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png",
                    self.articles_category,
                    "text/html",
                    article,
                    "Wikipedia Article",
                    "%s/wiki/%s" % (self.wiki, article))
    pass

редактирование 2:

import urllib2
import simplejson


import logging
import optparse

import gettext
from gettext import gettext as _
gettext.textdomain('wikipediaa')

from singlet.lens import SingleScopeLens, IconViewCategory, ListViewCategory

from wikipediaa import wikipediaaconfig

class WikipediaaLens(SingleScopeLens):

wiki = "http://en.wikipedia.org"

def wikipedia_query(self,search):
    try:
        search = search.replace(" ", "|")
        url = ("%s/w/api.php?action=opensearch&limit=25&format=json&search=%s" % (self.wiki, search))
        results = simplejson.loads(urllib2.urlopen(url).read())
        print "Searching Wikipedia"
        return results[1]

    except (IOError, KeyError, urllib2.URLError, urllib2.HTTPError, simplejson.JSONDecodeError):
        print "Error : Unable to search Wikipedia"
        return []
def search(self, search, results):
    for article in self.wikipedia_query(search):
        results.append("%s/wiki/%s" % (self.wiki, article),
                    "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png",
                    self.articles_category,
                    "text/html",
                    article,
                    "Wikipedia Article",
                    "%s/wiki/%s" % (self.wiki, article))
    pass

    class Meta:
    name = 'Wikipedia'
    description = 'Wikipedia Lens'
    search_hint = 'Search Wikipedia'
    icon = 'wikipedia.svg'
    search_on_blank=True

    # TODO: Add your categories
   articles_category = ListViewCategory("Articles", "dialog-information-symbolic")

    def search(self, search, results):
    # TODO: Add your search results
    results.append('https://wiki.ubuntu.com/Unity/Lenses/Singlet',
                'ubuntu-logo',
                self.example_category,
                "text/html",
                'Learn More',
                'Find out how to write your Unity Lens',
                'https://wiki.ubuntu.com/Unity/Lenses/Singlet')
    pass

так.. что я могу изменить в редактировании? (если кто-либо дает мне, весь файл редактирования отредактировал, я буду ценить),

1
задан 15 April 2012 в 14:30

1 ответ

Ваша проблема связана с форматированием и отступами.

При первом редактировании неверно размещались элементы импорта. И отступ не был правильным. Python очень специфичен в отношении отступов, и если он не точен, вы никуда не денетесь.

У второго редактирования есть дополнительный a после Википедии. Это википедия повсюду в коде, которая все портит. У него также есть некоторые проблемы с отступами и форматированием.

Здесь - очень простая рабочая версия файла из учебника. Меня устраивает. Вы можете продолжить и добавить другие функции, такие как настроенные изображения и локали.

Лучший способ научиться программировать - это не запрашивать заполненный файл, а спрашивать, где вы сделали это неправильно. Я предоставлю вам свободу действий, предоставив вам образец файла.


Я думаю, вы не очень заинтересованы в разработке объектива самостоятельно. Ради вас, я добавил объектив в свой PPA, чтобы вы могли установить его и использовать без особых хлопот.

Введите следующие команды в терминале:

sudo apt-add-repository ppa:jokerdino/ppa
sudo apt-get update
sudo apt-get install wikipedia

После установки объектива выйдите из Unity и вернитесь обратно. Теперь вы должны быть готовы использовать объектив Wikipedia.

Примечание : Объектив в моем PPA просто функционален. Не ожидайте, что у него будут стильные изображения, сообщения об ошибках или локализованные версии. Если вы хотите все это, я рекомендую вам попробовать учебник самостоятельно и добавить их для вашего удовольствия.

0
ответ дан 15 April 2012 в 14:30

Другие вопросы по тегам:

Похожие вопросы: