LINUX.ORG.RU

Any Color You Like

 , ,


4

4

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

Если вдруг кто не в курсе что такое ACYL, вот рекламное видео.

★★★

Запилил пулл-реквест с маленькими фиксами в README (оформление, грамматика, по мелочам).

DeadEye ★★★★★
()
Ответ на: комментарий от DeadEye

грамматика

Да, этого немного не хватает, благодарю.

Worron ★★★
() автор топика

саундтрек неправильный, евпочя

lazyklimm ★★★★★
()
Ответ на: комментарий от t184256

Там есть десяток новых иконок, тех что мне не хватало. Ну а дальше открывайте issues наверно.

Вообще думал запилить вики с описанием как клепать новые иконки, альтернативы, фильтры (скрипты переписывались как раз с прицелом чтобы это все добавлялось динамически и не нужно было лезть в основной код). Но энтузиазма вылизывать проект который возможно никому не сдался не хватает. Так что хочу посмотреть есть ли еще кому это интересно.

Worron ★★★
() автор топика

Ща набигут пеподрочеры и будут рассказывать про сакральную важность пробелов, готовь игнорилку.

Ну и вообще хорошо бы описать принятый в проекте стиль и начать его придерживаться.

https://github.com/worron/ACYLS/blob/master/scripts/acyl.py#L88
https://github.com/worron/ACYLS/blob/master/scripts/common.py#L420

Двойной пробел

Goury ★★★★★
()
Ответ на: комментарий от Kilte

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

Во-первых, мой предшественник использовал табы. Все, любители PEP8 могут дальше не читать.

Во-вторых, мне удобней табы по ряду причин, и когда начал изучать питон старательно гуглил на тему нормальных аргументов за отступы пробелами. Так вот, нет ни хрена аргументов, одни ссылки на стандарты. Типичный тред индикатор, с одной стороны описания преимуществ, с другой крики «Так написано в скрижалях!». Ну это, если не считать доводы вида «я не отличаю отступы от выравнивания» и «мой говноредактор не может в табы».

В-третьих, переключиться с табов на пробелы можно всегда гарантированно одной командой. А вот обратно не факт (тут можно было бы провести философскую аналогию с прямым и обратным преобразованием говно-конфеты, но пожалуй не буду). Короче, перейти на пробелы никогда не поздно, как только откроется сакральный смысл их использования для отступов.

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

Worron ★★★
() автор топика
Ответ на: комментарий от Goury

Двойной пробел

Спасибо, поправлю. Интересно, инструменты для проверки стиля не заточенные на PEP8 вообще существуют в природе?

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

PEP8

Там в самом начале написано что если в проекте принят свой стиль то стиль проекта выше всех пепов.

нормальных аргументов

Один у них аргумент есть — когда кодят криворукие тупые обезъяны проще весь код перевести на пробелы чем объяснять каждому что не надо запихивать говно из своего говноредактора в каммит. Суть в том что стиль единый таки нужен и раз конфеты лепить у всех не получается — все конфеты перелепливаются в говно. Потому что говно получается у всех.

Goury ★★★★★
()
Последнее исправление: Goury (всего исправлений: 1)
Ответ на: комментарий от MLP_Fan

Кроме печати пробелов есть еще навигация по ним, копипаст, и ряд других нюансов.

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

Да, называются «пили свои скрипты для проверки сам».
Предлагаю не париться сильно и просто писать тесты.
А косяки со стилем исправлять по мере их обнаружения, благо на работу стиль не влияет.

Goury ★★★★★
()
Ответ на: комментарий от Psych218

Если хотя бы будут пользователи кроме меня уже хорошо. Возможно всплывут какие-то косяки.

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

Будет время — помогу тесты накидать.
Но в ближайшее время всё свободное время у меня на Нинамори уходит, там ещё много тестов нужно.

Goury ★★★★★
()
Ответ на: комментарий от Worron

И pep8, и pylint могут выборочно игнорировать правила.

А PEP8 все-таки следует соблюдать.

Deleted
()
Ответ на: комментарий от Goury

Было бы неплохо. В любом случае пока думаю пиление фич приостановить, таки написать вики и, возможно, пополнить базу иконок. К слову, что годного можно почитать по юнит тестам?

Worron ★★★
() автор топика

Вах! Годнота то какая! Добавил в избранное. Юзать буду точно, но позже. Сейчас у меня Lila icons pack, полный.

