Beispiel #1
0
def send_new_posts_from_web(items, sourse_site):
    db = SQLighter(DATABASE)
    last_id = None
    for key, item in items['text'].items():
        if db.add_event((key, SOURCES[sourse_site])):
            body = '\n'.join(item)
            target_group = items['target_level'][key]
            target_news = items['target_news'][key]

            text = '#{}\n{} {}\n{}'.format(sourse_site, target_group,
                                           target_news, body)

            target_level = str(
                text_worker.get_target_group([body], described=False)[0])
            target_news = str(
                text_worker.get_news_group([body], described=False)[0])

            bot.send_message(
                CHANNEL_NAME,
                text,
                disable_notification=is_news_irrelevant(target_news))
            text_worker.write_text_to_json(key,
                                           target_level=target_level,
                                           target_news=target_news,
                                           text=[body])
        else:
            logging.info('New last_id (website) in public {!s} is {!s}'.format(
                sourse_site, key))
            break
        time.sleep(1)
    return
Beispiel #2
0
def send_new_posts_from_vk(items, public):
    db = SQLighter(DATABASE)
    last_id = None
    for item in items:
        if db.add_event((str(item['id']), SOURCES[public])):
            link = '{!s}{!s}'.format(LINKS[public], item['id'])

            target_level = str(
                text_worker.get_target_group([item['text']],
                                             described=False)[0])

            target_news = str(
                text_worker.get_news_group([item['text']], described=False)[0])

            tags = []
            if public == 'mmspbu':
                tags = get_hashtag_from_mmspbu(item['text'])

            if not tags:
                tags = [
                    text_worker.get_news_describer()[target_news],
                    text_worker.get_target_describer()[target_level]
                ]

            tags = map(lambda x: x.replace('_', '\_'), tags)
            tags_string = ' '.join(tags)
            text = "#{}\n{}\n[Оригинал]({})".format(public, tags_string, link)

            bot.send_message(
                CHANNEL_NAME,
                text,
                disable_notification=is_news_irrelevant(target_news),
                parse_mode='Markdown')
            text_worker.write_text_to_json(str(item['id']) + '_' +
                                           str(SOURCES[public]),
                                           target_level=target_level,
                                           target_news=target_news,
                                           text=[item['text']])
        else:
            logging.info('New last_id (VK) in public {} is {!s}'.format(
                public, item['id']))
            break
        time.sleep(1)
    return