@ru_python

Страница 5886 из 9768
Eldar
10.07.2018
18:42:12
прочитай правила чата и оформи как надо

[Anonymous]
10.07.2018
18:45:19
#работа Тип: удаленный единоразовый проект Бюджет: до 10к Требуется написание админки, которая будет содержать адреса кошельков. В админку они добавляются вручную. К каждому кошельку требуется поле с комментарием, какому ученику он принадлежит. При изменении баланса кошелька или токенов необходимо уведомление в телеграм или на почту. Авторизация в админку нужна нормальная. По сути это будет таблица без пагинации с возможностью поиска по ней и кроном для проверки баланса кошельков через апи etherscan

Bogdan (SirEdvin)
10.07.2018
18:45:20
Те же dataclass, когда используется код в таком стиле: from dataclasses import dataclass, field @dataclass class C1: x: int = field() Конкретно тут, field явно не содержит тип int, но dataclass внутри подменяет все так, что переменная все равно окажется типа int. А mypy такое научить парсить на данный момент можно только прямо в его коде)

Google
Bogdan (SirEdvin)
10.07.2018
18:46:13
Для attrs тоже специальные костыли впиливали: https://github.com/python/mypy/blob/master/mypy/plugins/attrs.py

Просто какой-то ад, честное слово

Denis
10.07.2018
18:46:30
А общий костыль для датаклассов не?

Bogdan (SirEdvin)
10.07.2018
18:46:53
Ну, один костыль для dataclass, второй для attrs. Для каждой либы - свой костыль)

Ну и отказываются делать хоть какую-то систему плагинов: https://github.com/python/mypy/issues/1240#issuecomment-308392810

Denis
10.07.2018
18:47:29
Заставить авторов либ самих писать для них костыли, если хотят mypy

Bogdan (SirEdvin)
10.07.2018
18:49:29
Как минимум, проблема в том, что для этого нет подхода) Вот мне предлагают конфигурить mypy и заставлять его лоадить плагин)

Denis
10.07.2018
18:52:11
Ну и забей на эти типы

Donaudampf
10.07.2018
18:52:44
так это же проблема mypy, не аннотаций

Bogdan (SirEdvin)
10.07.2018
18:53:36
У меня просто была идея перевести orm с x = IntField на x: int как в датаклассах. Вот и вылезло все это добро. И опять же, если mypy с этим не работает, то нужны ли такие аннотации?

Donaudampf
10.07.2018
18:53:49
аннотации типов - это комментарии, чтобы не писать портянки Inputs:... Return:... в докстрингах, если из них пытаются сделать чего-то большее - ну пусть страдают

Jentry
10.07.2018
18:54:42
У меня просто была идея перевести orm с x = IntField на x: int как в датаклассах. Вот и вылезло все это добро. И опять же, если mypy с этим не работает, то нужны ли такие аннотации?
Да просто отключай линтер на эти строчки и все. Если следовать всем замечаниям линтера, то твой код станет описывать все проблемы линтнеров, которых немало

Denis
10.07.2018
18:54:47
Google
Nikolay
10.07.2018
18:54:54
если твой код ему соответствует - все окей

если нет - надо исправлять

все остальные ошибки ловит пичарм

Jentry
10.07.2018
18:55:55
flake8 это высокуровнево, pylint плагинами много всего включает

Bogdan (SirEdvin)
10.07.2018
18:56:08
В орм часто хочется указать дополнительные параметры полю, с интом это будет непрактично как-то
Так же, как в dataclass, есть класс Field, который можно использовать так: x: int = Field(secondary_index=True), например

Nikolay
10.07.2018
18:56:27
flake8 это высокуровнево, pylint плагинами много всего включает
ну, в большинстве случаев этого достаточно

иначе начинается уже микрооптимизация

Bogdan (SirEdvin)
10.07.2018
18:56:35
все остальные ошибки ловит пичарм
Но ведь он ловит это тоже через type annotation)

Nikolay
10.07.2018
18:56:44
Jentry
10.07.2018
18:57:02
ну, в большинстве случаев этого достаточно
Я тебя разочарую, но проверка на pep8 совершенно ничего не дает, кроме того, что код выглядит красиво

Bogdan (SirEdvin)
10.07.2018
18:57:13
Ну, помимо того, что у него там своя реализация и из-за отсутствия стандартизации для обходов, она работает еще хуже, чем mypy

