Pull to refresh

Comments 24

Здесь вроде как рассматривается создание апплета. Многим, думаю, это будет интересно.
Спасибо за статью давно хотел написать какой то апплет для Гнома…
Спасибо за туториал, чего в жизни не пригодится.
Кстати, плохо, что событие отрабатывает по нажатию любой кнопки. Для себя проблему решил таким образом:

---         self.callback_open(self)
+++         if event.button == 1:
+++             self.callback_open(self)

Это не очень хороший код на Python. Например: зачем столько «self.» в «init»? Вы дальше этими атрибутами где-то пользуетесь? gtk.gdk импортируется, но нигде не используется. Зачем?
UFO just landed and posted this here
Я бы только посоветовал вам брать хорошую привычку вместо:
&nbsp&nbspreturn karma + '/' + rating
писать:
&nbsp&nbspreturn '%s/%s' % (karma, rating)
И еще не мешало бы указать какой xml приходит по урлю. А так мне понравилось.
Понятно, что такой подход нужен для удобства перевода приложения, но не в таком-же случае)))
Зачем переводчикам переводить слеш?
перевода на японский язык?? или что?.. Просто хорошая привычка
Да, перевода интерфейса приложения на другие языки. Просто по-хорошему все текстовые вставки, которые отображаются в UI выносятся в отдельные файлы и подставляются спец. функциями.
Например _(«Hello, %s. Your rating is %s»)% (name, rating)
Где _ это функция для выбора переведенного текста из файла перевода, где идентификатором является сам текст по умолчанию «Hello, %s. Your rating is %s».

Переводчик (в смысле человек, который занимается локализацией) интерфейса приложения получает строку «Hello, %s. Your rating is %s» и переводит ее как «Привет, %s. Твой рейтинг %s»
В итоге функция _(«Hello, %s. Your rating is %s») возвращает строку «Привет, %s. Твой рейтинг %s» в которой так-же без проблем проводит замену.

Иначе пришлось бы писать _(«Hello, „)+name+_(“. Your rating is „)+rating Что неудобно как для кодера, так и для локализатора
я думаю, это программке до локализации, как до Китая. Но наверно вы в чем — то правы.
А вы по какой причине советовали писать так, а не иначе? Чисто карго культ?
Я тоже когда-то подобную статейку писал — tilarids.blogspot.com/2008/06/gnome-python.html — может, кому пригодится. Думаю, что некоторая кривость кода выше объясняется тем, что автор копировал и компоновал код кусками. По себе знаю, я так с апплетом поступал :)
Как уже отметили выше, мой код не идеален, да… Наверное потому, что я больше Си'шник. От привычек никуда не денешся :) А gtk.gdk действительно нигде не используется, его можно не включать
Автор, очевидно, PEP 8 не читал (это я по поводу импортов).
Под какой лицензией можно использовать приведённый код?
Любая либеральная лицензия, какая Вам нравится ;)
Спасибо.
Использовал фрагмент Вашего кода для похожей программки (не апплет, а просто «плавающее окошко» типа zoclock): висит поверх всего, чего можно, подходит для любых WM/DE (возможно, даже для Windows, если для него есть нужные питоньи модули).
Это:
import pycurl, StringIO
content = StringIO.StringIO()
c = pycurl.Curl()
c.setopt(pycurl.URL, __URL__)
c.setopt(pycurl.FOLLOWLOCATION, 1)
c.setopt(pycurl.WRITEFUNCTION, content.write) # Задаем метод, записывающий ответ в переменную
c.perform()
c.close()
content = content.getvalue()

Можно сделать так:
import urllib2
content = urllib2.urlopen(__URL__).read()
Понимаю, что тема старая, но никак не могу найти инфу, перерыл весь гугл.
Подскажите пожалуйста, как обновить, скажем, по клику (а если реалтайм, то вообще идеально), информацию (текст) на апплете?
Sign up to leave a comment.

Articles