Как отобразить число, извлеченное из удаленного URL-адреса в индикаторе панели задач?

Я ищу решение (приложение), которое позволило бы мне отправлять запрос на определенную веб-страницу каждые x секунд и извлекать номер (номер - это единственное содержимое, без HTML, XML или чего-либо еще) и отображать этот номер. в панели задач.

Есть ли такое приложение там?

Спасибо

1 ответ

Решение

Следующий фрагмент кода Python должен работать для вас:

#!/usr/bin/env python

import re
import sys
import urllib2

from gi.repository import Gtk, GLib
from gi.repository import AppIndicator3 as appindicator

class MyIndicator:

    def __init__(self):
    # Create Indicator with icon and label
        icon_image = "/usr/share/unity/icons/panel-shadow.png"
        self.ind = appindicator.Indicator.new(
            "MagicNumber",
            icon_image,
            appindicator.IndicatorCategory.APPLICATION_STATUS
        )
        self.ind.set_status(appindicator.IndicatorStatus.ACTIVE)
        self.menu_structure()

    # Menu structure
    def menu_structure(self):
        # GTK menu
        self.menu = Gtk.Menu()
        self.exit = Gtk.MenuItem("Exit")
        self.exit.connect("activate", self.quit)
        self.exit.show()
        self.menu.append(self.exit)
        self.ind.set_menu(self.menu)

        content = urllib2.urlopen('http://Ask-ubuntu.ru/questions')
        questions = re.search('<div class="summarycount al">(.*?)</div>', content.read())
        self.ind.set_label(str(questions.group(1)), "")

        GLib.timeout_add_seconds(2,self.menu_structure) 

    def quit(self, widget):
        sys.exit(0)

if __name__ == "__main__":
    indicator = MyIndicator()
    Gtk.main()

Просто замените url, 2 вторая задержка и re.search шаблон для ваших нужд.

re.search('(.*)', content.read()) должно работать, если ваш файл содержит только номер.

Приведенный выше код отображает общее количество вопросов по Askubuntu на панели задач:

                     

Ссылка: https://unity.ubuntu.com/projects/appindicators/

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