deep-purple ★★★★★
()
Ответ на: комментарий от Worron

что годного

А хрен его знает.
Главное в TDD не ударяйся, не нужно оно тебе.

Goury ★★★★★
()

скрипт написать дело такое,я сам правил скрипт последние годы и сижу со своим кривым-форком

нужно больше иконок-иконки рисовать дольше и сложнее чем писать скрипт правки цветов,более того-рисовать правильные иконки в svg оооочень долго и сложно

anonymous
()
Ответ на: комментарий от Worron

Мне наплевать на то, что должно использоваться в качестве отступов. Проблемы начинаются тогда, когда кто-то хочет законтрибьютить. Вместо того, чтобы оформить код по PEP8, разработчик вынужден тратить время на то, чтобы изучить правила оформления кода конкретного проекта и отформатировать код в соответствии с ними. Так и хочется спросить, кем авторы проекта себя возомнили? У многих редакторы настроены так, что табы заменяются на пробелы, автоматически добавляется пустая строка в конец файла и прочие мелочи. Надо перенастраивать ещё и редактор. Хотя эта проблема вроде решается через editorconfig, не знаю. Ну да это мелочи. Разумеется, на локалхосте можешь творить что угодно, но когда ты хочешь чтобы в твой проект контрибьютили, лучше следовать общепринятым рекомендациям.

Kilte ★★★★★
()

Годно,но мне больше нравится Awoken или Clarity

feodorow
()
Ответ на: комментарий от anonymous

рисовать правильные иконки в svg оооочень долго и сложно

Верно. Нюанс в том, что «правильных» иконок в этом паке довольно мало. Основная масса перегнаны из раста. Такие «грязные» иконки уступают по своим ТТХ, но клепать их можно как пирожки.

нужно больше иконок

Нужно. Но когда сидит один человек и думает какую иконку еще впихнуть - не особо продуктивно. Потом он бросает, и развитие останавливается на неопределенный срок, как было с оригиналом. Поэтому выложил на гитхаб. Идея такая что, приходит некто, открывает баг «нет иконки для моего любимого плеера», активные члены комьюнити по возможности иконку лепят. Главный минус идеи в том, что это комьюнити должно еще сформироваться.

Короче, пиши каких именно иконок не хватает, может я смогу сделать. Или смотри инструкцию выше и пробуй сам. Только так победим.

Worron ★★★
() автор топика
Ответ на: комментарий от Kilte

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

Да, именно так это и работает.

Например, проект использует Gtk Где.Имена.ПоройТакиеЧто.больше_одной_штуки_в_строку_не_влезает_в_принципе, придется усраться впихивая код в пеповские 80 символов. И пойти на такое чтобы будущим потенциальным коммитерам не пришлось настраивать свой редактор попахивает неадекватностью.

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

окей, тогда если позволишь такой совет:

  1. добавь в проект tox.ini с `max-line-length` и ексклудами в секции [flake8]
  2. в каждом файле держи modeline с настройками редактора (noexpandtab, textwidth как минимум)
  3. добавь Makefile с правилами test и lint

поверь, это очень упрощает жизнь контирьюторам. так же как и работающий test suite ;)

// для тестирования советую связку py.test и tox

val-amart ★★★★★
()
Последнее исправление: val-amart (всего исправлений: 1)
Ответ на: комментарий от Worron

мой говноредактор не может в табы

обычно говноредакторы не могут в отступы пробелами

В-третьих, переключиться с табов на пробелы можно всегда гарантированно одной командой. А вот обратно не факт

M-x tabify, M-x untabify

lazyklimm ★★★★★
()

А нафига ему гтк3? Оригинальная гуйня работала на втором.

Если бы я захотел пользоваться третьим, то сразу бы накатил надоевшую фаензу.

Bfgeshka ★★★★★
()
Ответ на: комментарий от lazyklimm

M-x tabify

Абсолютно бесполезно, если в коде есть выравнивание (привет, PEP8!). Можешь, например, рассказать как оно отработает по

# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

Worron ★★★
() автор топика
Ответ на: комментарий от Bfgeshka

А нафига ему гтк3? Оригинальная гуйня работала на втором.

Переход на свежие версии тулкита как естественный процесс развития.

Если бы я захотел пользоваться третьим, то сразу бы накатил надоевшую фаензу

Ничего не понял.

Worron ★★★
() автор топика
Ответ на: комментарий от Deleted

