Список языков и его обработка

Я вот подумал: представление языков в виде дерева не очень удобно, т.к. с поиском вхождения того или иного языка в список начинаются проблемы. Поэтому, довольно логичным шагом стало преобразовать список в первую нормальную форму, с ней будет работать проще всего. Текущий вид списка:

langs_info[:1]

Continue reading

Парсинг Wikipedia

Недавно с удивлением узнал о том, что Wikipedia – это не только ценный мех отличный источник информации, но еще и очень приличное API для доступа к этой самой отличной информации. Ну а там, где есть какое-то API, почти наверняка найдется Python библиотека к нему.

А вообще, затеял я все это дело ради того, что бы загрузить список языков программирования с Wikipedia и получить немного дополнительной информации по ним. Что удивительно, полностью подходящей мне библиотеки не нашлось, и пришлось писать небольшой патчик к библиотеки Wikipedia, благо на Python код пишется очень быстро. В примерах используется та версия, что лежит у меня на GitHub. Это вызвано тем, что мои изменения в основном репозитории библиотеки Wikipedia несколько видоизменили и теперь результат новых функций выглядит более читабельным, но бесполезным в моем случае, т.к. возвращает отформатированный текст, а не Markdown. Continue reading

Получение сертификатов сайта

Практически любая, сколь-нибудь не стандартная задача выливается в часы малопродуктивного гугления, что печалит. Сегодня я искал ответ на вопрос, как в OSX получить сертификаты сайта, с которым ты планируешь общаться по HTTPS. До кучи дело осложняется тем, что все должно работать не только напрямую, но и через прокси.
Если говорить о Windows, данная задача решается довольно просто, благодаря библиотеке WinHTTP (кажется, ее так звать) и функции WinHttpQueryOption с флагом WINHTTP_OPTION_SERVER_CERT_CONTEXT, но мне-то нужно решение для OSX! И оно было найдено, как и ожидалось, в дебрях очень любимой мной библиотеки cURL. Continue reading