Docky оказался самым скромным доком в линуксе по требованиям (хотя всё равно захотел моно, как и AWN с Cairo). Работает вполне себе прилично. Но после установки в Xubuntu отказывается нормально работать с иконкой Thunar (и, видимо, с терминалом тоже). Чтобы заработало нормально нужно скопировать из /usr/share/applications/ в ~/.local/share/applications файлы Thunar.desktop и xfce4-terminal.desktop. После повторного добавления Thunar в Docky иконка появляется и файл-менеджер запускается нормально.
Для установки global menu (как в Unity, только не исчезает само по себе, что меня раздражало) в Xubuntu:
sudo apt-add-repository ppa:the-warl0ck-1989/xfce-appmenu-plugin
sudo apt-get update && sudo apt-get install xfce4-appmenu-plugin indicator-appmenu appmenu-gtk appmenu-qt
После этого мне нужно было выйти-войти в систему. Информация взята отсюда
На 64-битной Xubuntu не захотел работать sopcast-player. После установки просто падает с Segmentation fault. Чтобы заработало нужно в файле /usr/share/sopcast-player/lib/vlc_1_0_x.p поменять строку
callbackmethod=ctypes.CFUNCTYPE(None, Event, ctypes.c_void_p)
на строку
callbackmethod=ctypes.CFUNCTYPE(None, ctypes.POINTER(Event), ctypes.c_void_p)
Плеер тянет за собой кучу 32-битных библиотек и для установки просит 190 Мбайт места. Ужас, блин. Но футбол как-то смотреть нужно. Решение взято отсюда
После установки Xubuntu не заработала cвязка SMPlayer + VDPAU (аппаратное ускорение видео) + Divx. У меня не игрались все файлы в контейнере .avi. Оказалось, что нужно в файле /etc/mplayer/mplayer.conf поменять
[vo.vdpau]
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
на
[vo.vdpau]
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,
У меня этого в файле не было вообще, поэтому я последние две строки просто в файл добавил. Всё заработало. Альтернативным решением, кстати, был просмотр проблемных файлов через VLC, но это как-то некрасиво.
Решение взято отсюда
Скрипт для кросс-постинга. Идейный оригинал вот тут. У меня получилось в два раза больше. В основном из-за возможности отправлять несколько последних твитов, а не только один + защита от того, чтобы не постить один и тот же твит два раза, если возникли какие-то проблемы. Скрипт пока висит в кроне на запуск раз в 5 минут. Скрипт под линукс, для винды нужно выпиливать упоминание syslog. Да и вообще выпилить велосипед с логированием и заменить его встроенным питоновским.
( Read more... )Из внешних источников можно получить данные о времени, в которых фигурирует временная зона. К примеру, если парсить XML c RSS-лентой постов твиттера, то там время твита будет указано именно с временной зоной: Sat, 06 Nov 2011 10:41:00 +0000. Вот это вот +0000 и есть описание временной зоны. В данном случае, это обозначает, что время у нас UTC. Если такое время использовать в приложении, то его нужно правильно распарсить, чтобы можно пользоваться объектом datetime.datetime. Для этого служит ключик %z функций strptime. Полностью строка для парсинга примера выше выглядит так: %a, %d %b %Y %H:%M:%S %z.
После того, как строка распарсена и объект datetime.datetime получен, можно использовать его для сравнений. Но есть одно "но" — объекты datetime.datetime могут быть naive и aware в отношении временных зон. И если распарсенный объект aware, то и сравнивать его можно с таким же. Чтобы получить текущее время, которое будет знать про временную зону, нужно datetime.datetime.now() позвать с параметром временной зоны, в которую будет переведено время. Самый простой вариант, при котором не нужно будет создавать зону самостоятельно, выглядит как datetime.datetime.now(datetime.timezone.u. После этого текущее время можно будет сравнивать с тем временем, которое мы получили из распарсенной строки. А более очевидный вызов datetime.datetime.utcnow() возвращает UTC-время, но без выставленной временной зоны.
Стандартный питоновский класс urllib.request автоматически идёт по редиректу. Это в определённых ситуациях может мешать. Например, в приведённом ниже примере, где я пытаюсь авторизоваться в API ВКонтакте, нужная мне информация лежит в первом ответе (который приходит со статусом 302). urllib.request автоматически проходит по редиректу и возвращает мне ту страницу, где никакой информации о ключе сессии (который используется для дальнейших операций) уже нет.
( Read more... )
( Read more... )