С Рождеством Христовым !
По случаю нашел скрипт проверки почты с https://mail.google.com/a/gmail.com/
Ссылка на оригинал http://crunchbanglinux.org/forums/topic … ing-https/
Для любителей классических CONKY скрипт имеет такой вид
#!/bin/bash
wget -q -O - https://mail.google.com/a/gmail.com/feed/atom --http-user=${1}@gmail.com --http-password="${2}" --no-check-certificate | grep fullcount | sed 's/<[^0-9]*>//g'
Копируем и называем gmail_generic.sh, не забываем дать права
В conkyrc добавляем строки
{execpi 300 ~/Script/Shell/gmail_generic.sh username 'password'}
Прописываем свой путь к скрипту и вместо username и password пишем своё имя из почтового адреса до знака @ и паспорт
Скрипт лучше сделать скрытым
Ну и конечно не удержался и сделал всё это на LUA
--[[ mail.lua
by olgmen 07.01.2012
Скрипт проверяет наличие новой почты на сайте https://mail.google.com/a/gmail.com/
Для запуска выше слова TEXT добавляем
lua_load ~/путь_к_скрипту/mail.lua
lua_draw_hook_pre mail
Для вывода текста необходим скрипт который можно взять здесь http://wlourf.deviantart.com/#/d36njc0
]]
usrhome = os.getenv("HOME") -- определяем домашнюю директорию
dofile (usrhome .. "/путь_к_скрипту/text.lua") -- загружаем скрипт для вывода текста
-- данные для работы скрипта
secs = 600 -- обновление каждые 10 минут
user = -- имя, часть почтового адреса до @gmail.com
password = -- пасспорт к почтовому ящику
function conky_mail()
local updates = tonumber(conky_parse('${updates}'))
local timer = (updates %secs) + 1 -- устанавливаем время обновления
if timer == 1 or updates == 0 then -- проверяем наличие почты
mail = conky_parse("${exec wget -q -O - https://mail.google.com/a/gmail.com/feed/atom --http-user=user@gmail.com --http-password=\"password\" --no-check-certificate | grep fullcount | sed 's/<[^0-9]*>//g'}")
else
mail = "пишут :)" -- любое сообщение об отсутствии почты
end
mail_settings = { -- данные для скрипта text.lua
{
text = "Почта " .. mail,
x = 125,
y = 600,
font_size = 22,
bold = true,
h_align = "c",
colour = {{0, 0x555555, 1},{0.5, 0xcfcfcf, 1},{1, 0x555555, 1}},
orientation="nn",
},
}
--[[ здесь заканчивается ввод всех данных ]]
if conky_window == nil then return end
local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
-- вывод текста
for i,v in pairs(mail_settings) do
cr = cairo_create (cs)
display_text(v)
cairo_destroy(cr)
end
end
Удачных коньков
покороче, на питоне:
ОтветитьУдалить~$ cat .scripts/mail.py
#!/usr/bin/env python
# coding: utf-8
import pycurl, StringIO, re
username = '*****'
password = '*****'
def get_mail():
data = StringIO.StringIO()
curl = pycurl.Curl()
curl.setopt(pycurl.WRITEFUNCTION, data.write)
curl.setopt(pycurl.URL, 'https://'+username+':'+password+'@mail.google.com/mail/feed/atom')
try:
curl.perform()
except:
return False
mail = re.findall('(.*)', data.getvalue())[0]
if mail != '0': return '%s' % (mail)
else: return '0'
print get_mail()
вызов в conky стандартный :)
К сожалению с Питоном не знаком, поэтому пишу на LUA, а за скрипт спасибо.
ОтветитьУдалить