πŸ” ОписаниС

Π­Ρ‚ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π½Π° языкС программирования 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)
```