Nikolay
10.07.2018
18:57:30
Я тебя разочарую, но проверка на pep8 совершенно ничего не дает, кроме того, что код выглядит красиво
не разочаруешь. Просто если этот код эту проверку не проходит - то он непригоден для командной работы

Bogdan (SirEdvin)
10.07.2018
18:57:37
Ну и в чем проблема убрать этот инт?
Ни в чем, оно сейчас и так работает. Хотелось что бы на ORM модели заработал type annotation. Но не судьба, судя по всему.

John
10.07.2018
18:57:47
как удалять строки в csv файлах ?

Nikolay
10.07.2018
18:57:50
а для остальных кейсов должны писаться тесты в идеальном мире

Denis
10.07.2018
18:58:20
Ни в чем, оно сейчас и так работает. Хотелось что бы на ORM модели заработал type annotation. Но не судьба, судя по всему.
Выглядит как что-то не очень полезное. Все равно автокомплит и тайпчеки без костылей не заработают

Bogdan (SirEdvin)
10.07.2018
18:59:10
Ну, в случаях, когда можно нормально вывести тип, то вполне работает. А в случае dataclass как раз можно отлично вывести тип, главный завтык в mypy и других чекерах.

Google
John
10.07.2018
19:00:41
грепом
Ладно, ну нах. Открыл в блокноте и удалил. Все равно только 1-ю строку удалить требовалось

Denis
10.07.2018
19:00:47
Если этим датаклассом пользоваться как моделью в орме, после после пары фильтров и агрегаций станет сложно

Aragaer
10.07.2018
19:01:12
sed -i 1d

Nikolay
10.07.2018
19:01:16
но если тебе мешал заголовок - то ты неправильно используешь pandas

Jentry
10.07.2018
19:01:35
не разочаруешь. Просто если этот код эту проверку не проходит - то он непригоден для командной работы
Лучше все линтеры в пайплайн объединять на самом деле. Мой пойнт в том, что они дают сбой и не нужно искать обходные пути в этом случае - нужно ставить исключения и подсказывать линтеру пропустить

Nikolay
10.07.2018
19:01:37
а если ты не используешь pandas - есть серьезное подозрение, что ты неправильно работаешь с csv

Bogdan (SirEdvin)
10.07.2018
19:02:29
Если этим датаклассом пользоваться как моделью в орме, после после пары фильтров и агрегаций станет сложно
Ну, потому что тип агрегации сложно вывести, но когда будешь работать с полями самой записи - как раз сильно поможет

Nikolay
10.07.2018
19:02:53
Лучше все линтеры в пайплайн объединять на самом деле. Мой пойнт в том, что они дают сбой и не нужно искать обходные пути в этом случае - нужно ставить исключения и подсказывать линтеру пропустить
я понимаю твою точку зрения, но как по мне - надо либо вообще линтерами пользовать по-минимуму, либо соблюдать их рекомендации. Людей, которые на отдельных строчках отключают проверку pep8 (или отключают проверку определенных моментов в нем) иногда хочется лично придушить

нельзя быть "немножко по pep8"

Jentry
10.07.2018
19:03:59
как минимум можно увеличить длину строки и в этом нет проблем на современных устройствах

Nikolay
10.07.2018
19:04:20
но не нужно, ибо гораздо проще на том же мониторе просто открыть файлы в две колонки

Nikolay
10.07.2018
19:04:26
или в три

Jentry
10.07.2018
19:04:55
ага, и три клавиатуры

Nikolay
10.07.2018
19:05:28
одна с шорткатом прыгания по буферам

как будто проблема

Bogdan (SirEdvin)
10.07.2018
19:08:58
нельзя быть "немножко по pep8"
Что выберете W503 или W504?) Одну из них надо отключить, что бы иметь возможность разделать строками бинарные операторы.

Denis
10.07.2018
19:11:11
20 вложенных ифов?

Bogdan (SirEdvin)
10.07.2018
19:12:01
Учитывая, что pep8 строго ничего не запрещает - такого вообще нет

Google
Bogdan (SirEdvin)
10.07.2018
19:12:08
Я больше про pycodestyle

Nikolay
10.07.2018
19:12:31
20 вложенных ифов?
это надо прокладку между креслом и монитором менять тогда

Я больше про pycodestyle
ну, если между людьми в команде всерьез возникает срач, на какой строке делать переносы - эти люди занимаются чем-то не тем

и да, я помню про 1tbs

Denis
10.07.2018
19:13:33
это надо прокладку между креслом и монитором менять тогда
При кодогенерации и не такое может быть

