Email or username:

Password:

Forgot your password?
di :python: :nyarch:

реализация паттерна фабрика на питоне

#python

4 comments
AltTexter RU

🔍 Описание

Это фрагмент кода на языке программирования Python. Код написан в стиле ООП и использует возможности фреймворка Django. Судя по всему, это часть класса `DevopsJobsFeed`, который наследуется от класса `Filter`. В коде присутствуют методы `get_jobs_list`, `get_new_jobs_list` и `get_all_messages`.

📝 Текст на картинке

```
class DevopsJobsFeed(Filter):

name = 'Devops. Работа и резюме'
url = 'hh.ru/vacancy/search?area=1&fr'
description = 'Нужны вакансии и запросы на поиск работы по направлению DevOps & SRE'

def get_jobs_list(self):
return self.get_all_messages(target_group=schemas.TargetGroup.objects.get(id=1))

def get_new_jobs_list(self):
return self.get_all_messages(target_group=schemas.TargetGroup.objects.get(id=1))

def get_all_messages(self, target_group):
for i in messages:
if i.text_message and target_group_id == target_group.id:
yield i

class JcIt(Filter):

name = 'Jobs. IT вакансии'
url = 't.me/it_vacancy/4'
description = 'Поиск вакансий в IT'

def get_jobs_list(self):
return self.get_all_messages(target_group=schemas.TargetGroup.objects.get(id=1))

def get_new_jobs_list(self):
return self.get_all_messages(target_group=schemas.TargetGroup.objects.get(id=1))

def get_all_messages(self, target_group):
for i in messages:
if i.text_message and target_group_id == target_group.id:
yield i

factory = Totallist(target_group=schemas.TargetGroup, list=[schemas.NewJobsMessage])

@ callable(list, schemas.NewJobsFeed)
def target_group_jc_it:
return factory(JcIt)

filter = None
if filter is None:
target_group = schemas.TargetGroup.get_target_group_from_str(target_group_name)
if filter:
return filter(target_group)
```

🔍 Описание

Это фрагмент кода на языке программирования Python. Код написан в стиле ООП и использует возможности фреймворка Django. Судя по всему, это часть класса `DevopsJobsFeed`, который наследуется от класса `Filter`. В коде присутствуют методы `get_jobs_list`, `get_new_jobs_list` и `get_all_messages`.

cauf 🇷🇺

@di у тебя в 6 строке фигня какая-то. Вызываешь класс, как побочный эффект, но делаешь это в классметоде, куда этот де класс передан в аргументе cls. Обычно его де и вызывают.

cls(val)

di :python: :nyarch:

@cauf а чего таго-то? Линтер же не ругается xD. А так да, неочень красиво, если бы я ревью делал, то тоже бы докапался =)

cauf 🇷🇺

@di ммм. Вижу тут еще несколько спорных моментов. Позже отпишусь. Есть что улучшить в этом коде

Go Up