← All posts tagged Python

masai

Я слоупок. Внезапно узнал, что pycharm не умеет считать всякие метрики и даже не показывает, сколько LoC в проекте. Какой утилитой для подсчёта статистики сейчас модно пользоваться, чтобы прокрутить её к IDE?

masai

Продолжение #2098764. Каким-то образом я сделал-таки нормальный пакет. Но, как бы это помягче сказать, не через парадный вход.
Вот для python2 при рабочем setup.py пакет сделать — как два байта переслать. Почему для python3 такие сложности? Или я просто не понял что-то, а там всё просто и логично на самом деле?

masai

Сдуру написал одну программку на третьем питоне (решил выпендриться), а теперь не могу deb-пакет собрать, так как все эти debhelper’ы под второй питон заточены. И, как я понял, в Debian минимум год в курсе проблемы (#597105), но что-то не особо чешутся исправлять. И вообще, у них это даже не баг. «Severity: wishlist»
Все советы сводятся к изготовлению костылей разной длины и окрашенности. Проще плюнуть и переписать под второй питон всё.

masai

По аналогии с import this, предлагается сделать в NumPy свой Zen с го и гейшами → technicaldiscovery.blogspot.com :
Strided is better than scattered
Contiguous is better than strided
Descriptive is better than imperative (use data-types)
Array-oriented is often better than object-oriented
Broadcasting is a great idea — use where possible
Vectorized is better than an explicit loop
Unless it’s complicated --- then use numexpr, weave, or Cython
Think in higher dimensions

masai

Говорила мне мама^U Знаю же, что надо сначала проектировать, а потом кодить. Так нет же, сел программировать даже на бумажке диаграммку классов не нарисовав и теперь рефакторю всё и вся.
Спасибо ropemacs, переименовать метод по всему проекту проще простого.

masai

Сделал из c-yamrsa бинарный модуль для питона, но, млин, этот yamrsa сегфолтится при неправильном ключе и валит весь питон. Придётяс утилитку дебаггером ещё прошерстить. Хотя, если ключ правильный, то всё ОК.

masai

Пишу библиотечку для заливки фоток на Яндекс.Фотки. Конечно, скриптов для этого пруд-пруди, есть даже целый «Виртуальный диск Яндекс.Фотки» (http://habrahabr.ru/blogs/i_am_advertising/106564/). Но что может быть приятнее велосипедостроения? К тому же хочется именно библиотечку, чтоб потом встраивать куда попало.
Вначале думал, что за полчасика разберусь. Ага! У них там даже для аутентификации нестандартный RSA используется. Библиотечка на C++ прилагается.
Причем, с первого раза не скомпилировалась, т.к. g++ не нашёл strcmp в stdio.h. И, в общем-то, был прав. Пришлось дописывать #include <cstring>. Больше косяков не было Получилась консольная утилитка, которой надо скармливать открытый ключ яндекса, а она будет шифровать пароль и имя пользователя.
Библиотечку решил набросать на Python, так что теперь думаю, сделать из утилитки pyd, переписать её на Python или забить на всё и вызывать утилитку из скрипта. (Есть ещё вариант — использовать заранее зашифрованную пару логин-пароль, но тогда для других логинов и паролей библиотека работать не будет.)

masai

В догонку к #1026463. time.timezone и time.altzone — это просто сдвиги относительно UTC. Официальный и для летнего времени соответственно. Узнать, какой из них используется, можно по полю tm_isdst выдачи time.localtime(). Python оправдан, гуглу и docs.python.org объявляется устная благодарность, @werehuman — письменная за внимательность.