amarao (amarao_san) wrote,
amarao
amarao_san

json4shell

Пост на хабре (http://habrahabr.ru/post/102072/) мне придал какой-то заряд энтузиазма, и я его начал писать уже с мыслью таки-дописать.

Что точно поменяется:
1) Потоковый json вместо json.load()
2) Синтаксис вызова (команда будет определяться через argv[0] и симлинки в fs), соответственно, будут короткие имена (вместо json4shell object-keys будет jkeys)
3) обработка ошибок и параметров командной строки.
4) несколько json'ов подряд будут приниматься как один array (список) из соответствующих элементов.

Что точно нужно и чего нету:
Толкового питониста для контроля вменяемости кода. На юнит-тесты меня частично хватило (и хватит на все), но я пока что пишу без классов (кроме мест, где я их использую по необходимости от модулей), явно грубо. И я явно пишу не в "высоком стиле", хотя на pep8 меня так же хватило (всего-то 150 варнингов на 100 строк было).

Завтра я приделаю pip-часть. Как раз сейчас на работе разбираюсь с культурной дебианизацией питоновых пакетов, по мотивам напишу и тут что-то подобное.

В принципе, оно уже начинает если не радовать глаз, то по крайней мере показывать путь.

echo [1,2,3,4,5]|./json4shell array-shuffle|./json4shell array-enumerate
{0: 3, 1: 5, 2: 4, 3: 2, 4: 1}
Tags: json, json4shell, programming, python
Subscribe

  • ансибло-философия

    А вот я хочу продолжить думать умное про ансибл, ci/cd и прочую рабочую фигню между гитом и сервером. Классическое программирование стремится…

  • positive nagging

    Для повышения морали в коллективе было решено запретить токсичные и негативные сообщения в чате. Теперь все сообщения в чате выглядят так: Resolved…

  • Шли годы, а я учусь башу.

    Офигеть. Офигеть. echo <(echo hello) foobar /dev/fd/63 foobar Я этого честно не знал. Я знал, что в конце можно, а что можно в середине -…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments