Видео смотреть бесплатно

Смотреть фильмы бесплатно

Официальный сайт hauteecole 24/7/365

Смотреть видео бесплатно

10.02.10 21:37 smacker

СкриптыМои скрипты

Хочу поделиться несколькими скриптами, которыми пользуюсь сам. Тем более, что у нас неделя скриптов

1. Прогноз погоды от gismeteo.ru

forecast.rb:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#coding: utf-8
require 'net/http'
require 'xmlsimple'
require 'cgi'
require 'iconv'

tod = [ 'Ночь', 'Утро', 'День', 'Вечер' ]
cloudiness = [ 'ясно', 'малооблачно', 'облачно', 'пасмурно' ]
precipitation = { 4 => 'дождь', 5 =>'ливень', 6 => 'снег', 7 => 'снег',
                  8 => 'гроза', 9 => 'нет данных', 10 => 'без осадков' }

res = Net::HTTP.get(URI.parse 'http://informer.gismeteo.ru/xml/28440_1.xml')
xml = XmlSimple.xml_in(res, { 'ForceArray' => false })

city_name = Iconv.iconv('utf8', 'cp1251', CGI.unescape(xml['REPORT']['TOWN']['sname']))
xml['REPORT']['TOWN']['FORECAST'].each do |forecast|
    datetime = Time.utc(forecast['year'], forecast['month'], forecast['day'], forecast['hour'])
    strdate = datetime.strftime('%d %b %A')
    puts "#{strdate} #{tod[Integer(forecast['tod'])]}"
    puts "Температура: #{forecast['TEMPERATURE']['min']}..#{forecast['TEMPERATURE']['max']}"
    puts "Осадки: #{cloudiness[Integer(forecast['PHENOMENA']['cloudiness'])]} #{precipitation[Integer(forecast['PHENOMENA']['precipitation'])]}"
    puts
end


Результат работы скрипта кладётся в forecast.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
10 Feb Wednesday Вечер
Температура: -19..-21
Осадки: пасмурно без осадков

11 Feb Thursday Ночь
Температура: -16..-18
Осадки: пасмурно без осадков

11 Feb Thursday Утро
Температура: -14..-16
Осадки: пасмурно без осадков

11 Feb Thursday День
Температура: -12..-14
Осадки: пасмурно без осадков

Ну а этот файлик уже показывает мой awesome.

2. Температура за окном в данный момент: weather_gismeteo.sh
С того же gismeteo достаю текущую температуру.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash

CITY=$1

ping -c 1 -W 15 gismeteo.ru > /dev/null
if [ $? -ne 0 ]; then
    echo "N/A"
    exit 1
fi

wget -q -O /var/tmp/gismeteo_weather http://gismeteo.ru/city/daily/$CITY/0
DIG=`cat /var/tmp/gismeteo_weather | grep 'div class="deg"' | sed -r 's/<div class="deg">(.[0-9]+).*/\1/g' | tr -s \ `
echo "$DIG C"
rm /var/tmp/gismeteo_weather


Дальше ссылки на описание скриптов в моём блоге:

3. Rss с drive2.ru
4. Отправка sms через mail.ru агент

Надеюсь, кому-нибудь пригодится.


Теги:

digiwhite 10.02.10 21:45 # +0
Под cut, please :)
leonder 10.02.10 23:07 # +0
4. Отправка sms через mail.ru агент

Распаковал архив в ~/.local/
Сделал ссылку ln -s /home/leonder/.local/sms_send/send.py /home/leonder/bin/sendsms
Выполняю: smssend "[email protected]", "mypassmailru", "+71234567890", u"Text of test sms"
from: can't read /var/mail/optparse
/home/leonder/bin/smssend: line 7: syntax error near unexpected token `('
/home/leonder/bin/smssend: line 7: `parser = OptionParser()'
Такое впечатление, что автор скрипта ожидал подгружения какого-то другого парсера... Я вообще слабо понимаю, что там как, так что прошу пояснить.
smacker 10.02.10 23:18 # +2
Добавьте в send.py строчку
#!/usr/bin/python
если хотите запускать его напрямую. Потому что сейчас у вас он исполняется как bash скрипт. Или запускайте как python send.py

А optionparse это встроенный модуль питона.
leonder 10.02.10 23:38 # +0
Что ж вы так, саим-то не вписали... Спасибо, заработало. Странно только, сообщение дошло (мтс, +7910...), но в консоль кучу текста высыпало:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Traceback (most recent call last):
  File "/usr/lib/python2.6/asyncore.py", line 101, in readwrite
    obj.handle_read_event()
  File "/usr/lib/python2.6/asyncore.py", line 416, in handle_read_event
    self.handle_read()
  File "/home/leonder/.local/sms_send/mrimsmssender/core.py", line 149, in handle_read
    self.__parse_data()
  File "/home/leonder/.local/sms_send/mrimsmssender/core.py", line 170, in __parse_data
    self._parse_raw_packet(self._header,self._body)
  File "/home/leonder/.local/sms_send/mrimsmssender/core.py", line 196, in _parse_raw_packet
    self._workup_packet(mmp_packet)
  File "/home/leonder/.local/sms_send/mrimsmssender/core.py", line 369, in _workup_packet
    _ack['ackf'](status, **_ack['acka'])
KeyError: 'ackf'
ok!

leonder 11.02.10 00:01 # +0
А ещё не помешало бы доработать скрипт, вообще как, планируете?

На мой взгляд нужно научить скрипт разбивать длинный текст на строки по 60 символов (или сколько ограничение в sms?), нумеровать их и отправлять несколько смс подряд. А то сейчас оно тупо обрезает текст. Не считать же вручную символы...

Запоминание авторизации. Я для себя сделал alias sendsms='sendsms -l "email" -p "password"'.

Может быть, gui? Посадить програму в трэй, чтоб как местный переводчик гугловский на питоне?

Создайте пожалуйста отдельную тему в Howto`s про sms.
smacker 11.02.10 00:25 # +2
исходные тексты доступны - используйте, пишите.
send.py это просто пример показывающий как использовать библиотеку.
Лично я подключаю её к своим скриптам, которым нужно меня о чём-то уведомлять.

О чём писать в howto? О том как скрипт работает? По протоколу mail.ru агента, который доступен и который вы и так в сети можете почитать. Именно смс отправляются с помощью недокументированных функций. Практически весь код взят из mrim транспорта.
Это не единственный способ отправлять смс. Можно купить у сервис провайдеров нное колличество смс и отправлять через их API.
Можно отправлять через сайты операторов. Но там капча. Так что придётся её вводить либо руками, либо написать\где-то взять хороший алгоритм для её взлома.
Ну и наконец можно подключить старый сотовый телефон к компьютеру и отправлять смс с его помощью.
Если нужно отправлять смски только на свой номер, то можно это делать используя уведомления по смс в гугл календаре.
Все способы хорошо описаны в гугле.

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 141)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 2841 из 215 городов)
            Топ пользователей Топ блогов
            В сети: Zereal, ont, GalS, neol, drogginklim

            Новенькие: unknownDaemon, fed, HonAddenny, exl2003, Soulfriend
            welinux.ru
            увеличение груди - лучшие хирурги.

            Смотреть онлайн бесплатно

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн