Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт Python для Conky ошибка при выполнении  (Прочитано 2695 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Дорогие форумчане. Пытааюсь привернуть очередную приколюху к конькам научить Показывать количество новых писем из Gmail и получаю проблемку,
 Код
gmail.py

#!/usr/bin/env python

from urllib.request import FancyURLopener

email = 'ваш email' # @gmail.com can be left out
password  = 'ваш пароль'

url = 'https://%s:%s@mail.google.com/mail/feed/atom' % (email, password)

opener = FancyURLopener()
page = opener.open(url)

contents = page.read().decode('utf-8')

ifrom = contents.index('<fullcount>') + 11
ito   = contents.index('</fullcount>')

fullcount = contents[ifrom:ito]

print(fullcount + ' new')

Вывод терминала
File "/home/funk/gmail_parser.py", line 3, in <module>
    import urllib.request
ImportError: No module named request
>:( >:( >:(
 И как следствие ни чего не происходит. Т.к. в питоне я малость совсем шарю прошу помощи. :idiot2:
Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #1 : 19 Февраля 2016, 12:32:18 »
Исправьте
Код: (python) [Выделить]
from urllib import FancyURLopener
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #2 : 19 Февраля 2016, 18:28:28 »
Выхлоп после измененй
Enter password for  in mail.google.com at mail.google.com:

После ввода пароля
Traceback (most recent call last):
  File "/home/funk/gmail_parser.py", line 15, in <module>
    ifrom = contents.index('<fullcount>') + 11
ValueError: substring not found

Ни чего не понятно
Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #3 : 19 Февраля 2016, 23:07:29 »
«substring not found» ну не нашло оно строки с "<fullcount>" (вы хоть в гугл-транслейт переводите)
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #4 : 20 Февраля 2016, 07:24:29 »
«substring not found» ну не нашло оно строки с "<fullcount>" (вы хоть в гугл-транслейт переводите)
Агамс, не нашло оно, мне то дальше как?
Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #5 : 20 Февраля 2016, 14:39:33 »
Потому как УМВР, то предположу что вводится неправильный логин|пароль
Код: (python) [Выделить]
email = 'ваш email' # @gmail.com can be left out
password  = 'ваш пароль'
Введите в браузере адрес: https://<ваш_логин>:<ваш_пароль>@mail.google.com/mail/feed/atom заменив <ваш_логин>, <ваш_пароль> на соответствующие значения и убедитесь в том, что всё верно.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #6 : 20 Февраля 2016, 15:41:54 »
Потому как УМВР, то предположу что вводится неправильный логин|пароль
Код: (python) [Выделить]
email = 'ваш email' # @gmail.com can be left out
password  = 'ваш пароль'
Введите в браузере адрес: https://<ваш_логин>:<ваш_пароль>@mail.google.com/mail/feed/atom заменив <ваш_логин>, <ваш_пароль> на соответствующие значения и убедитесь в том, что всё верно.

Пара логин пароль верная,

Пользователь решил продолжить мысль 20 Февраля 2016, 17:20:07:
:idiot2: А при переходе по ссылке с логином и паролем вылазит вот такая инфа, она как то скриптом обрабатывается?
Вы собираетесь зарегистрироваться на сайте «mail.google.com» с именем пользователя «Funk2256», но данный сайт не требует аутентификации. Это может быть попыткой вас обмануть.

Является ли «mail.google.com» сайтом, что вы хотите посетить?
« Последнее редактирование: 20 Февраля 2016, 17:20:07 от funk2256 »
Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #7 : 20 Февраля 2016, 18:22:01 »
> $: ./gmail.py
8 new
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #8 : 20 Февраля 2016, 18:48:05 »
Да что за н......
funk@funk-HP-Pavilion-g6-Notebook-PC:~$ ./gmail_parser.py
Enter username for mail.google.com at mail.google.com: Funk2256
Enter password for Funk2256 in mail.google.com at mail.google.com:
Enter username for mail.google.com at mail.google.com:

Пользователь решил продолжить мысль 20 Февраля 2016, 19:28:01:
Так ну Python у меня
funk@funk-HP-Pavilion-g6-Notebook-PC:~$ python
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Может в этом причина?
« Последнее редактирование: 20 Февраля 2016, 19:28:01 от funk2256 »
Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

| toZen |

  • Гость
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #9 : 20 Февраля 2016, 19:46:04 »
[facepalm]
(Нажмите, чтобы показать/скрыть)
mkdir ~/.scriptsnano ~/.scripts/gmail.pyСкопируйте текст по Ctrl+C
Код: (Bash) [Выделить]
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import sys, imaplib

port = 993
server = 'imap.gmail.com'

username = 'user_name@gmail.com'
passwd = 'password'

imap_server = imaplib.IMAP4_SSL(server, port)
try:
    imap_server.login(username, passwd)
except:
    print('?? new')
    sys.exit( 1 )

typ, data = imap_server.select ('Inbox', True)
if typ == 'OK':
    total = int(data[0])
    typ, data = imap_server.search (None, 'SEEN')
    if typ == 'OK':
        seen = len(data[0].split())
        print('{} new'.format(total - seen))

if typ != 'OK':
    print('?? new')

imap_server.logout()
Вставьте текст в редактор по Ctrl+Shift+V >> Ctrl+O >> Enter >> Ctrl+X
chmod +x ~/.scripts/gmail.pyВставьте запуск скрипта в коньки (поменяйте последнее значение адреса коньков, если конфиг лежит не в хомяке):
sh -c "echo '${execpi 300 python ~/.scripts/gmail.py}' >> ~/.conkyrc"killall conky && conky??

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #10 : 20 Февраля 2016, 20:09:50 »
В коньках появилось "?? new" не ругается не на что, но кол-во писем не отображает
funk@funk-HP-Pavilion-g6-Notebook-PC:~$ killall conky && conky
conky(3699): Операция не позволена
Conky: desktop window (160002a) is subwindow of root window (2df)
Conky: window type - normal
Conky: drawing to created window (0x3800001)
Conky: drawing to double buffer
Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

| toZen |

  • Гость
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #11 : 20 Февраля 2016, 20:16:49 »
cat .conkyrc

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #12 : 20 Февраля 2016, 20:26:01 »
выхлоп
funk@funk-HP-Pavilion-g6-Notebook-PC:~$ cat .conkyrc
######################
# - Conky settings - #
######################
update_interval 1
total_run_times 0
net_avg_samples 1
cpu_avg_samples 1

imlib_cache_size 0
double_buffer yes
no_buffers yes

format_human_readable

#####################
# - Text settings - #
#####################
use_xft yes
xftfont Droid Sans:size=8
override_utf8_locale yes
text_buffer_size 2048

own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

alignment top_right
gap_x 25
gap_y 40
minimum_size 182 0
maximum_width 260

default_bar_size 60 8

# Defining colors


#########################
# - Graphics settings - #
#########################
draw_shades no
default_color 3C3B37
color0 bebebe
color1 d3d3d3
color2 C0C0C0


# Loading lua script for drawning rings
#lua_load ./seamod_rings.lua
#lua_draw_hook_post main

## System information using conky capabilities

# Header with base system info
own_window_argb_value 0
own_window_colour 000000


TEXT
${voffset 20}${font Droid Sans:style=Bold:size=8}ДАТА $stippled_hr${font}

${voffset -12}${goto 28}${font Arial Black:size=38}${color2}${time %H}${color}${font}${voffset -28}${font Droid Sans:style=Bold:size=11}${color2}${time :%M}${time :%S}${color}${font}
${voffset -2}${goto 100}${font Droid Sans:style=Bold:size=8}${color2}${time %A}${color2}${font}
${goto 100}${time %d %b %Y}


##############
# - SYSTEM - #
##############
${color0}${voffset 6}${font OpenLogos:size=19}u${font}${color}${goto 32}${voffset -14}Kernel:  ${alignr}${color2}${kernel}${color}
${goto 32}Время работы: ${alignr}${color2}${uptime}${color}
$stippled_hr
# |--CPU
${offset 1}${color0}${font Poky:size=16}P${color}${font}${voffset -4}${goto 32}CPU 1: ${font Droid Sans:style=Bold:size=8}${color1}${cpu cpu1}%${color}${font}${alignr}${color2}${cpugraph cpu1 8,100 C6B9A6 C6B9A6}${color}
${offset 1}${color0}${font Poky:size=16}P${color}${font}${voffset -4}${goto 32}CPU 2: ${font Droid Sans:style=Bold:size=8}${color1}${cpu cpu2}%${color}${font} ${alignr}${color2}${cpugraph cpu2 8,100 C6B9A6 C6B9A6}${color}


# |--MEM
${color0}${font Poky:size=16}M${font}${color}${goto 32}${voffset -7}RAM: ${font Droid Sans:style=Bold:size=8}${color1}$memperc%${color}${font}
${offset 1}${voffset 2}${color0}${membar 4,18}${color}${goto 32}${voffset -2}F: ${font Droid Sans:style=Bold:size=8}${color2}${memeasyfree}${color}${font} U: ${font Droid Sans:style=Bold:size=8}${color2}${mem}${color}${font}

# |--CPU
${voffset 2}${color0}${font Poky:size=14}s${font}${color}${voffset -8}${goto 32}SWAP: ${font Droid Sans:style=Bold:size=8}${color1}${swapperc}%${color}${font}
${voffset 4}${offset 1}${color0}${swapbar 4,18}${color}${voffset -4}${goto 32}F: ${font Droid Sans:style=Bold:size=8}${color2}$swapmax${color}${font} U: ${font Droid Sans:style=Bold:size=8}${color2}$swap${color}${font}

###############
# - NETWORK - #
###############
${voffset 4}${font Droid Sans:style=Bold:size=8}СЕТЬ $stippled_hr${font}
# |--WLAN0
${if_up wlan0}
${voffset -13}${color0}${font VariShapes Solid:size=14}q${font}${color}${goto 32}${voffset -6}Отправка: ${font Droid Sans:style=Bold:size=8}${color1}${upspeed wlan0}${color}${font} ${alignr}${color2}${upspeedgraph wlan0 8,50 C6B9A6 C6B9A6}${color}
${goto 32}Всего: ${font Droid Sans:style=Bold:size=8}${color2}${totalup wlan0}${color}${font}
${voffset -2}${color0}${font VariShapes Solid:size=14}Q${font}${color}${goto 32}${voffset -6}Приём: ${font Droid Sans:style=Bold:size=8}${color1}${downspeed wlan0}${color}${font} ${alignr}${color2}${downspeedgraph wlan0 8,50 C6B9A6 C6B9A6}${color}
${goto 32}Всего: ${font Droid Sans:style=Bold:size=8}${color2}${totaldown wlan0}${color}${font}
${voffset -2}${color0}${font Poky:size=14}Y${font}${color}${goto 32} ${voffset -2}Сигнал: ${font Droid Sans:style=Bold:size=8}${color1}${wireless_link_qual wlan0}%${color}${font} ${alignr}${color2}${wireless_link_bar 8,60 wlan0}${color}
${voffset 4}${color0}${font Poky:size=13}w${font}${color}${goto 32}${voffset -8}Локальный IP: ${alignr}${color2}${addr wlan0}${color}
${goto 32}Внешний IP: ${alignr}${color2}${execi 10 wget -O - -q icanhazip.com}${font}
# |--ETH0
${else}${if_up eth0}
${voffset -13}${color0}${font VariShapes Solid:size=14}q${font}${color}${goto 32}${voffset -6}Отправка: ${font Droid Sans:style=Bold:size=8}${color1}${upspeed eth0}${color}${font} ${alignr}${color2}${upspeedgraph eth0 8,60 C6B9A6 C6B9A6}${color}
${goto 32}Всего: ${font Droid Sans:style=Bold:size=8}${color2}${totalup eth0}${color}${font}
${voffset -2}${color0}${font VariShapes Solid:size=14}Q${font}${color}${goto 32}${voffset -6}Приём: ${font Droid Sans:style=Bold:size=8}${color1}${downspeed eth0}${color}${font} ${alignr}${color2}${downspeedgraph eth0 8,60 C6B9A6 C6B9A6}${color}
${goto 32}Всего: ${font Droid Sans:style=Bold:size=8}${color2}${totaldown eth0}${color}${font}
${voffset -2}${color0}${font Poky:size=13}w${font}${color}${goto 32}${voffset -4}Локальный IP: ${alignr}${color2}${addr eth0}${color}
#${goto 32}Внешний IP: ${execi 10 wget -O - -q icanhazip.com}${font}
# |--PPP0
${else}${if_up ppp0}
${voffset -13}${color0}${font VariShapes Solid:size=14}q${font}${color}${goto 32}${voffset -6}Отправка: ${font Droid Sans:style=Bold:size=8}${color1}${upspeed ppp0}${color}${font} ${alignr}${color2}${upspeedgraph ppp0 8,60 C6B9A6 C6B9A6}${color}
${goto 32}Всего: ${font Droid Sans:style=Bold:size=8}${color2}${totalup ppp0}${color}${font}
${voffset -2}${color0}${font VariShapes Solid:size=14}Q${font}${color}${goto 32}${voffset -6}Приём: ${font Droid Sans:style=Bold:size=8}${color1}${downspeed ppp0}${color}${font} ${alignr}${color2}${downspeedgraph ppp0 8,60 C6B9A6 C6B9A6}${color}
${goto 32}Всего: ${font Droid Sans:style=Bold:size=8}${color2}${totaldown ppp0}${color}${font}
${voffset -2}${color0}${font Poky:size=13}w${font}${color}${goto 32}${voffset -4}Локальный IP: ${alignr}${color2}${addr ppp0}${color}
${else}${voffset 4}${color0}${font PizzaDude Bullets:size=12}4${font}${color}${goto 32}Сеть недоступна${voffset 14}${endif}${endif}${endif}

#---POGODA---"
${voffset 0}${font Droid Sans:size=8:weight=bold}${color2}$alignc${execi 60 cat ~/.cache/pogoda/wheath.txt | sed '1!d'}${font}${color}
# В ..:..за окном:
${font Droid Sans:size=10:weight=bold}${color2}$alignc${execi 350 curl -s "http://wxdata.weather.com/wxdata/weather/local/RSXX1597?cc=*&dayf=10&unit=m" -o ~/.cache/pogoda/yahoo.xml}
# Скрипт bash подгрузка
${voffset 20}${execi 355 ~/.cache/pogoda/wheather.sh}
#Градусник значек
${voffset -50}${offset 0}${font Weather:size=50}y${color2}
#Вывод градусов через скрипт bash
${voffset -85}${offset 20}${font Droid Sans:size=20:weight=bold}${color1}${execi 60 cat ~/.cache/pogoda/wheath.txt | sed '3!d' | cut -b 25-29}С${font}${color}
#Ветер значек
${voffset -35}${offset 100}${color1}${font Weather:size=40}w
#Скорость ветра из скрипта bash
${voffset -60}${offset 130}${font Droid Sans:size=10:weight=bold}${color2}${execi 900 cat ~/.cache/pogoda/wheath.txt | sed '6!d'}
#Дальше идут строчки погоды текстовые
#Ощущается как:
${voffset 10}${font Droid Sans:size=8:weight=bold}${color2}${execi 900 cat ~/.cache/pogoda/wheath.txt | sed '4!d'}
#Направление ветра
${font Droid Sans:size=8:weight=bold}${color2}${execi 900 cat ~/.cache/pogoda/wheath.txt | sed '5!d'}
#Влажность
${font Droid Sans:size=8:weight=bold}${color2}${execi 900 cat ~/.cache/pogoda/wheath.txt | sed '7!d'}
#Давление
${font Droid Sans:size=8:weight=bold}${color2}${execi 900 cat ~/.cache/pogoda/wheath.txt | sed '9!d'}
#Видимость
${font Droid Sans:size=8:weight=bold}${color2}${execi 900 cat ~/.cache/pogoda/wheath.txt | sed '10!d'}
${font Droid Sans:size=8:weight=bold}${color2}
${execpi 300 python ~/.scripts/gmail.py}
$color

Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

| toZen |

  • Гость
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #13 : 20 Февраля 2016, 20:33:24 »
funk2256, как Вы так умудрились?  :idiot2:
${execpi 300 python ~/.scripts/gmail.py}
$color
Я же специально дал код, чтобы это была последняя строка в конфиге.
Уберите <&color> и сохраните.
Перезапустите коньки.
« Последнее редактирование: 20 Февраля 2016, 20:36:32 от τοΖεη »

Оффлайн funk2256

  • Автор темы
  • Активист
  • *
  • Сообщений: 431
  • Arch + Xfce
    • Просмотр профиля
Re: Скрипт Python для Conky ошибка при выполнении
« Ответ #14 : 20 Февраля 2016, 20:47:16 »
Ни чего не менется
funk@funk-HP-Pavilion-g6-Notebook-PC:~$ killall conky && conky
conky(3699): Операция не позволена
Conky: desktop window (160002a) is subwindow of root window (2df)
Conky: window type - normal
Conky: drawing to created window (0x2800001)
Conky: drawing to double buffer

Feci quod potui, faciant meliora potentes.(Я сделал всё, что смог, пусть те, кто смогут, сделают лучше)
Новичкам
Шпаргалка команд

 

Страница сгенерирована за 0.053 секунд. Запросов: 26.