Показаны сообщения с ярлыком python. Показать все сообщения
Показаны сообщения с ярлыком python. Показать все сообщения

пятница, 30 июля 2010 г.

Python: Генератор ipfilter.dat для uTorrent

Начал изучать Python, а т.к. на практике дело движется веселее и имеется потребность в генерации свежих фильтров для uTorrent'а, начал писать генератор ipfilter.dat из имеющегося списка подсетей.

Есть несколько специфических особенностей генератора:

1. Адреса и маски подсетей хранятся в двоичном формате. Это было сделано для удобства отладки.

2. Т.к. данные в двоичном виде в питоне, на самом деле, хранятся в виде строки, то с этим возникают некоторые проблемы. Для произведения математических операций приходится преобразовывать в int. Например для получения следующего ip адреса приходится городить такую конструкцию bin2ip(bin(int(File[i][1],2) + 1)). С шестнадцатиричным ещё не разбирался, если он храниться не ввиде строки, то переведу на него. Тем более нет большой разницы в преобразовании ip адреса из bin'а или hex'a, бъём строку на 4 подстроки, которые преобразуем в числа.

3. Первоначально в регэкспе на парсинг диапазона вида: xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy, между адресом и маской стоял пробел, который в последствии заменил на \s+, ибо попалась запись в которой разделителем была табуляция.

Сырцы, как обычно на googlecode

P.S. Если есть конструктивные замечания и предложения по коду, буду рад услышать и обсудить.

воскресенье, 20 июня 2010 г.

GoogleCL - консольная утилита для сервисов Google

Google анонсировала консольную утилиту для работы со своими сервисам.

Подерживаются Blogger, Calendar, Contacts, Docs, Picasa и Youtube.

Примеры команд

Blogger

  • google blogger post --tags "GoogleCL, awesome" --title "Test Post" "I'm posting from the command line"
  • google blogger post blogpost.txt
  • google blogger list title,url-site # List posts
  • google blogger delete --title "Test Post"
  • google delete --title "Silly post number [0-9]*" # Delete posts matching regex
  • google tag --title "Dev post" --tags "Python, software" # label an existing post

Calendar

  • google calendar add "Dinner party with George today at 6pm" # add event to calendar
  • google calendar today # List events for today only.
  • google calendar list --date 2010-06-01,2010-06-30 # List events.
  • google calendar delete --title "Dinner party with George" # Delete an event.

Contacts

  • google contacts add "J. Random Hacker, jrandom@example.com"
  • google contacts list name,email --title "J. Random Hacker"
  • google contacts delete --title "J. Random Hacker"

Docs

  • google docs delete --title "Evidence"
  • google docs list title,url-direct --delimiter ": " # list docs
  • google docs upload the_bobs.csv ~/work/docs_to_share/*

gdata-python-client >= 1.3.0 ONLY

  • google docs edit --title "Shopping list" --editor vim
  • google docs get --title "Homework [0-9]*"

Picasa

  • google picasa create --title "Vermont Test" --tags Vermont vermont.jpg
  • google picasa get --title "Vermont Test" /path/to/download/folder
  • google picasa list title,url-direct --query "A tag"
  • google picasa post --title "Vermont Test" ~/old_photos/*.jpg # Add to an album
  • google picasa tag --title "Vermont Test" --tags "places"
  • google picasa delete --title "Vermont Test" # delete entire album

Youtube

  • google youtube post --category Education --devtags GoogleCL killer_robots.avi
  • google youtube delete --title "killer_robots.avi"
  • google youtube list # list my videos
  • google youtube tag -n ".*robot.*" --tags robot

P.S.: Установка GoogleCL под WinXP [eng]

P.P.S.: У меня заработало, но есть проблемы с отображением unicode в виндозной консоле.

Авторизация в сервисах Google происходит через браузер установленный по умолчанию, но можно в конфиге указать любой другой, через который будет происходить авторизация

Свой конфигурационный файл я обнаружил: c:\Documents and Settings\%user_name%\.googlecl\config

вторник, 7 октября 2008 г.

Ruby vs. Python

Уже несколько месяцев стояла дилемма: "Изучать ruby или нет?"
Недавно решил, что всё-таки стоит, ибо знания лишними не бывают, особенно знания языков программирования.

Сейчас идёт этап сбора информации по языку и скачиванию литературы. Далее начнётся переваривание скачанного/прочитанного.

Пока продолжается изучение python'а, который пришлось почти на год забросить в связи со сменой рода деятельности. Хотя как показала практика политтехнологам полезно знать азы программирования хотя бы на visual basic для office.

На данный момент вижу больше практического применения python'a в качестве костыля для OpenOffice, точнее даже не костыля, а скорее инструмента для выполнения внешней обработки данных.