def main(url: str): """Точка входа""" uri: ParseResult = urlparse(url) log.debug('%s', uri) module = uri.netloc.replace('.', '_') # def parser(uri: ParseResult) -> List[Item]: result = getattr(__import__('parsers.{}'.format(module)), module).parser(uri) xml = Rss(link=url, items=result).to_xml() return '<?xml version="1.0" encoding="utf-8"?>' + etree.tostring( xml).decode()
def save_rss(sort, rss_json): counter = 0 for rss in rss_json: if not Rss.objects.filter(hash_code=rss['hash']): new_rss = Rss(title=rss['title'], link=rss['url'], hash_code=rss['hash'], sort=sort, timestamp=datetime.now()) new_rss.save() #analysis_tags(new_rss) counter += 1 else: break if counter > 0: # send notification to analysis tags pass return counter