
Toolkit
09.01.2019
12:53:25
и, да
я изучаю функции
но у меня траблы со структурой
поэтому и прошу помощи

Google

Terminator
09.01.2019
12:54:21
@Valery11 будет жить. Поприветствуем!

Проксимов
09.01.2019
13:01:13

Terminator
09.01.2019
13:01:19
@SergeyTheGod будет жить. Поприветствуем!

Сергей
09.01.2019
13:02:27
но у меня траблы со структурой
Начать нужно с того, чтобы избавится от реально излишних функций. Для чего нужны функции? 1) Чтобы не повторять одинаковые куски кода. 2) Чтобы разделить код на смысловые блоки.
Менять простой input на целую функцию (тем более отдельную для каждого ввода) не нужно - это абсолютно бессмысленная затея. Дальше... у тебя нет ни одной функции с параметрами. Почитай, для чего они нужны. И если ты хочешь получить результат работы функции, то либо она сама должна его печатать (что не очень правильно), либо возвращать, а ты с этим результатом уже сам решаешь, что делать.


❤️ Yaroslav
09.01.2019
13:55:25
def update_priorities(model, start, end, select=lambda x, y: x.objects, selection_arg=None, minus=False):
print(f"start {start}")
print(f"end {end}")
print(f"minus {minus}")
if end:
seq = select(model, selection_arg).filter(priority__gte=start).exclude(priority__gte=end+1).order_by('-priority')
else:
seq = select(model, selection_arg).filter(priority__gte=start).order_by('-priority')
print(f"seq {str(seq)}")
for entity in seq:
if minus:
entity.priority -= 1
model.save(entity)
else:
entity.priority += 1
model.save(entity)
я могу делать select(model, selection_arg) при дефолтном селекте и селект_аргументе?
падает по Exception Value:
too many values to unpack (expected 2)

Denis
09.01.2019
13:57:14

Terminator
09.01.2019
13:58:47
@PickleRickes будет жить. Поприветствуем!

❤️ Yaroslav
09.01.2019
14:29:19
В какой строке?
тут
print(f"seq {str(seq)}")
вот сам селект
select(model, selection_arg).filter(priority__gte=start).order_by('-priority')
после лямбды будет такой
Category.objects.filter(priority__gte=start).order_by('-priority')

Tishka17
09.01.2019
14:30:05

❤️ Yaroslav
09.01.2019
14:30:30

Владимир
09.01.2019
14:33:29
лучше покажи что ты в стр засовываешь

❤️ Yaroslav
09.01.2019
14:34:19

Google

Sfy
09.01.2019
14:35:01
https://pastebin.com/aA1kp1Uu
Это приемлимый стиль форматирования длинных строк?

Владимир
09.01.2019
14:35:23
ох, убери лямбду из значений по умолчанию, это порнография

❤️ Yaroslav
09.01.2019
14:35:54

Tishka17
09.01.2019
14:36:56
то есть записей

А
09.01.2019
14:37:09
Как не быть быдло кодером?

Владимир
09.01.2019
14:37:11

Tishka17
09.01.2019
14:37:12
типа fetch_all что-то
хз как оно в джангеё

❤️ Yaroslav
09.01.2019
14:37:39

Sfy
09.01.2019
14:38:14

Владимир
09.01.2019
14:38:33

noName
09.01.2019
14:38:53

❤️ Yaroslav
09.01.2019
14:39:28
могут быть разыне селекты, вынес в одну ф-цию и поставил параметр, в чём проблема?

Владимир
09.01.2019
14:40:55
? лямбда это обычная переменная же
update_priorities(model, start, end, select=lambda x, y: x.objects, selection_arg=None, minus=False)
Посмотри внимательно. Ты можешь просто передать objects. Код станет чище, обобщенности твоей это не нарушит
Что касается почему падает — поставь breakpoint, да посмотри почему и что не распаковывается