Nikolay
10.07.2018
19:13:51
При кодогенерации и не такое может быть
назови пример, когда надо кодогенерировать питон

я вот что-то навскидку не приведу даже

Admin
ERROR: S client not available

Bogdan (SirEdvin)
10.07.2018
19:14:09
grpc?

Nikolay
10.07.2018
19:14:35
в протобафе никто не заставляет тебя генерировать код, можно самому то же самое написать компактнее

Aragaer
10.07.2018
19:14:43
а зачем линтером проверять сгенеренный код?

и зачем вообще читать сгенеренный код?

Jentry
10.07.2018
19:15:13
в протобафе никто не заставляет тебя генерировать код, можно самому то же самое написать компактнее
если ты собрался протобаф писать врапперы, тогда точно пора менять прокладку)

Nikolay
10.07.2018
19:15:17
LR-парсер, например
во-первых, не вижу, что там генерировать. Во-вторых, где это реально нужно в продакшене?

если ты собрался протобаф писать врапперы, тогда точно пора менять прокладку)
не, я просто messagepack/thrift заюзаю, но вообще там классы генерируются, и наверняка pep8 там соблюдается

Ляман
10.07.2018
19:18:59
https://a-parser.com/?gclid=CjwKCAjwspHaBRBFEiwA0eM3kVivH70vOetlPepeXnLpIWFvDGWwQ5JgmA6r9LjrygiNgcRHAbt0NhoCVCoQAvD_BwE т Такой софт на питоне написать можно?

Nikolay
10.07.2018
19:19:18
почему бы и нет

Google
Denis
10.07.2018
19:19:36
Можно, но грешно

Ляман
10.07.2018
19:19:41
Можно, но грешно
Почему грешно?

Denis
10.07.2018
19:20:00
Сео вообще сатана придумал

Nikolay
10.07.2018
19:20:02
Почему грешно?
бохнакажэт

Ляман
10.07.2018
19:20:12
Ляман
10.07.2018
19:20:30
if self.Button4.configure(cnf=None): size_xlarge(driver) if self.Button3.configure(cnf=None): size_large(driver) def size_large(driver): select = Select(driver.find_element_by_xpath('//*[@id="size"]')) select.select_by_visible_text('Large') def size_xlarge(driver): select = Select(driver.find_element_by_xpath('//*[@id="size"]')) select.select_by_visible_text('XLarge') Почему условия не выполняются?

Ляман
10.07.2018
19:22:50
а что возвращает .configure()?
Смотри если жмут на 3 кнопку(Button3), то self.button3.configure(cnf=None), и если нажали то выполняется это условие и с 4 кнопкой всё так же, но всё время выполняется только 2 условие (size_xlarge)

Я не догоняю почему уже 2 день

Nikolay
10.07.2018
19:23:43
у тебя условия не взаимоисключающие как минимум, там нет else

но не знаю, так непонятно

Jl
10.07.2018
19:24:19
jellywill@jellywill-System-Product-Name:~/Документы/DataBase$ mysqldump -u root -pjellywill comicsDB.sql > comicsDB.sql mysqldump: [Warning] Using a password on the command line interface can be insecure. mysqldump: Got error: 1049: Unknown database 'comicsDB.sql' when selecting the database

Ляман
10.07.2018
19:24:41
но не знаю, так непонятно
Обработка кликов: def disable_fst(event): self.Button4.configure(cnf=None) self.Button1.configure(state="disabled") self.Button2.configure(state="disabled") self.Button3.configure(state="disabled") def disable_fsf(event): self.Button3.configure(cnf=None ) self.Button1.configure(state="disabled") self.Button2.configure(state="disabled") self.Button4.configure(state="disabled") Бинды работают if self.Button4.configure(cnf=None): size_xlarge(driver) if self.Button3.configure(cnf=None): size_large(driver) def size_large(driver): select = Select(driver.find_element_by_xpath('//*[@id="size"]')) select.select_by_visible_text('Large') def size_xlarge(driver): select = Select(driver.find_element_by_xpath('//*[@id="size"]')) select.select_by_visible_text('XLarge')

Nikolay
10.07.2018
19:25:07
посмотри внимательно на команду

Jl
10.07.2018
19:26:23
Сорь, всёравно не выкупаю

Nikolay
10.07.2018
19:26:45
Сорь, всёравно не выкупаю
у тебя имя таблицы "comicsDB.sql"?

Страница 5886 из 9768