Там в описании есть: Gilead - Spielmanntanz.

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

А мне нравится вот так выравнивать:

foo = long_function_name(
  var_one,
  var_two,
  var_three,
  var_four
)

Но всё-равно есть случаи когда оно бесполезно.

Goury ★★★★★
()
Ответ на: комментарий от Worron

Можешь, например, рассказать как оно отработает по

отлично отработало

выравнивание

прозреваю типичного таболюба, который использует говноредактор

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

да, кстати, таболюбы обычно забывают, что отступы никто(ну, кроме совсем упоротых) клавишей пробел не отстукивают

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

отлично отработало

Заканчивай клоунаду. Там количество пробелов не кратно четырем, такое в табы в принципе не преобразовывается.

прозреваю типичного таболюба, который использует говноредактор
прозреваю

Мог бы не напрягать прозревалку и просто заглянуть в профиль. Тоже использую emacs, но не пытаюсь понтоваться.

отступы никто(ну, кроме совсем упоротых) клавишей пробел не отстукивают

Вау, сакральное знание. А я то постоянно сидя в pyhton-mode и не догадался. Нет, ты серьезно этим сейчас пытался блеснуть?

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

такое в табы в принципе не преобразовывается.

Convert multiple spaces in region to tabs when possible.
A group of spaces is partially replaced by tabs

Кстати да, ещё один минус табов - подобный код красиво не выравнивается.

Нет, ты серьезно этим сейчас пытался блеснуть?

Нет, искренне хотел поделиться инфой. Просто по моему скромному опыту заметная часть спейсохейтеров считает, что пробельщики набивают пробелы вручную.

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

when possible

Это и было исходной мыслью. Код на табах переводится в пробелы всегда легко и безусловно. Пробелы в табы только when possible.

Кстати да, ещё один минус табов - подобный код красиво не выравнивается

В нормальных языках можно использовать правило: табы для отступов, пробелы для выравнивания. Но так как у питона свой особый путь, остается только использовать способ как выше в посте Goury. Может немного проигрывает в плане эстетики, но все равно вполне приемлемо.

Worron ★★★
() автор топика
Ответ на: комментарий от lazyklimm

подобный код красиво не выравнивается

Он не выравнивается только у кривожопых говнокодеров, у которых мозгов не хватает понять зачем нужны разные символы для отступов и для выравнивания

Goury ★★★★★
()
Ответ на: комментарий от Worron

А вот не надо гнать ни на мой способ ни на особый путь.
Питон прекрасно воспринимает нормальное выравнивание, в том числе с отступами табами перед выравнивающими пробелами.
Ограничение у него только на функциональное выравнивание.

Работает отлично:
https://bitbucket.org/mlug/ninamori/src/a2404bf35f502ff480a4783be338d79a0ce49...

Goury ★★★★★
()
Последнее исправление: Goury (всего исправлений: 1)
Ответ на: комментарий от lazyklimm

Почему бы и нет, если на данном этапе именно так и видится оптимальным.

Worron ★★★
() автор топика
Ответ на: комментарий от Goury

А вот не надо гнать ни на мой способ ни на особый путь.

Нет никакого гона. Я сам делаю так

result = some_function_that_takes_arguments(
--->'a', 'b', 'c',
--->'d', 'e', 'f',
)

Ограничение у него только на функциональное выравнивание.
Работает отлично:

А вот это уже открытие. Утверждение «смешивать табы и пробелы запрещено» до этого воспринимал буквально.

Worron ★★★
() автор топика
Ответ на: комментарий от Worron

Смешивать табы и пробелы в отступах запрещено.
Отступить табами и довыровнять пробелами — тривиальный шаг.
Правила оч простые:
1. Блок кода должен быть отступлен табами на нужный уровень индентации
2. Выравнивать надо пробелами
Ничто не запрещает на одной строчке иметь индентацию и выравнивание одновременно.

Goury ★★★★★
()
Ответ на: комментарий от Worron

В нормальных языках можно использовать правило: табы для отступов, пробелы для выравнивания.

Но зачем усложнять, если можно использовать только пробелы? Код выглядит у всех одинаково, никаких разночтений, можешь хоть один минус назвать?

lazyklimm ★★★★★
()
Ответ на: комментарий от Goury

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

ручное выравнивание вообще не нужно, я жму у себя на клавиатуре клавишу индентации и она вставляет чего и сколько нужно в данном контексте

lazyklimm ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.