❤️ Yaroslav
09.01.2019
14:41:21
может быть
@staticmethod
def update_priorities(start, end, selection_arg, minus=False):
update_priorities(Video, start, end, select=lambda videos, c: videos.objects().filter(category=c), selection_arg=selection_arg, minus=minus)
,
а может быть
@staticmethod
def update_priorities(start, end, minus=False):
update_priorities(Category, start, end, select=lambda x, y: x.objects, minus=minus)
там в любом случае кверя, где-то есть фильтр, а где-то нету, как тут без лямбды?

Владимир
09.01.2019
14:45:01

Google

❤️ Yaroslav
09.01.2019
14:46:26

Владимир
09.01.2019
14:47:26

❤️ Yaroslav
09.01.2019
14:48:04
и да, падает даже это
seq = Category.objects.filter(priority__gte=start).order_by('-priority')

Владимир
09.01.2019
14:49:03

❤️ Yaroslav
09.01.2019
14:49:46

Владимир
09.01.2019
14:50:11

❤️ Yaroslav
09.01.2019
14:50:22

Anton
09.01.2019
14:50:40
ребят подскажите кто юзал drf+jwt как генерировать токен по емайлу, я его потом ссылкой отправлять на почту

Владимир
09.01.2019
14:50:50

❤️ Yaroslav
09.01.2019
14:50:51
как обобщить простой селект вообще без аргуметов и селект с фильтром
фильтр не должен вообще вызываться в первом случае

Владимир
09.01.2019
14:51:37

❤️ Yaroslav
09.01.2019
14:52:36
даже не знаю что лучше
да лямбда это обычный параметр, не понимаю чем он плох

Владимир
09.01.2019
14:53:09

❤️ Yaroslav
09.01.2019
14:56:35
в любом случае падает Category.objects.all().filter(priority__gte=start).order_by('-priority')

Владимир
09.01.2019
14:56:36

Google

❤️ Yaroslav
09.01.2019
14:57:23

Владимир
09.01.2019
14:58:05

❤️ Yaroslav
09.01.2019
14:58:36
хоть и через неделю бросаю питон)

Sfy
09.01.2019
15:00:55
Что отличает кодера от говнокодера?
Не абстрактно "он хорошо пишет код", а более содержательно.

Pavel Tyavin
09.01.2019
15:01:07

Denis
09.01.2019
15:01:35

Anton
09.01.2019
15:01:41
кол-во опыта
кол-во законченных проектов

Pavel Tyavin
09.01.2019
15:02:27
Уровень зарплаты
- . По-моему и за большые барыши можно писать что-то неподдерживаемое

❤️ Yaroslav
09.01.2019
15:02:42
думаю ничто из перечисленого, есть говнокодеры в гугле с офигенной зп и 10 лет стажа
и есть студент который божественно пишет на хаскеле

Anton
09.01.2019
15:04:39
скажу такое, человек может стать говнокодером если он пришел в проект у которого структура говно и чтобы придерживаться проекта ему приходиться писать говно

Sfy
09.01.2019
15:07:40
Что вообще делать, чтобы не писать говно?
Как научиться писать не просто работающее, а чтобы поддерживать было легко и читать + оптимизировать?
Есть какие-то достойные книги, которые реально меняют извилины?
Только без типовых вбросов рекомендованной литературы из ВУЗа, которую вы не читали.
Что-то, что вам реально помогло.

Denis
09.01.2019
15:08:16
По литературе традиционно советуют какой-нибудь "Совершенный код"

Владимир
09.01.2019
15:09:00

Denis
09.01.2019
15:09:07

Hot
09.01.2019
15:09:23

Sfy
09.01.2019
15:09:42
Я хочу то, что вы РЕАЛЬНО прочитали и РЕАЛЬНО словили с чтения профит.
Если у кого-то из вас такое есть.

Google

Sfy
09.01.2019
15:09:57

Anton
09.01.2019
15:09:57

Denis
09.01.2019
15:10:19

Anton
09.01.2019
15:10:59
вот книга
https://ideafix.name/wp-content/uploads/stuff/book51.pdf

В.
09.01.2019
15:27:45
Ребят, нужно эмулировать вход на FB и спарсить лайки под фотографией (список ников, кто лайкнул). Как мне это лучше сделать? Может есть примеры подобных действий? То же самое с Twitter нужно провернуть.